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

如何使用 IronXl.Excel 在 C# 中使用數學函數

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

IronXL 允許直接在 C# 中對 Excel 資料使用數學聚合函數,例如 Min 以及 Max。 在任何儲存格範圍內使用簡單的單行方法計算總數和分析數值資料,而無需 Interop。 無論是建立財務報告、分析銷售資料或處理科學測量,IronXl.Excel 內建的數學功能都能在 .NET 應用程式中簡化 Excel 自動化工作流程。

快速入門:使用 IronXL 在一行中執行 SumMax

使用 IronXL,可立即從任何範圍計算 summaximum 等聚合值。 這些一行式方法可以快速輕鬆地分析數值數據,而無需編寫樣板程式碼。 函式庫會處理所有解析,並自動忽略非數字內容。

  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


如何在 Excel 中使用 C# 匯總函數?

在 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 的其他功能(如 單元格格式化 公式支援)無縫配合,實現全面的 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() 呼叫,即可處理大型資料集(例如整年的每日讀數 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 檔案中常見的各種數值資料類型:

  • 整數與十進位數:以完整精確度處理的標準數值
  • 貨幣值:貨幣金額應正確解析並包含貨幣符號
  • 百分比:計算中的百分比數值應妥善處理
  • 科學記法:支援以科學格式顯示大數或小數
  • 日期序列號: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.Excel 成為 .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 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 1,913,565 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

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