如何使用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


如何在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();
Imports IronXL
Imports System.Linq

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

' Get range from worksheet
Dim range = workSheet("A1:A8")

' Calculate the sum of numeric cells within the range
Dim sum As Decimal = range.Sum()

' Calculate the average value of numeric cells within the range
Dim avg As Decimal = range.Avg()

' Identify the maximum value among numeric cells within the range
Dim max As Decimal = range.Max()

' Identify the minimum value among numeric cells within the range
Dim min As Decimal = range.Min()
$vbLabelText   $csharpLabel

有哪些可用的數學函式?

除了核心聚合函式外,IronXL還支援全面的數學操作套件,無縫整合進C# Excel 工作流程。 每個函式都經過性能和精度的優化:

Sum()方法計算選定的儲存格總和,非常適合財務總計、庫存計數或累積計算。 它高效地處理數千個儲存格,同時保持小數精度。

Avg()方法決定選定儲存格的平均值,理想於計算平均分數、平均銷售資料或統計分析。 此函式自動排除空儲存格和非數值。

Min()方法識別選定儲存格中的最小數字,非常適合找到最低價格、最小門檻或基準值。

Max()方法找到選定儲存格中的最大數字,對於識別峰值、最高分數或資料集中的上限非常重要。

這些數學函式與IronXL的其他功能如儲存格格式公式支援無縫合作,啟用完整的Excel自動化方案。

如何在C#中計算總和?

Sum()方法計算選定範圍中所有數值的總和,執行儲存格的數學求和運算(Σ)。 這使得它非常適合財務總計、庫存計數和大型資料集的累積計算。

使用括號表示法["B2:B50"]來定位特定範圍,而且在一行中計算總和:

:path=/static-assets/excel/content-code-examples/how-to/math-functions-3.cs
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}");
Imports IronXL

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

' Calculate total sales from range
Dim totalSales As Decimal = sheet("B2:B50").Sum()
Console.WriteLine($"Total Sales: ${totalSales:N2}")
$vbLabelText   $csharpLabel

請注意空儲存格和非數值將自動從計算中排除。

如何在C#中計算平均值?

Avg()方法計算選定儲存格的算術平均值,非常適合計算平均分數、平均銷售資料或跨資料集的統計分析。

該方法返回decimal值,具有完整的精度,以用於精度統計計算:

:path=/static-assets/excel/content-code-examples/how-to/math-functions-4.cs
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}");
Imports IronXL

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

' Calculate average grade for a student
Dim avgGrade As Decimal = sheet("C2:C10").Avg()
Console.WriteLine($"Average Grade: {avgGrade:F2}")
$vbLabelText   $csharpLabel

請注意平均值僅從包含數值的儲存格計算,自動跳過空白或文字儲存格。

如何在C#中找到最小值?

Min()方法識別範圍內的最小數值。 除了業務應用如找到最低價格或最小門檻,這個函式在數學背景如確定下界、識別坐標資料中的頂點或者建立統計分析基準值時非常有用。

直接在任何範圍上應用Min()以瞬間掃描數百個值:

:path=/static-assets/excel/content-code-examples/how-to/math-functions-5.cs
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}");
Imports IronXL

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

' Find the lowest price
Dim lowestPrice As Decimal = sheet("D2:D100").Min()
Console.WriteLine($"Lowest Price: ${lowestPrice:N2}")
$vbLabelText   $csharpLabel

如何在C#中找到最大值?

Max()方法定位範圍內最大的數值。 無論是在商業分析中識別高峰值,在幾何計算中找到最大頂點,或確定數學模型中的上界,此函式簡化資料極值分析。

使用單一E2:E365):

:path=/static-assets/excel/content-code-examples/how-to/math-functions-6.cs
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");
Imports IronXL

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

' Find the highest temperature recorded
Dim maxTemp As Decimal = sheet("E2:E365").Max()
Console.WriteLine($"Highest Temperature: {maxTemp:F1}°F")
$vbLabelText   $csharpLabel

