IronXL ハウツー 範囲を選択 C#でExcelの範囲を選択する方法 カーティス・チャウ 更新日:2026年1月5日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronXLはC#開発者がOffice Interopに依存することなくExcelの範囲、行、列を選択、操作することを可能にします。 範囲選択にはworkSheet["A1:C3"]、行にはGetRow()、列にはGetColumn()のような単純な構文をプログラムで使用してください。 クイックスタート: IronXLでセル範囲をワンラインで選択する IronXLワークシートでGetRangeを一回呼び出すだけで、"A1:C3"のような矩形範囲を取得できます—ループも手間も不要です。 複数のセルを一度に操作する最速の方法です。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronXL をインストールします PM > Install-Package IronXL.Excel このコード スニペットをコピーして実行します。 var range = workSheet.GetRange("A1:C3"); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう 30日間無料トライアル ### 最小限のワークフロー(5ステップ) 範囲を選択するためのC#ライブラリをダウンロードする WorkSheetオブジェクトの直後にworkSheet ["A2:B8"]を使用してセルの範囲を選択します。 GetRowメソッドを使用してワークシートの行を選択します GetColumnメソッドを使用して、指定されたワークシートの列を選択します。 "+"演算子で範囲を簡単に結合できます IronXLで異なる種類の範囲を選択するにはどうすればよいですか? IronXL.Excelでは、ソート、計算、集計など、選択した範囲に対してさまざまな操作を行うことができます。 このライブラリは、Excelのネイティブ機能を反映しつつ、プログラムによる制御を提供する範囲選択のための直感的なメソッドを提供します。 範囲選択はExcelの多くの操作の基礎となります。 数学的計算を実行する場合でも、書式を適用する場合でも、データを抽出する場合でも、正しいセルを選択することが最初のステップです。IronXLは柔軟な範囲選択APIによってこのプロセスを簡単にします。 ご注意セルの値を変更または移動するメソッドを適用すると、影響を受ける範囲、行、または列の値もそれに応じて更新されます。 ヒントIronXL では、 '+' 演算子を使用して複数の IronXL.Ranges.Range を組み合わせることができます。 長方形のセル範囲を選択するにはどうすればよいですか? セルA2からB8までの範囲を選択するには、次のコードを使用できます: :path=/static-assets/excel/content-code-examples/how-to/select-range-range.cs using IronXL; using System.Linq; WorkBook workBook = WorkBook.Load("sample.xls"); WorkSheet workSheet = workBook.WorkSheets.First(); // Get range from worksheet var range = workSheet["A2:B8"]; Imports IronXL Imports System.Linq Private workBook As WorkBook = WorkBook.Load("sample.xls") Private workSheet As WorkSheet = workBook.WorkSheets.First() ' Get range from worksheet Private range = workSheet("A2:B8") $vbLabelText $csharpLabel 選択した範囲での作業 一度範囲を選択すると、IronXLは実行できる多くの操作を提供します: using IronXL; using System; using System.Linq; // Load an existing spreadsheet WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.WorkSheets.First(); // Select a range and perform operations var range = workSheet["A1:C5"]; // Apply formatting to the entire range range.Style.BackgroundColor = "#E8F5E9"; range.Style.Font.Bold = true; // Iterate through cells in the range foreach (var cell in range) { Console.WriteLine($"Cell {cell.AddressString}: {cell.Value}"); } // Get sum of numeric values in the range decimal sum = range.Sum(); Console.WriteLine($"Sum of range: {sum}"); using IronXL; using System; using System.Linq; // Load an existing spreadsheet WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.WorkSheets.First(); // Select a range and perform operations var range = workSheet["A1:C5"]; // Apply formatting to the entire range range.Style.BackgroundColor = "#E8F5E9"; range.Style.Font.Bold = true; // Iterate through cells in the range foreach (var cell in range) { Console.WriteLine($"Cell {cell.AddressString}: {cell.Value}"); } // Get sum of numeric values in the range decimal sum = range.Sum(); Console.WriteLine($"Sum of range: {sum}"); Imports IronXL Imports System Imports System.Linq ' Load an existing spreadsheet Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") Dim workSheet As WorkSheet = workBook.WorkSheets.First() ' Select a range and perform operations Dim range = workSheet("A1:C5") ' Apply formatting to the entire range range.Style.BackgroundColor = "#E8F5E9" range.Style.Font.Bold = True ' Iterate through cells in the range For Each cell In range Console.WriteLine($"Cell {cell.AddressString}: {cell.Value}") Next ' Get sum of numeric values in the range Dim sum As Decimal = range.Sum() Console.WriteLine($"Sum of range: {sum}") $vbLabelText $csharpLabel スプレッドシートのより複雑な操作については、包括的な API ドキュメントを参照してください。 行全体を選択するにはどうすればよいですか? 4行目を選択するには、ゼロベースのインデックスを使用してGetRow(3)メソッドを使用できます。 これは、他の行の対応するセルが空であっても、4行目のすべてのセルを含みます。 :path=/static-assets/excel/content-code-examples/how-to/select-range-row.cs using IronXL; using System.Linq; WorkBook workBook = WorkBook.Load("sample.xls"); WorkSheet workSheet = workBook.WorkSheets.First(); // Get row from worksheet var row = workSheet.GetRow(3); Imports IronXL Imports System.Linq Private workBook As WorkBook = WorkBook.Load("sample.xls") Private workSheet As WorkSheet = workBook.WorkSheets.First() ' Get row from worksheet Private row = workSheet.GetRow(3) $vbLabelText $csharpLabel 行選択は、データを一行ずつ処理する必要がある場合に特に便利です。例えば、分析のためにスプレッドシートデータをロードするときなどです: using IronXL; using System; WorkBook workBook = WorkBook.Load("data.xlsx"); WorkSheet workSheet = workBook.WorkSheets.First(); // Process each row for (int i = 0; i < workSheet.RowCount; i++) { var row = workSheet.GetRow(i); // Skip empty rows if (row.IsEmpty) continue; // Process row data foreach (var cell in row) { // Your processing logic here Console.Write($"{cell.Value}\t"); } Console.WriteLine(); } using IronXL; using System; WorkBook workBook = WorkBook.Load("data.xlsx"); WorkSheet workSheet = workBook.WorkSheets.First(); // Process each row for (int i = 0; i < workSheet.RowCount; i++) { var row = workSheet.GetRow(i); // Skip empty rows if (row.IsEmpty) continue; // Process row data foreach (var cell in row) { // Your processing logic here Console.Write($"{cell.Value}\t"); } Console.WriteLine(); } Imports IronXL Imports System Imports System.Linq Dim workBook As WorkBook = WorkBook.Load("data.xlsx") Dim workSheet As WorkSheet = workBook.WorkSheets.First() ' Process each row For i As Integer = 0 To workSheet.RowCount - 1 Dim row = workSheet.GetRow(i) ' Skip empty rows If row.IsEmpty Then Continue For ' Process row data For Each cell In row ' Your processing logic here Console.Write($"{cell.Value}" & vbTab) Next Console.WriteLine() Next $vbLabelText $csharpLabel 列全体を選択するにはどうすればよいですか? C列を選択するには、GetColumn(2)メソッドを使用するか、workSheet["C:C"]として範囲アドレスを指定します。 GetRowメソッドと同様に、指定された列が埋まっているかどうかにかかわらず、関連するすべてのセルを含めます。 :path=/static-assets/excel/content-code-examples/how-to/select-range-column.cs using IronXL; using System.Linq; WorkBook workBook = WorkBook.Load("sample.xls"); WorkSheet workSheet = workBook.WorkSheets.First(); // Get column from worksheet var column = workSheet.GetColumn(2); Imports IronXL Imports System.Linq Private workBook As WorkBook = WorkBook.Load("sample.xls") Private workSheet As WorkSheet = workBook.WorkSheets.First() ' Get column from worksheet Private column = workSheet.GetColumn(2) $vbLabelText $csharpLabel . ヒントすべての行と列のインデックス位置は、ゼロベースのインデックスに従います。 列の選択は、財務報告書やデータベースのエクスポートのような列データを扱う際に非常に有用です。 計算列のある新しいスプレッドシートを作成するときに使用するかもしれません: using IronXL; using System; // Create a new workbook WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("Data"); // Add header row workSheet["A1"].Value = "Quantity"; workSheet["B1"].Value = "Price"; workSheet["C1"].Value = "Total"; // Add sample data for (int i = 2; i <= 10; i++) { workSheet[$"A{i}"].Value = i - 1; workSheet[$"B{i}"].Value = 10.5 * (i - 1); } // Select the Total column and apply formula var totalColumn = workSheet.GetColumn(2); // Column C for (int i = 2; i <= 10; i++) { workSheet[$"C{i}"].Formula = $"=A{i}*B{i}"; } workBook.SaveAs("calculations.xlsx"); using IronXL; using System; // Create a new workbook WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("Data"); // Add header row workSheet["A1"].Value = "Quantity"; workSheet["B1"].Value = "Price"; workSheet["C1"].Value = "Total"; // Add sample data for (int i = 2; i <= 10; i++) { workSheet[$"A{i}"].Value = i - 1; workSheet[$"B{i}"].Value = 10.5 * (i - 1); } // Select the Total column and apply formula var totalColumn = workSheet.GetColumn(2); // Column C for (int i = 2; i <= 10; i++) { workSheet[$"C{i}"].Formula = $"=A{i}*B{i}"; } workBook.SaveAs("calculations.xlsx"); Imports IronXL Imports System ' Create a new workbook Dim workBook As WorkBook = WorkBook.Create() Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Data") ' Add header row workSheet("A1").Value = "Quantity" workSheet("B1").Value = "Price" workSheet("C1").Value = "Total" ' Add sample data For i As Integer = 2 To 10 workSheet($"A{i}").Value = i - 1 workSheet($"B{i}").Value = 10.5 * (i - 1) Next ' Select the Total column and apply formula Dim totalColumn = workSheet.GetColumn(2) ' Column C For i As Integer = 2 To 10 workSheet($"C{i}").Formula = $"=A{i}*B{i}" Next workBook.SaveAs("calculations.xlsx") $vbLabelText $csharpLabel 複数の範囲を結合するにはどうすればよいですか? IronXLは'+'オペレーターを使用して複数のIronXL.Ranges.Rangeオブジェクトを組み合わせる柔軟性を提供します。 演算子'+'を使用すると、簡単に範囲を連結またはマージして新しい範囲を作成することができます。 この機能は、連続しないセルに操作を適用する必要がある場合に特に便利です。 高度な結合テクニックについては、combining Excel ranges exampleを参照してください。 ご注意"+"演算子を使用して行と列を直接結合することはサポートされていません。 範囲を組み合わせると、元の範囲が変更されます。 以下のコード スニペットでは、結合された範囲を含むように変数rangeが変更されます。 :path=/static-assets/excel/content-code-examples/how-to/select-range-combine-range.cs using IronXL; using System.Linq; WorkBook workBook = WorkBook.Load("sample.xls"); WorkSheet workSheet = workBook.WorkSheets.First(); // Get range from worksheet var range = workSheet["A2:B2"]; // Combine two ranges var combinedRange = range + workSheet["A5:B5"]; Imports IronXL Imports System.Linq Private workBook As WorkBook = WorkBook.Load("sample.xls") Private workSheet As WorkSheet = workBook.WorkSheets.First() ' Get range from worksheet Private range = workSheet("A2:B2") ' Combine two ranges Private combinedRange = range + workSheet("A5:B5") $vbLabelText $csharpLabel 高度な範囲選択テクニック IronXLはExcelの機能を反映した高度な範囲選択シナリオをサポートしています: using IronXL; using System; using System.Linq; WorkBook workBook = WorkBook.Load("data.xlsx"); WorkSheet workSheet = workBook.WorkSheets.First(); // Select multiple non-adjacent ranges var headerRange = workSheet["A1:E1"]; var dataRange1 = workSheet["A5:E10"]; var dataRange2 = workSheet["A15:E20"]; // Combine ranges for batch operations var combinedData = dataRange1 + dataRange2; // Apply consistent formatting across combined ranges combinedData.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin; combinedData.Style.Font.Height = 11; // Copy formatting from one range to another var sourceFormat = headerRange.Style; dataRange1.First().Style = sourceFormat; using IronXL; using System; using System.Linq; WorkBook workBook = WorkBook.Load("data.xlsx"); WorkSheet workSheet = workBook.WorkSheets.First(); // Select multiple non-adjacent ranges var headerRange = workSheet["A1:E1"]; var dataRange1 = workSheet["A5:E10"]; var dataRange2 = workSheet["A15:E20"]; // Combine ranges for batch operations var combinedData = dataRange1 + dataRange2; // Apply consistent formatting across combined ranges combinedData.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin; combinedData.Style.Font.Height = 11; // Copy formatting from one range to another var sourceFormat = headerRange.Style; dataRange1.First().Style = sourceFormat; Imports IronXL Imports System Imports System.Linq Dim workBook As WorkBook = WorkBook.Load("data.xlsx") Dim workSheet As WorkSheet = workBook.WorkSheets.First() ' Select multiple non-adjacent ranges Dim headerRange = workSheet("A1:E1") Dim dataRange1 = workSheet("A5:E10") Dim dataRange2 = workSheet("A15:E20") ' Combine ranges for batch operations Dim combinedData = dataRange1 + dataRange2 ' Apply consistent formatting across combined ranges combinedData.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin combinedData.Style.Font.Height = 11 ' Copy formatting from one range to another Dim sourceFormat = headerRange.Style dataRange1.First().Style = sourceFormat $vbLabelText $csharpLabel 数式を扱うとき、範囲選択はさらに強力になります: // Select a range for formula application var calculationRange = workSheet["D2:D20"]; // Apply formulas that reference other ranges for (int i = 2; i <= 20; i++) { workSheet[$"D{i}"].Formula = $"=SUM(A{i}:C{i})"; } // Use range in aggregate functions var sumRange = workSheet["B2:B20"]; decimal totalSum = sumRange.Sum(); decimal average = sumRange.Avg(); decimal max = sumRange.Max(); // Select a range for formula application var calculationRange = workSheet["D2:D20"]; // Apply formulas that reference other ranges for (int i = 2; i <= 20; i++) { workSheet[$"D{i}"].Formula = $"=SUM(A{i}:C{i})"; } // Use range in aggregate functions var sumRange = workSheet["B2:B20"]; decimal totalSum = sumRange.Sum(); decimal average = sumRange.Avg(); decimal max = sumRange.Max(); Imports System ' Select a range for formula application Dim calculationRange = workSheet("D2:D20") ' Apply formulas that reference other ranges For i As Integer = 2 To 20 workSheet($"D{i}").Formula = $"=SUM(A{i}:C{i})" Next ' Use range in aggregate functions Dim sumRange = workSheet("B2:B20") Dim totalSum As Decimal = sumRange.Sum() Dim average As Decimal = sumRange.Avg() Dim max As Decimal = sumRange.Max() $vbLabelText $csharpLabel レンジ選択のベストプラクティス IronXLで範囲を扱う際には、パフォーマンスと信頼性のヒントを考慮してください: 1.必要なセルが正確に分かっている場合は、特定の範囲アドレスを使用してください。 これは、行や列全体を選択するよりも効率的です。 2.実行時エラーを避けるために、選択する前に範囲の境界を検証してください: // Check if range exists before selection int lastRow = workSheet.RowCount; int lastColumn = workSheet.ColumnCount; if (lastRow >= 10 && lastColumn >= 3) { var safeRange = workSheet["A1:C10"]; // Process range } // Check if range exists before selection int lastRow = workSheet.RowCount; int lastColumn = workSheet.ColumnCount; if (lastRow >= 10 && lastColumn >= 3) { var safeRange = workSheet["A1:C10"]; // Process range } ' Check if range exists before selection Dim lastRow As Integer = workSheet.RowCount Dim lastColumn As Integer = workSheet.ColumnCount If lastRow >= 10 AndAlso lastColumn >= 3 Then Dim safeRange = workSheet("A1:C10") ' Process range End If $vbLabelText $csharpLabel 3.範囲反復を活用して、効率的に処理してください: var dataRange = workSheet["A1:E100"]; // Efficient: Process in batches foreach (var cell in dataRange) { if (cell.IsNumeric) { cell.Value = (decimal)cell.Value * 1.1; // 10% increase } } var dataRange = workSheet["A1:E100"]; // Efficient: Process in batches foreach (var cell in dataRange) { if (cell.IsNumeric) { cell.Value = (decimal)cell.Value * 1.1; // 10% increase } } Dim dataRange = workSheet("A1:E100") ' Efficient: Process in batches For Each cell In dataRange If cell.IsNumeric Then cell.Value = CType(cell.Value, Decimal) * 1.1D ' 10% increase End If Next $vbLabelText $csharpLabel セル範囲のコピーのような複雑なシナリオのために、IronXLは書式と数式を維持する特別なメソッドを提供します。 IronXLを使い始める あなたのプロジェクトでIronXL.Excelのさまざまな選択機能を使い始めるには、包括的なスタートガイドから始めてください。 NuGetパッケージマネージャ経由でIronXLをインストールしてください: Install-Package IronXL.Excel または.NET CLIを使用して: dotnet add package IronXL.Excel dotnet add package IronXL.Excel SHELL 範囲選択は、C#でのExcel操作の基礎を形成します。 IronXLの直感的なAPIを使えば、Office Interopのような複雑な操作なしに、Excelデータの選択、操作、変換を効率的に行うことができます。レポートの作成、データ分析、表計算作業の自動化など、範囲選択をマスターすることで生産性が大幅に向上します。 よくある質問 C# を使用して Excel でセル範囲を選択するにはどうすればよいですか? IronXLでは、workSheet["A1:C3"]やworkSheet.GetRange("A1:C3")のような簡単な構文でセル範囲を選択することができます。これにより、Office Interopに依存することなく矩形の範囲を選択することができます。 プログラムで行や列全体を選択できますか? はい、IronXLはExcelワークシートの行と列全体を選択するGetRow()メソッドとGetColumn()メソッドを提供します。これらのメソッドは、Excelをインストールすることなく、行や列の選択をプログラムで制御することができます。 C#で複数のセル範囲を結合するには? IronXLでは'+'演算子を使って複数の範囲を結合することができます。この機能により、連続しないセル選択をプログラムで簡単に扱うことができます。 選択した範囲に対してどのような操作ができますか? IronXLで範囲を選択すると、並べ替え、数学的計算、書式の適用、セルの反復処理、合計の計算などのデータ集計を含むさまざまな操作を実行できます。 選択した範囲に書式を適用する方法を教えてください。 IronXLで範囲を選択した後、Styleプロパティを使って書式を適用することができます。例えば、range.Style.BackgroundColorで背景色を設定し、range.Style.Font.Bold = trueでテキストを太字にすることができます。 選択した範囲のセルを繰り返し処理できますか? はい、IronXLではforeachループを使って選択した範囲のセルを繰り返し処理することができます。各セルから値とアドレスにアクセスできるので、セルごとにデータを処理するのが簡単です。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 1,846,091 | バージョン: 2026.2 リリース NuGet 無料版 総ダウンロード数: 1,846,091 ライセンスを見る