Excelで数式を使用する方法 | IronXL

IronXLでExcelのためにC#で数学関数を使う方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL は、C# 上で Excel データに対して Sum, Average, Min, そして Max などの数学的集計関数を使用できるようにします。 どのセル範囲でも、シンプルな 1 行メソッドを使用して、Interop なしで合計を計算し、数値データを分析します。 財務レポートの作成、販売データの分析、科学的測定の処理など、IronXLに組み込まれた数学関数は.NETアプリケーションのExcel自動化ワークフローを合理化します。

クイックスタート:IronXL で SumMax をワンラインで実行する

IronXL を使用して任意の範囲から summaximum のような集計値を瞬時に計算します。 これらの一行メソッドは、定型的なコードなしで数値データを迅速かつ簡単に分析することを可能にします。 ライブラリはすべての解析を処理し、数値以外の内容は自動的に無視されます。

  1. IronXL をNuGetパッケージマネージャでインストール

    PM > Install-Package IronXL.Excel
  2. このコード スニペットをコピーして実行します。

    decimal total = workSheet["A1:A8"].Sum();
    decimal maximum = workSheet["A1:A8"].Max();
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronXL を使い始めましょう無料トライアル

    arrow pointer


C#でExcelの集計関数を使用するには?

Excelのスプレッドシートでセル範囲を扱うとき、さまざまな集計関数を利用して計算を行うことができます。 IronXLはExcelの組み込み関数を反映した数学演算を提供し、Microsoft Officeをインストールすることなく、C#でExcelのデータを簡単に操作することができます。 以下は、不可欠な方法です:

  • Sum() メソッドは選択されたセルの合計を計算します。
  • Avg() メソッドは選択されたセルの平均値を決定します。
  • Min() メソッドは選択されたセル内の最小値を識別します。
  • Max() メソッドは選択されたセル内の最大値を見つけます。

これらの関数は、データを分析し、Excelスプレッドシートから意味のある洞察を導き出すための貴重なツールです。 整数、小数、通貨価値、パーセンテージなど、さまざまな数値フォーマットを自動的に処理します。 大規模なデータセットを処理する場合、これらの方法は手作業によるセルの反復と比較して卓越したパフォーマンスを提供します。

ご注意非数値は計算に含まれません。

:path=/static-assets/excel/content-code-examples/how-to/math-functions-math-functions.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get range from worksheet
var range = workSheet["A1:A8"];

// Calculate the sum of numeric cells within the range
decimal sum = range.Sum();

// Calculate the average value of numeric cells within the range
decimal avg = range.Avg();

// Identify the maximum value among numeric cells within the range
decimal max = range.Max();

// Identify the minimum value among numeric cells within the range
decimal min = range.Min();
$vbLabelText   $csharpLabel

どの数学関数が利用できますか?

IronXLはコアとなる集計機能を超えて、C# Excelワークフローとシームレスに統合する包括的な数学演算スイートをサポートしています。 各機能は、パフォーマンスと精度のために最適化されています:

Sum() メソッドは選択されたセルの合計を計算し、財務合計、在庫カウント、累積計算に最適です。 小数の精度を維持しながら、何千ものセルを効率的に処理します。

Avg() メソッドは選択されたセルの平均値を決定し、平均スコア、平均売上高、統計分析の計算に理想的です。 この機能は、空のセルと数値以外の値を自動的に除外します。

Min() メソッドは選択されたセルの最小値を識別し、最低価格、最小限度、またはデータ分析における基準値を見つけるのに役立ちます。

Max() メソッドは選択されたセルの最大値を見つけ、ピーク値、最高スコア、またはデータセットの上限を特定するのに重要です。

これらの数学関数は、セルフォーマット数式サポートのようなIronXLの他の機能とシームレスに連携し、包括的なExcel自動化シナリオを可能にします。

C#で合計(トータル)を計算する方法は?

Sum() メソッドは、選択された範囲内のすべての数値の合計を計算し、セル間で数学的な加算操作 (Σ) を実行します。 これにより、大規模なデータセットにおける財務合計、在庫カウント、累積計算に最適です。

特定の範囲を対象として、ブラケット表記 ["B2:B50"] を使用してワンラインで合計を計算します。

using IronXL;