我可以聚合什麼型別的資料?

這些函式是分析資料和從Excel電子表格中獲取見解的重要工具。 IronXL的數學函式支援Excel文件中常見的各種數字資料型別:

  • 整數和小數:以完整精度處理的標準數值
  • 貨幣值:貨幣符號的金額正確解析
  • 百分比:適當處理計算中的百分比值
  • 科學記號:支援科學格式中的大或小數字
  • 日期序列號:需要時聚合Excel的內部日期表示

處理混合資料型別時,IronXL智能地處理轉換並確保結果的準確性。 針對涉及多個工作表或活頁簿的複雜情況,您可以輕鬆地同時載入和處理多個Excel文件

這是演示跨不同數字格式進行聚合的範例:

:path=/static-assets/excel/content-code-examples/how-to/math-functions-7.cs
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}");
Imports IronXL

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

' Calculate total revenue from currency-formatted cells
Dim totalRevenue As Decimal = salesSheet("B2:B50").Sum()
Console.WriteLine($"Total Q4 Revenue: {totalRevenue:N2}")

' Find the highest individual sale amount
Dim maxSale As Decimal = salesSheet("B2:B50").Max()
Console.WriteLine($"Largest Sale: {maxSale:N2}")

' Calculate average sale amount
Dim avgSale As Decimal = salesSheet("B2:B50").Avg()
Console.WriteLine($"Average Sale: {avgSale:N2}")

' Process percentage data (e.g., tax rates)
Dim avgTaxRate As Decimal = salesSheet("D2:D50").Avg()
Console.WriteLine($"Average Tax Rate: {avgTaxRate:P2}")
$vbLabelText   $csharpLabel

我可以將函式應用於行和列嗎?

為了更大的靈活性,這些函式還可以應用於單個或多個行和列。 了解更多關於選擇範圍包括整行和整列的資訊。 當處理需要特定維度計算的結構化資料時,這種功能特別有用。

您可以將數學函式應用於:

  • 整列:計算完整資料列的總和
  • 整行:聚合行基記錄的值
  • 多個範圍:結合多重選擇以進行複雜計算
  • 命名範圍:使用命名範圍以維護程式碼

這是顯示行和列聚合的實用範例:

:path=/static-assets/excel/content-code-examples/how-to/math-functions-8.cs
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();
Imports IronXL

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

' Calculate sum for entire column (e.g., all sales data)
Dim columnTotal As Decimal = dataSheet.GetColumn(1).Sum() ' Column B

' Calculate average for entire row (e.g., monthly averages)
Dim rowAverage As Decimal = dataSheet.GetRow(4).Avg() ' Row 5

' Work with multiple columns simultaneously
For col As Integer = 1 To 12 ' Columns B through M
    Dim monthlyTotal As Decimal = dataSheet.GetColumn(col).Sum()
    Console.WriteLine($"Month {col} Total: ${monthlyTotal:N2}")
Next

' Calculate grand total across multiple ranges
Dim q1Range = dataSheet("B2:D50")
Dim q2Range = dataSheet("E2:G50")
Dim firstHalfTotal As Decimal = q1Range.Sum() + q2Range.Sum()
$vbLabelText   $csharpLabel

對於高級Excel操作場景,可以將這些數學函式與其他IronXL功能相結合,例如建立圖表套用條件格式導出到不同格式。 這使得IronXL成為.NET應用程式中Excel自動化的全面解決方案,無論是在構建報告工具、資料分析系統還是商業智慧儀表板。

常見問題

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

使用IronXL,您可以通過簡單的一行方法計算任意單元格範圍的總和:decimal total = 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範圍選擇,包括整行、整列或自定義範圍。您可以通過在選擇語法中定義適當的範圍來聚合電子表格中特定區域的資料。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,134,203 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

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