如何在 Excel 中使用數學函數 | IronXL

如何在C#中使用IronXL進行Excel數學函數運算

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

IronXL允許數學聚合函數如Max直接在C#中對Excel數據進行運算。 計算總額並分析數據而不需使用Interop,在任何單元格範圍內使用簡單的一行方法。 無論是建立財務報表、分析銷售數據,還是處理科學測量,IronXL的內置數學函數簡化了.NET應用程式中的Excel自動化工作流程。

Max@@--AH2EG--@@

使用IronXL即時從任何範圍計算聚合值,如maximum。 這些一行方法使得分析數據快速且簡單,不需要樣板代碼。 程式庫處理所有解析並自動忽略非數字內容。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXl.Excel

    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內置函數相似的數學運算,使得在C#中操作Excel數據不需要安裝Microsoft Office。 以下是基本方法:

  • 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()方法定位範圍內的最大數字。 無論是在商業分析中識別峰值,在幾何計算中找出最大頂點,或在數學模型中確定上界,該函數都簡化了跨您的數據集的數據極值分析。

處理整年每日讀數(Max()調用:

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自動化的全面解決方案,無論是建立報告工具、數據分析系統,還是商務智慧儀表板。

常見問題解答

如何在 Excel 中使用 C# 計算單元格的總和?

使用 IronXL,您可以使用簡單的單行方法計算任何單元格範圍的總和:十進制總計 = workSheet["A1:A8"].Sum()。此方法可自動處理所有數值格式,包括整數、小數、貨幣值和百分比,同時忽略非數字內容。

C# 中有哪些數學函數可用於 Excel 資料分析?

IronXL 提供基本的數學運算,包括 Sum() 用於求總數、Avg() 用於求平均數、Min() 用於求最小值,以及 Max() 用於求最大值。這些函數反映 Excel 的內建功能,並可在任何儲存格範圍內無縫運作,而無需安裝 Microsoft Office。

我可以在沒有安裝 Microsoft Office 的情況下執行 Excel 計算嗎?

是的,IronXL 可讓您直接在 C# 中執行所有 Excel 數學函數,而不需要 Microsoft Office 或 Interop。該函式庫可獨立處理 Excel 檔案操作,因此非常適合伺服器環境和自動化工作流程。

IronXL 如何處理計算中的非數字值?

IronXL 自動排除所有數學計算中的非數字值。當使用 Sum()、Avg()、Min() 或 Max() 等函數時,函式庫會智慧地解析儲存格內容,並只包含有效的數值資料,以確保無須手動清理資料即可得到精確的結果。

用 C# 在 Excel 中分析數值資料的最快方法是什麼?

IronXL 的內建聚合功能可為大型資料集提供卓越的效能。只需選擇您的範圍,並呼叫 workSheet["A1:A100「].Sum() 或 workSheet[」B1:B100"].Max() 等方法。這些最佳化的方法比手動單元格迭代快很多。

我可以在特定行或列上使用這些數學函數嗎?

是的,IronXl.Excel 的數學函數適用於任何有效的 Excel 範圍選擇,包括整行、整列或自訂範圍。您可以在選擇語法中定義適當的範圍,從電子表格的特定區域匯集資料。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

準備好開始了嗎?
Nuget 下載 1,890,100 | 版本: 2026.3 剛剛發布

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronXl.Excel
執行範例 觀看您的資料變成試算表。