WorkBook workBook = WorkBook.Load("sales-data.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Calculate total sales from range
decimal totalSales = sheet["B2:B50"].Sum();
Console.WriteLine($"Total Sales: ${totalSales:N2}");
using IronXL;

WorkBook workBook = WorkBook.Load("sales-data.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Calculate total sales from range
decimal totalSales = sheet["B2:B50"].Sum();
Console.WriteLine($"Total Sales: ${totalSales:N2}");
$vbLabelText   $csharpLabel

ご注意空のセルおよび非数値は自動的に計算から除外されます。

C#で平均を計算する方法は?

Avg() メソッドは選択されたセルの算術平均を計算し、平均スコア、平均売上高、データセットにわたる統計分析の計算に最適です。

このメソッドは、正確な統計計算のために完全な精度で decimal 値を返します:

using IronXL;

WorkBook workBook = WorkBook.Load("student-grades.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Calculate average grade for a student
decimal avgGrade = sheet["C2:C10"].Avg();
Console.WriteLine($"Average Grade: {avgGrade:F2}");
using IronXL;

WorkBook workBook = WorkBook.Load("student-grades.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Calculate average grade for a student
decimal avgGrade = sheet["C2:C10"].Avg();
Console.WriteLine($"Average Grade: {avgGrade:F2}");
$vbLabelText   $csharpLabel

ご注意平均は数値を含むセルのみから計算され、空またはテキストセルは自動的にスキップされます。

C#で最小値を見つける方法は?

Min() メソッドは範囲内の最小の数値を識別します。 最安値や最小限度を見つけるビジネスアプリケーションを超え、座標データの頂点を識別する、数学的文脈での境界値の決定や統計分析の基準値確立など、価値があります。

すぐに数百の値をスキャンするために任意の範囲で Min() を直接適用します:

using IronXL;

WorkBook workBook = WorkBook.Load("product-prices.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Find the lowest price
decimal lowestPrice = sheet["D2:D100"].Min();
Console.WriteLine($"Lowest Price: ${lowestPrice:N2}");
using IronXL;

WorkBook workBook = WorkBook.Load("product-prices.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Find the lowest price
decimal lowestPrice = sheet["D2:D100"].Min();
Console.WriteLine($"Lowest Price: ${lowestPrice:N2}");
$vbLabelText   $csharpLabel

C#で最大値を見つける方法は?

Max() メソッドは範囲内の最大数値を見つけます。 ビジネス分析でのピーク値の特定や、幾何学的計算での最大頂点の発見、または数学モデルでの上限の決定に関係なく、この機能はデータの極値分析を簡素化します。

E2:E365 の呼び出しを行うことで、毎日の測定値の年全体のような大規模なデータセットを処理します:

using IronXL;

WorkBook workBook = WorkBook.Load("temperature-data.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Find the highest temperature recorded
decimal maxTemp = sheet["E2:E365"].Max();
Console.WriteLine($"Highest Temperature: {maxTemp:F1}°F");
using IronXL;

WorkBook workBook = WorkBook.Load("temperature-data.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Find the highest temperature recorded
decimal maxTemp = sheet["E2:E365"].Max();
Console.WriteLine($"Highest Temperature: {maxTemp:F1}°F");
$vbLabelText   $csharpLabel

どのようなデータ型を集約できますか?

これらの関数は、データを分析し、Excelスプレッドシートから洞察を得るための貴重なツールです。 IronXLの数学関数はExcelファイルによく見られる様々な数値データ型をサポートしています:

  • 整数および小数点数: 標準数値は完全な精度で処理されます
  • 通貨の値: 通貨記号が正しく解析された金額
  • 百分率: 計算時に適切に処理されるパーセンテージの値
  • 科学的表記: 科学的形式未統一の大きな数値または小さな数値に対応
  • 日付シリアル番号: 必要に応じて集計される Excel の内部日付表現

データ型が混在している場合、IronXLはインテリジェントに変換を処理し、正確な結果を保証します。 複数のワークシートやワークブックを含む複雑なシナリオでは、複数の Excel ファイルを同時に読み込んで処理することが簡単にできます。

以下は、異なる数値フォーマット間の集計を示す例です:

using IronXL;

// Load workbook containing various numeric formats
WorkBook workBook = WorkBook.Load("financial-data.xlsx");
WorkSheet salesSheet = workBook.GetWorkSheet("Q4Sales");

// Calculate total revenue from currency-formatted cells
decimal totalRevenue = salesSheet["B2:B50"].Sum();
Console.WriteLine($"Total Q4 Revenue: ${totalRevenue:N2}");

// Find the highest individual sale amount
decimal maxSale = salesSheet["B2:B50"].Max();
Console.WriteLine($"Largest Sale: ${maxSale:N2}");

// Calculate average sale amount
decimal avgSale = salesSheet["B2:B50"].Avg();
Console.WriteLine($"Average Sale: ${avgSale:N2}");

// Process percentage data (e.g., tax rates)
decimal avgTaxRate = salesSheet["D2:D50"].Avg();
Console.WriteLine($"Average Tax Rate: {avgTaxRate:P2}");
using IronXL;

// Load workbook containing various numeric formats
WorkBook workBook = WorkBook.Load("financial-data.xlsx");
WorkSheet salesSheet = workBook.GetWorkSheet("Q4Sales");

// Calculate total revenue from currency-formatted cells
decimal totalRevenue = salesSheet["B2:B50"].Sum();
Console.WriteLine($"Total Q4 Revenue: ${totalRevenue:N2}");

// Find the highest individual sale amount
decimal maxSale = salesSheet["B2:B50"].Max();
Console.WriteLine($"Largest Sale: ${maxSale:N2}");

// Calculate average sale amount
decimal avgSale = salesSheet["B2:B50"].Avg();
Console.WriteLine($"Average Sale: ${avgSale:N2}");

// Process percentage data (e.g., tax rates)
decimal avgTaxRate = salesSheet["D2:D50"].Avg();
Console.WriteLine($"Average Tax Rate: {avgTaxRate:P2}");
$vbLabelText   $csharpLabel

行や列に関数を適用できますか?

より柔軟性を持たせるために、これらの関数は単一または複数の行や列に適用することもできます。 行や列全体を含む範囲の選択については、こちらをご覧ください。 この機能は、次元固有の計算を必要とする構造化データを扱う場合に特に役立ちます。

数学関数を適用できます:

  • 全体の列: 完全なデータ列の合計を計算
  • 全体の行: 行ベースのレコードにわたって集計
  • 複数の範囲: 複雑な計算のために複数の選択を組み合わせ
  • 名前付き範囲: コードの維持のために名前付き範囲を使用

以下は、行と列の集約を示す実用的な例です:

using IronXL;

WorkBook workBook = WorkBook.Load("quarterly-report.xlsx");
WorkSheet dataSheet = workBook.DefaultWorkSheet;

// Calculate sum for entire column (e.g., all sales data)
decimal columnTotal = dataSheet.GetColumn(1).Sum(); // Column B

// Calculate average for entire row (e.g., monthly averages)
decimal rowAverage = dataSheet.GetRow(4).Avg(); // Row 5

// Work with multiple columns simultaneously
for (int col = 1; col <= 12; col++) // Columns B through M
{
    decimal monthlyTotal = dataSheet.GetColumn(col).Sum();
    Console.WriteLine($"Month {col} Total: ${monthlyTotal:N2}");
}

// Calculate grand total across multiple ranges
var q1Range = dataSheet["B2:D50"];
var q2Range = dataSheet["E2:G50"];
decimal firstHalfTotal = q1Range.Sum() + q2Range.Sum();
using IronXL;

WorkBook workBook = WorkBook.Load("quarterly-report.xlsx");
WorkSheet dataSheet = workBook.DefaultWorkSheet;

// Calculate sum for entire column (e.g., all sales data)
decimal columnTotal = dataSheet.GetColumn(1).Sum(); // Column B

// Calculate average for entire row (e.g., monthly averages)
decimal rowAverage = dataSheet.GetRow(4).Avg(); // Row 5

// Work with multiple columns simultaneously
for (int col = 1; col <= 12; col++) // Columns B through M
{
    decimal monthlyTotal = dataSheet.GetColumn(col).Sum();
    Console.WriteLine($"Month {col} Total: ${monthlyTotal:N2}");
}

// Calculate grand total across multiple ranges
var q1Range = dataSheet["B2:D50"];
var q2Range = dataSheet["E2:G50"];
decimal firstHalfTotal = q1Range.Sum() + q2Range.Sum();
$vbLabelText   $csharpLabel

高度なExcel操作のシナリオのために、これらの数学関数をグラフの作成条件付き書式の適用異なるフォーマットへのエクスポートのような他のIronXL機能と組み合わせてください。 IronXLは.NETアプリケーションでExcelを自動化するための包括的なソリューションであり、レポーティングツール、データ分析システム、ビジネスインテリジェンスダッシュボードを構築することができます。

よくある質問

C# を使用して Excel でセルの合計を計算するにはどうすればよいですか?

IronXLでは、シンプルな1行メソッドで任意のセル範囲の合計を計算することができます: decimal total = workSheet["A1:A8"].Sum().このメソッドは整数、小数、通貨価値、パーセンテージを含むすべての数値形式を自動的に処理し、数値以外の内容は無視します。

C#でExcelのデータ分析に使用できる数学関数は何ですか?

IronXLは、合計を求めるSum()、平均を求めるAvg()、最小値を求めるMin()、最大値を求めるMax()などの基本的な数学演算を提供します。これらの関数はExcelの組み込み機能を反映しており、Microsoft Officeのインストールを必要とせず、どのようなセル範囲でもシームレスに動作します。

Microsoft Officeがインストールされていなくても、Excelで計算できますか?

はい、IronXLはMicrosoft OfficeやInteropを必要とせず、C#でExcelのすべての数学関数を直接実行できます。このライブラリはExcelファイルの操作を独立して処理するため、サーバー環境や自動化されたワークフローに最適です。

IronXLは計算で数値以外をどのように扱いますか?

IronXLはすべての数学的計算から数値以外の値を自動的に除外します。Sum()、Avg()、Min()、Max()のような関数を使用する場合、ライブラリはセルの内容をインテリジェントに解析し、有効な数値データのみを含めます。

C#でExcelの数値データを分析する最速の方法は?

IronXLに組み込まれた集約関数は、大規模なデータセットに対して卓越したパフォーマンスを発揮します。範囲を選択し、workSheet["A1:A100"].Sum()やworkSheet["B1:B100"].Max()のようなメソッドを呼び出すだけです。これらの最適化されたメソッドは、手動でセルを反復するよりもはるかに高速です。

特定の行や列にこれらの数学関数を使用できますか?

IronXLの数学関数はエクセルの有効な範囲(行、列、カスタム範囲を含む)に対して機能します。選択構文で適切な範囲を定義することで、スプレッドシートの特定の領域からデータを集計することができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 1,913,565 | バージョン: 2026.3 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronXL.Excel
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。