如何在 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, MinMax 。 在任何单元格区域使用简单的单行方法计算总数和分析数值数据,而无需 Interop。 无论是构建财务报告、分析销售数据还是处理科学测量,IronXL.Excel 的内置数学函数都能简化 .NET 应用程序中的 Excel 自动化工作流程。

as-heading:2(快速入门:使用 IronXL 在一行中执行 SumMax).

使用 IronXL 从任意范围立即计算 summaximum 等集合值。 这些单行方法可以快速轻松地分析数值数据,而无需编写样板代码。 该库可处理所有解析,并自动忽略非数字内容。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronXL

    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 内置函数相匹配的数学运算,使您可以轻松地 在 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();
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 的其他功能(如单元格格式化公式支持)无缝配合,从而实现全面的 Excel 自动化场景。

我可以聚合哪些数据类型?

这些功能是分析数据和从 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}");
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

我可以对行和列应用函数吗?

为提高灵活性,这些功能还可应用于单行或多行和多列。 了解有关选择范围(包括整行和整列)的更多信息。 在处理需要进行特定维度计算的结构化数据时,这种能力尤其有用。

您可以将数学函数应用于

  • Entire Columns:计算完整数据列的总计
  • Entire Rows:在基于行的记录中汇总值
  • 多个范围:合并多个选择以进行复杂计算
  • 命名范围:使用命名范围实现可维护代码

下面是一个显示行和列聚合的实用示例:

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();
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.Excel 成为.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 的数学函数适用于任何有效的 Excel 范围选择,包括整行、整列或自定义范围。通过在选择语法中定义适当的范围,您可以汇总电子表格中特定区域的数据。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 1,846,091 | 版本: 2026.2 刚刚发布