使用 IronXL.Excel 在 C# 中编辑 Excel 公式。
IronXL 使您能够通过在任意单元格上设置 Formula 属性,使用 FormattedCellValue 检索计算结果,以及使用 EvaluateAll() 重新计算工作簿中的所有公式,从而在 C# 中编辑 Excel 公式。 该库支持超过 165 个 Excel 公式,并确保在单元格值发生变化时进行动态更新。
Excel 公式是以等号 (=) 开头的表达式,用于数学计算、数据处理以及根据单元格值推导出结果。 它可能包含算术运算、函数、单元格引用、常量和逻辑运算。 公式能够随着单元格值的变化而动态更新,这使得 Excel 成为自动化任务和数据分析的多功能工具。 IronXL.Excel支持编辑Excel文件中的现有公式,从公式中检索结果,并强制重新评估工作簿。 这样可以确保每个公式都会被重新计算,从而获得准确的结果。 IronXL 支持超过165 种配方。
快速入门:立即更改单元格公式
使用 IronXL 的 Formula 属性在任意单元格上设置或更新公式。 然后调用 EvaluateAll() 重新计算所有公式--快速启动并确保更新结果。
立即开始使用 NuGet 创建 PDF 文件:
使用 NuGet 包管理器安装 IronXL
复制并运行这段代码。
IronXL.WorkBook.Load("MyFile.xlsx").DefaultWorkSheet["B2"].Formula = "=平均的(C1,C2)"; workBook.EvaluateAll();部署到您的生产环境中进行测试
最小工作流程(5 个步骤)
- 下载 C# 库以编辑工作表中的公式
- 创建一个新Excel文件或导入一个现有的文件
- Edit or set the `Formula` property to assign a formula to the cell
- Retrieve the result value by accessing the `FormattedCellValue` property of the cell
- 导出已编辑的Excel文件
为什么 IronXL 是公式编辑的最佳选择? IronXL 不需要 Microsoft Office Interop,同时通过直观的属性提供直接的公式访问。 该库支持[超过 165 个内置 Excel 函数](https://ironsoftware.com/csharp/excel/how-to/math-functions/),可自动处理复杂的公式依赖关系,并可在 Windows、Linux 和 macOS 平台上实现快速处理。 它的轻量级架构可确保进行与 Excel 兼容的计算,而无需外部依赖性。系统要求是什么? IronXL 要求使用 .NET Framework 4.6.2 或更高版本,或 .NET Core 2.0 及更高版本。 该库可在 Windows、Linux 和 macOS 上运行,无需安装 Microsoft Excel。 为使包含复杂公式的大型工作簿获得最佳性能,我们建议至少使用 4GB 内存。 [请查看完整文档](https://ironsoftware.com/csharp/excel/docs/),了解详细的特定平台要求。如何开始使用 IronXL? 使用软件包管理器控制台安装 NuGet 软件包,使用 `Install-Package IronXL.Excel`。 安装后,[应用您的许可证密钥](https://ironsoftware.com/csharp/excel/get-started/license-keys/)即可解锁全部功能。 在 C# 文件中导入 IronXL 命名空间,开始编辑公式。 直观的 API 设计可让您在几分钟内加载 Excel 文件并修改公式。如何在 Excel 中使用 C# 编辑公式? 要编辑或设置公式,请访问 **`Formula`** 属性。 首先,选择范围或单元格,然后访问并设置 `Formula` 属性。 `Formula` 属性既是获取属性,也是设置属性,可返回公式字符串(如果有)。 调用 `EvaluateAll()` 方法重新评估整个工作簿,确保计算的准确性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/edit-formulas-edit-formulas.cs ``` IronXL 在使用公式时具有完全的灵活性。 您可以修改现有公式、创建新公式或根据运行时条件构建动态公式。 该库可自动处理公式语法验证,确保与 Excel 兼容。 对于复杂的场景,请浏览 [综合公式示例](https://ironsoftware.com/csharp/excel/examples/excel-formulas-csharp/),以演示高级操作技术。为什么要在编辑公式后使用 EvaluateAll()? `EvaluateAll()` 方法可保持 Excel 工作簿中数据的完整性。 当您修改公式时,整个工作簿中的相关单元格可能需要重新计算。 `EvaluateAll()`触发一个完整的工作簿重新计算,确保所有公式反映最新的更改。 在处理级联公式时,一个单元格的结果会影响多个计算,这一点至关重要。 如果不调用 `EvaluateAll()` ,您可能会导出过时的值,从而导致数据不一致。如果我不重新计算工作簿会怎样? 跳过重新计算可能会导致重大问题。 Excel 文件同时存储公式及其缓存结果。 当您修改公式而不重新计算时,缓存值保持不变,从而导致公式和显示结果不匹配。 当用户在 Excel 中打开文件并看到与预期不同的数值时,这种差异就会显现出来。 任何依赖于这些公式结果的后续操作都将使用过时的数据,从而可能导致下游流程出错。我可以同时编辑多个公式吗? 是的,IronXL 支持通过范围操作进行批量公式编辑。 使用范围符号(如 `workSheet["A1:A10"]` )选择多个单元格,并同时在所有单元格中应用公式。 对于复杂的模式,可遍历单元格集合并应用条件逻辑,根据单元格位置或现有值设置不同的公式。 在 [ 创建具有重复公式模式的电子表格](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)或以编程方式更新大型数据集时,这种方法非常有效。如何从公式中检索结果? 要从公式中获取结果,请使用单元格的 **`FormattedCellValue`** 属性以获得精确的结果。 在选定的范围内,使用 `First` 方法访问单元格,该方法会选择序列中的第一个元素。 然后,访问 `FormattedCellValue` 属性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/edit-formulas-retrieve-formula-value.cs ``` `FormattedCellValue` 属性返回单元格的值,就像它在 Excel 中显示的那样,同时尊重数字格式、日期格式和自定义格式规则。 这将确保您的程序输出与用户在 Excel 中看到的内容保持一致。 对于数值分析,可通过 `Value` 属性访问原始值,该属性可返回未应用格式化的底层数值或文本数据。为什么使用 FormattedCellValue 而不是 Value 属性? `FormattedCellValue` 提供了单元格内容的显示就绪表示,这对于在应用程序中保持 Excel 的可视化格式至关重要。 `Value` 属性返回原始数据,而 `FormattedCellValue` 则应用 Excel 的格式规则,包括数字格式、货币符号、百分比显示和日期格式。 在生成报告或向最终用户显示数据时,这种区别就变得至关重要,因为最终用户希望这些值的格式与他们的 Excel 体验一致。 有关详细的格式选项,请参阅 [API 参考](https://ironsoftware.com/csharp/excel/object-reference/api/)。单元格值和公式结果有什么区别? 单元格的公式是表达式(如"=A1+B1"),而公式结果是计算值(如 "150")。 IronXL 通过不同的属性将这些概念区分开来:`Formula` 表示表达式,`Value`/`FormattedCellValue` 表示结果。 通过这种分离,您可以检查公式以进行审计,以编程方式修改计算,或提取结果以作进一步处理。 有些单元格包含无公式的静态值,其中 `Formula` 属性返回空,而 `Value` 仍提供单元格的内容。如何处理公式错误? Excel 中的公式错误(如 #DIV/0!、#价值!或 #REF!)需要在 C# 代码中进行特殊处理。 IronXL 保留了这些错误状态,允许进行检测和编程响应。 使用 `FormattedCellValue` 属性上的字符串比较检查单元格是否包含错误,或在数值处理公式结果时实施 try-catch 块。 为实现稳健的错误处理,请考虑在公式评估前使用验证逻辑,或在公式中使用 Excel 的 `如果ERR或者` 函数来提供后备值。 了解有关[常见问题](https://ironsoftware.com/csharp/excel/troubleshooting/file-size-limits/)的更多信息。IronXL.Excel 支持哪些 Excel 公式? Excel 包含 450 多个用于各种计算目的的公式。 IronXL 支持大约 165 种最常用的配方。 请查看以下支持的公式:
如何开始使用 IronXL? 使用软件包管理器控制台安装 NuGet 软件包,使用 `Install-Package IronXL.Excel`。 安装后,[应用您的许可证密钥](https://ironsoftware.com/csharp/excel/get-started/license-keys/)即可解锁全部功能。 在 C# 文件中导入 IronXL 命名空间,开始编辑公式。 直观的 API 设计可让您在几分钟内加载 Excel 文件并修改公式。如何在 Excel 中使用 C# 编辑公式? 要编辑或设置公式,请访问 **`Formula`** 属性。 首先,选择范围或单元格,然后访问并设置 `Formula` 属性。 `Formula` 属性既是获取属性,也是设置属性,可返回公式字符串(如果有)。 调用 `EvaluateAll()` 方法重新评估整个工作簿,确保计算的准确性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/edit-formulas-edit-formulas.cs ``` IronXL 在使用公式时具有完全的灵活性。 您可以修改现有公式、创建新公式或根据运行时条件构建动态公式。 该库可自动处理公式语法验证,确保与 Excel 兼容。 对于复杂的场景,请浏览 [综合公式示例](https://ironsoftware.com/csharp/excel/examples/excel-formulas-csharp/),以演示高级操作技术。为什么要在编辑公式后使用 EvaluateAll()? `EvaluateAll()` 方法可保持 Excel 工作簿中数据的完整性。 当您修改公式时,整个工作簿中的相关单元格可能需要重新计算。 `EvaluateAll()`触发一个完整的工作簿重新计算,确保所有公式反映最新的更改。 在处理级联公式时,一个单元格的结果会影响多个计算,这一点至关重要。 如果不调用 `EvaluateAll()` ,您可能会导出过时的值,从而导致数据不一致。如果我不重新计算工作簿会怎样? 跳过重新计算可能会导致重大问题。 Excel 文件同时存储公式及其缓存结果。 当您修改公式而不重新计算时,缓存值保持不变,从而导致公式和显示结果不匹配。 当用户在 Excel 中打开文件并看到与预期不同的数值时,这种差异就会显现出来。 任何依赖于这些公式结果的后续操作都将使用过时的数据,从而可能导致下游流程出错。我可以同时编辑多个公式吗? 是的,IronXL 支持通过范围操作进行批量公式编辑。 使用范围符号(如 `workSheet["A1:A10"]` )选择多个单元格,并同时在所有单元格中应用公式。 对于复杂的模式,可遍历单元格集合并应用条件逻辑,根据单元格位置或现有值设置不同的公式。 在 [ 创建具有重复公式模式的电子表格](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)或以编程方式更新大型数据集时,这种方法非常有效。如何从公式中检索结果? 要从公式中获取结果,请使用单元格的 **`FormattedCellValue`** 属性以获得精确的结果。 在选定的范围内,使用 `First` 方法访问单元格,该方法会选择序列中的第一个元素。 然后,访问 `FormattedCellValue` 属性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/edit-formulas-retrieve-formula-value.cs ``` `FormattedCellValue` 属性返回单元格的值,就像它在 Excel 中显示的那样,同时尊重数字格式、日期格式和自定义格式规则。 这将确保您的程序输出与用户在 Excel 中看到的内容保持一致。 对于数值分析,可通过 `Value` 属性访问原始值,该属性可返回未应用格式化的底层数值或文本数据。为什么使用 FormattedCellValue 而不是 Value 属性? `FormattedCellValue` 提供了单元格内容的显示就绪表示,这对于在应用程序中保持 Excel 的可视化格式至关重要。 `Value` 属性返回原始数据,而 `FormattedCellValue` 则应用 Excel 的格式规则,包括数字格式、货币符号、百分比显示和日期格式。 在生成报告或向最终用户显示数据时,这种区别就变得至关重要,因为最终用户希望这些值的格式与他们的 Excel 体验一致。 有关详细的格式选项,请参阅 [API 参考](https://ironsoftware.com/csharp/excel/object-reference/api/)。单元格值和公式结果有什么区别? 单元格的公式是表达式(如"=A1+B1"),而公式结果是计算值(如 "150")。 IronXL 通过不同的属性将这些概念区分开来:`Formula` 表示表达式,`Value`/`FormattedCellValue` 表示结果。 通过这种分离,您可以检查公式以进行审计,以编程方式修改计算,或提取结果以作进一步处理。 有些单元格包含无公式的静态值,其中 `Formula` 属性返回空,而 `Value` 仍提供单元格的内容。如何处理公式错误? Excel 中的公式错误(如 #DIV/0!、#价值!或 #REF!)需要在 C# 代码中进行特殊处理。 IronXL 保留了这些错误状态,允许进行检测和编程响应。 使用 `FormattedCellValue` 属性上的字符串比较检查单元格是否包含错误,或在数值处理公式结果时实施 try-catch 块。 为实现稳健的错误处理,请考虑在公式评估前使用验证逻辑,或在公式中使用 Excel 的 `如果ERR或者` 函数来提供后备值。 了解有关[常见问题](https://ironsoftware.com/csharp/excel/troubleshooting/file-size-limits/)的更多信息。IronXL.Excel 支持哪些 Excel 公式? Excel 包含 450 多个用于各种计算目的的公式。 IronXL 支持大约 165 种最常用的配方。 请查看以下支持的公式:
为什么要在编辑公式后使用 EvaluateAll()? `EvaluateAll()` 方法可保持 Excel 工作簿中数据的完整性。 当您修改公式时,整个工作簿中的相关单元格可能需要重新计算。 `EvaluateAll()`触发一个完整的工作簿重新计算,确保所有公式反映最新的更改。 在处理级联公式时,一个单元格的结果会影响多个计算,这一点至关重要。 如果不调用 `EvaluateAll()` ,您可能会导出过时的值,从而导致数据不一致。如果我不重新计算工作簿会怎样? 跳过重新计算可能会导致重大问题。 Excel 文件同时存储公式及其缓存结果。 当您修改公式而不重新计算时,缓存值保持不变,从而导致公式和显示结果不匹配。 当用户在 Excel 中打开文件并看到与预期不同的数值时,这种差异就会显现出来。 任何依赖于这些公式结果的后续操作都将使用过时的数据,从而可能导致下游流程出错。我可以同时编辑多个公式吗? 是的,IronXL 支持通过范围操作进行批量公式编辑。 使用范围符号(如 `workSheet["A1:A10"]` )选择多个单元格,并同时在所有单元格中应用公式。 对于复杂的模式,可遍历单元格集合并应用条件逻辑,根据单元格位置或现有值设置不同的公式。 在 [ 创建具有重复公式模式的电子表格](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)或以编程方式更新大型数据集时,这种方法非常有效。如何从公式中检索结果? 要从公式中获取结果,请使用单元格的 **`FormattedCellValue`** 属性以获得精确的结果。 在选定的范围内,使用 `First` 方法访问单元格,该方法会选择序列中的第一个元素。 然后,访问 `FormattedCellValue` 属性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/edit-formulas-retrieve-formula-value.cs ``` `FormattedCellValue` 属性返回单元格的值,就像它在 Excel 中显示的那样,同时尊重数字格式、日期格式和自定义格式规则。 这将确保您的程序输出与用户在 Excel 中看到的内容保持一致。 对于数值分析,可通过 `Value` 属性访问原始值,该属性可返回未应用格式化的底层数值或文本数据。为什么使用 FormattedCellValue 而不是 Value 属性? `FormattedCellValue` 提供了单元格内容的显示就绪表示,这对于在应用程序中保持 Excel 的可视化格式至关重要。 `Value` 属性返回原始数据,而 `FormattedCellValue` 则应用 Excel 的格式规则,包括数字格式、货币符号、百分比显示和日期格式。 在生成报告或向最终用户显示数据时,这种区别就变得至关重要,因为最终用户希望这些值的格式与他们的 Excel 体验一致。 有关详细的格式选项,请参阅 [API 参考](https://ironsoftware.com/csharp/excel/object-reference/api/)。单元格值和公式结果有什么区别? 单元格的公式是表达式(如"=A1+B1"),而公式结果是计算值(如 "150")。 IronXL 通过不同的属性将这些概念区分开来:`Formula` 表示表达式,`Value`/`FormattedCellValue` 表示结果。 通过这种分离,您可以检查公式以进行审计,以编程方式修改计算,或提取结果以作进一步处理。 有些单元格包含无公式的静态值,其中 `Formula` 属性返回空,而 `Value` 仍提供单元格的内容。如何处理公式错误? Excel 中的公式错误(如 #DIV/0!、#价值!或 #REF!)需要在 C# 代码中进行特殊处理。 IronXL 保留了这些错误状态,允许进行检测和编程响应。 使用 `FormattedCellValue` 属性上的字符串比较检查单元格是否包含错误,或在数值处理公式结果时实施 try-catch 块。 为实现稳健的错误处理,请考虑在公式评估前使用验证逻辑,或在公式中使用 Excel 的 `如果ERR或者` 函数来提供后备值。 了解有关[常见问题](https://ironsoftware.com/csharp/excel/troubleshooting/file-size-limits/)的更多信息。IronXL.Excel 支持哪些 Excel 公式? Excel 包含 450 多个用于各种计算目的的公式。 IronXL 支持大约 165 种最常用的配方。 请查看以下支持的公式:
我可以同时编辑多个公式吗? 是的,IronXL 支持通过范围操作进行批量公式编辑。 使用范围符号(如 `workSheet["A1:A10"]` )选择多个单元格,并同时在所有单元格中应用公式。 对于复杂的模式,可遍历单元格集合并应用条件逻辑,根据单元格位置或现有值设置不同的公式。 在 [ 创建具有重复公式模式的电子表格](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)或以编程方式更新大型数据集时,这种方法非常有效。如何从公式中检索结果? 要从公式中获取结果,请使用单元格的 **`FormattedCellValue`** 属性以获得精确的结果。 在选定的范围内,使用 `First` 方法访问单元格,该方法会选择序列中的第一个元素。 然后,访问 `FormattedCellValue` 属性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/edit-formulas-retrieve-formula-value.cs ``` `FormattedCellValue` 属性返回单元格的值,就像它在 Excel 中显示的那样,同时尊重数字格式、日期格式和自定义格式规则。 这将确保您的程序输出与用户在 Excel 中看到的内容保持一致。 对于数值分析,可通过 `Value` 属性访问原始值,该属性可返回未应用格式化的底层数值或文本数据。为什么使用 FormattedCellValue 而不是 Value 属性? `FormattedCellValue` 提供了单元格内容的显示就绪表示,这对于在应用程序中保持 Excel 的可视化格式至关重要。 `Value` 属性返回原始数据,而 `FormattedCellValue` 则应用 Excel 的格式规则,包括数字格式、货币符号、百分比显示和日期格式。 在生成报告或向最终用户显示数据时,这种区别就变得至关重要,因为最终用户希望这些值的格式与他们的 Excel 体验一致。 有关详细的格式选项,请参阅 [API 参考](https://ironsoftware.com/csharp/excel/object-reference/api/)。单元格值和公式结果有什么区别? 单元格的公式是表达式(如"=A1+B1"),而公式结果是计算值(如 "150")。 IronXL 通过不同的属性将这些概念区分开来:`Formula` 表示表达式,`Value`/`FormattedCellValue` 表示结果。 通过这种分离,您可以检查公式以进行审计,以编程方式修改计算,或提取结果以作进一步处理。 有些单元格包含无公式的静态值,其中 `Formula` 属性返回空,而 `Value` 仍提供单元格的内容。如何处理公式错误? Excel 中的公式错误(如 #DIV/0!、#价值!或 #REF!)需要在 C# 代码中进行特殊处理。 IronXL 保留了这些错误状态,允许进行检测和编程响应。 使用 `FormattedCellValue` 属性上的字符串比较检查单元格是否包含错误,或在数值处理公式结果时实施 try-catch 块。 为实现稳健的错误处理,请考虑在公式评估前使用验证逻辑,或在公式中使用 Excel 的 `如果ERR或者` 函数来提供后备值。 了解有关[常见问题](https://ironsoftware.com/csharp/excel/troubleshooting/file-size-limits/)的更多信息。IronXL.Excel 支持哪些 Excel 公式? Excel 包含 450 多个用于各种计算目的的公式。 IronXL 支持大约 165 种最常用的配方。 请查看以下支持的公式:
为什么使用 FormattedCellValue 而不是 Value 属性? `FormattedCellValue` 提供了单元格内容的显示就绪表示,这对于在应用程序中保持 Excel 的可视化格式至关重要。 `Value` 属性返回原始数据,而 `FormattedCellValue` 则应用 Excel 的格式规则,包括数字格式、货币符号、百分比显示和日期格式。 在生成报告或向最终用户显示数据时,这种区别就变得至关重要,因为最终用户希望这些值的格式与他们的 Excel 体验一致。 有关详细的格式选项,请参阅 [API 参考](https://ironsoftware.com/csharp/excel/object-reference/api/)。单元格值和公式结果有什么区别? 单元格的公式是表达式(如"=A1+B1"),而公式结果是计算值(如 "150")。 IronXL 通过不同的属性将这些概念区分开来:`Formula` 表示表达式,`Value`/`FormattedCellValue` 表示结果。 通过这种分离,您可以检查公式以进行审计,以编程方式修改计算,或提取结果以作进一步处理。 有些单元格包含无公式的静态值,其中 `Formula` 属性返回空,而 `Value` 仍提供单元格的内容。如何处理公式错误? Excel 中的公式错误(如 #DIV/0!、#价值!或 #REF!)需要在 C# 代码中进行特殊处理。 IronXL 保留了这些错误状态,允许进行检测和编程响应。 使用 `FormattedCellValue` 属性上的字符串比较检查单元格是否包含错误,或在数值处理公式结果时实施 try-catch 块。 为实现稳健的错误处理,请考虑在公式评估前使用验证逻辑,或在公式中使用 Excel 的 `如果ERR或者` 函数来提供后备值。 了解有关[常见问题](https://ironsoftware.com/csharp/excel/troubleshooting/file-size-limits/)的更多信息。IronXL.Excel 支持哪些 Excel 公式? Excel 包含 450 多个用于各种计算目的的公式。 IronXL 支持大约 165 种最常用的配方。 请查看以下支持的公式:
如何处理公式错误? Excel 中的公式错误(如 #DIV/0!、#价值!或 #REF!)需要在 C# 代码中进行特殊处理。 IronXL 保留了这些错误状态,允许进行检测和编程响应。 使用 `FormattedCellValue` 属性上的字符串比较检查单元格是否包含错误,或在数值处理公式结果时实施 try-catch 块。 为实现稳健的错误处理,请考虑在公式评估前使用验证逻辑,或在公式中使用 Excel 的 `如果ERR或者` 函数来提供后备值。 了解有关[常见问题](https://ironsoftware.com/csharp/excel/troubleshooting/file-size-limits/)的更多信息。IronXL.Excel 支持哪些 Excel 公式? Excel 包含 450 多个用于各种计算目的的公式。 IronXL 支持大约 165 种最常用的配方。 请查看以下支持的公式:
| 配方名称 | 说明 |
|---|---|
| ABS | 返回一个数的绝对值,忽略其符号。 |
| INT | 将数字向下取整到最接近的整数。 |
| 数数 | 统计包含指定范围内数字的单元格数量。 |
| 如果 | 执行条件测试,如果条件为真则返回一个值,如果条件为假则返回另一个值。 |
| 和 | 对一系列数字求和。 |
| 平均的 | 计算一系列数字的平均值。 |
| 最小值 | 返回一组数字中的最小值。 |
| 最大限度 | 返回一组数字中的最大值。 |
| 排 | 返回单元格引用的行号。 |
| 柱子 | 返回单元格引用的列号。 |
| 那 | 表示"不可用"或数据缺失的错误值。 |
| 净现值 | 计算一系列现金流在指定折现率下的净现值。 |
| 标准差 | 计算一组数字的标准差。 |
| 符号 | 返回数字的符号,-1 表示负数,0 表示零,1 表示正数。 |
| 圆形的 | 将数字四舍五入到指定的小数位数。 |
| 抬头 | 在一定范围内查找某个值,并返回另一个范围内对应的值。 |
| 指数 | 返回给定范围内指定行和列中单元格的值。 |
| 报告 | 将一段文本字符串重复指定次数。 |
| 中 | 根据指定的起始位置和长度,从给定的文本字符串中提取一部分文本。 |
| 仅有的 | 返回文本字符串中的字符数。 |
| 价值 | 将表示数字的文本字符串转换为实际数字。 |
| 真的 | 表示逻辑值为"True"。 |
| 错误的 | 表示逻辑值为"False"。 |
| 和 | 检查所有指定的条件是否为真,如果为真则返回"True",否则返回"False"。 |
| 或者 | 检查是否至少有一个指定的条件为真,如果为真则返回"True",否则返回"False"。 |
| 不是 | 反转条件的逻辑值,将"真"变为"假",反之亦然。 |
| 反对 | 返回一个数除以另一个数的余数。 |
| 管理员 | 根据指定条件从数据库中提取最小值。 |
| 我们的 | 计算一组数字的方差。 |
| 文本 | 将数字转换为指定格式的文本。 |
| 光伏 | 根据一系列现金流和折现率计算投资或贷款的现值。 |
| 未来价值 (FV) | 根据定期付款和指定的利率计算投资或贷款的未来价值。 |
| NPER(周期数) | 确定在给定定期付款和利率的情况下,达到特定财务目标所需的付款期数。 |
| PMT(付款) | 计算偿还贷款或投资所需的定期付款额,包括本金和利息。 |
| 利率(Interest Rate) | 计算通过一系列定期付款实现财务目标所需的利率。 |
| MIRR(修正内部收益率) | 计算一系列现金流的内部收益率,考虑多种再投资和融资利率。 |
| 内部收益率(IRR) | 计算一系列现金流的内部收益率,表明投资达到盈亏平衡点的收益率。 |
| 兰德公司 | 生成一个介于 0 和 1 之间的随机十进制数。 |
| 匹配 | 在指定范围内搜索指定值,并返回找到的项的相对位置。 |
| 日期 | 通过指定年、月、日来创建日期值。 |
| 时间 | 通过指定小时、分钟和秒来创建时间值。 |
| 天 | 从给定的日期中提取星期几。 |
| 月 | 根据给定的日期提取月份。 |
| 年 | 根据给定的日期提取年份。 |
| 工作日 | 返回指定日期的星期几。 |
| 小时 | 从给定时间中提取小时。 |
| 分钟 | 从给定时间中提取分钟。 |
| 第二 | 从给定时间中提取秒。 |
| 现在 | 返回当前日期和时间。 |
| 区域 | 计算引用中各个范围的数量。 |
| 行 | 统计指定范围内的行数。 |
| 专栏 | 计算指定范围内的列数。 |
| 抵消 | 返回从指定单元格向外偏移指定行数和列数的引用偏移量。 |
| 搜索 | 在文本字符串中查找子字符串并返回其位置。 |
| 转置 | 转置一个区域的行和列。 |
| ATAN2 | 计算指定 x 和 y 坐标的反正切值。 |
| 盐 | 计算指定值的反正弦值。 |
| ACOS | 计算指定值的反余弦值。 |
| 选择 | 根据指定位置,从值列表中返回一个值。 |
| 搜索 | 在表格或范围的第一行中查找值,并返回指定行中同一列的值。 |
| V抬头 | 在表格或范围的第一列中查找值,并返回同一行中指定列的值。 |
| ISREF | 检查一个值是否为引用,如果是则返回"True",如果不是则返回"False"。 |
| 日志 | 计算以指定底数为底的数的对数。 |
| 字符 | 返回给定数字所指定的字符。 |
| 降低 | 将文本转换为小写。 |
| 上 | 将文本转换为大写。 |
| 恰当的 | 将文本字符串中每个单词的首字母大写。 |
| 左边 | 从文本字符串的开头提取指定数量的字符。 |
| 正确的 | 从文本字符串的末尾提取指定数量的字符。 |
| 精确的 | 比较两个文本字符串,如果它们相同则返回"True",否则返回"False"。 |
| 修剪 | 删除文本字符串中的多余空格,但保留单词之间的单个空格。 |
| 代替 | 将文本字符串中指定数量的字符替换为新文本。 |
| 代替 | 将文本字符串中指定的文本替换为新文本。 |
| 代码 | 返回文本字符串中第一个字符的 Unicode 数值。 |
| 寻找 | 在文本字符串中查找特定子字符串并返回其位置。 |
| ISERR | 检查一个值是否为除"#N/A"之外的错误值,如果是则返回"True",如果不是则返回"False"。 |
| IS文本 | 检查值是否为文本,如果是则返回"True",如果不是则返回"False"。 |
| 编号 | 检查一个值是否为数字,如果是则返回"True",如果不是则返回"False"。 |
| 伊斯布兰克 | 检查单元格是否为空,如果为空则返回"True",否则返回"False"。 |
| T | 将数值转换为文本格式。 |
| 日期值 | 将以文本形式表示的日期转换为日期序列号。 |
| 干净的 | 从文本中删除不可打印字符。 |
| MDETERM | 计算数组的矩阵行列式。 |
| 最小值VERSE | 返回矩阵的乘法逆元(倒数)。 |
| MMULT | 将两个矩阵相乘。 |
| IPMT | 计算给定期限内贷款支付的利息部分。 |
| PPMT | 计算给定期限内贷款支付的本金部分。 |
| 国家 | 计算指定范围内非空单元格的数量,包括文本和数字。 |
| 产品 | 将指定范围内的所有数字相乘。 |
| 事实 | 计算一个数的阶乘。 |
| ISNON文本 | 检查值是否为文本,如果不是文本则返回"True",如果是文本则返回"False"。 |
| 船运 | 根据样本估计总体的方差。 |
| 树干 | 将数字截断为指定的小数位数。 |
| 不合逻辑 | 检查一个值是否为逻辑(布尔)值,如果是则返回"True",如果不是则返回"False"。 |
| 美国劳工部 | 将数字转换为带有货币符号和两位小数的文本格式。 |
| 围捕 | 将数字向上取整到指定的小数位数。 |
| 向下取整 | 将数字向下取整到指定的小数位数。 |
| 秩 | 返回列表中数字的排名,并提供处理并列排名的选项。 |
| 地址 | 根据行号和列号,以文本形式返回单元格地址。 |
| 天S360 | 使用 360 天的一年计算两个日期之间的天数。 |
| 今天 | 返回当前日期。 |
| 中位数 | 返回一组数字的中位数(中间值)。 |
| 和产品 | 将数组中对应的元素相乘,并返回乘积之和。 |
| 出生 | 计算一个数的双曲正弦值。 |
| COSH | 计算一个数的双曲余弦值。 |
| 坦桑尼亚 | 计算一个数的双曲正切值。 |
| 亚辛 | 计算一个数的反双曲正弦值。 |
| ACOSH | 计算一个数的反双曲余弦值。 |
| A坦桑尼亚 | 计算一个数的反双曲正切值。 |
| 外部函数 | 表示由外部插件或自定义函数提供的函数调用或操作。 |
| 错误类型 | 返回与给定值中的错误类型对应的数字。 |
| AVEDEV | 计算一组数值与其均值的平均绝对偏差。 |
| 结合 | 计算从较大集合中取出给定数量的元素所能得到的组合数。 |
| 甚至 | 将数字向上取整到最接近的偶数。 |
| 地面 | 将数字向下取整到指定位数的最接近的倍数。 |
| 天花板 | 将数字向上取整到指定位数的最接近的倍数。 |
| N或者MDIST | 计算指定值的累积正态分布函数。 |
| 正常主义者 | 计算标准正态累积分布函数。 |
| N或者最小值V | 计算指定概率下正态累积分布函数的逆函数。 |
| 正常 | 计算标准正态累积分布函数的逆函数。 |
| 标准化 | 将一个值转换为均值为 0,标准差为 1 的标准正态分布。 |
| 奇怪的 | 将数字向上取整到最接近的奇数。 |
| 泊松 | 计算给定事件数的泊松分布概率。 |
| TDIST | 计算指定值和自由度的学生 t 分布。 |
| 和XMY2 | 计算两个数组中对应值之差的平方和。 |
| 和X2MY2 | 计算两个数组中对应值之差的平方和。 |
| 和X2PY2 | 计算两个数组中对应值之和的平方和。 |
| 截距 | 计算图表中趋势线与 y 轴的交点。 |
| 坡 | 计算图表中趋势线的斜率。 |
| DEVSQ | 返回数据点与其均值偏差的平方和。 |
| 和SQ | 计算一组数的平方和。 |
| 大的 | 返回数据集中的第 k 个最大值,其中 k 是指定的。 |
| 小的 | 返回数据集中的第 k 个最小值,其中 k 为指定值。 |
| 百分位数 | 返回数据集的第 k 个百分位数,其中 k 为指定值。 |
| 百分比排名 | 返回数据集中某个值占总值数量的百分比排名。 |
| 模式 | 返回数据集中出现频率最高的值。 |
| 连接 | 将多个文本字符串合并为一个字符串。 |
| 力量 | 将一个数提升到指定的幂。 |
| 弧度 | 将角度转换为弧度。 |
| 度 | 将弧度转换为角度。 |
| 小计 | 对一个范围执行各种计算(例如,求和、平均值),您可以选择是否包含或排除范围内的其他小计结果。 |
| 求和 | 将指定范围内所有符合特定条件的数字相加。 |
| 数数如果 | 计算指定范围内满足指定条件的单元格数量。 |
| 计数空白 | 计算指定范围内空单元格的数量。 |
| 罗马 | 将阿拉伯数字转换为罗马数字。 |
| 超级链接 | 创建指向网页或文件的超链接。 |
| 什么 | 返回一组数字(包括文本和逻辑值)中的最大值。 |
| 矿 | 返回一组数字(包括文本和逻辑值)中的最小值。 |
我最常使用哪些公式? 商业应用程序中最常用的公式包括 `和`、`平均的`、`数数`、`如果` 和 `V抬头`。 这些基础公式涵盖了大部分数据分析需求。 对于金融应用,请使用 `净现值`, `PMT` 和 `IRR` 函数。 统计分析受益于 `标准差`, `中位数` 和 `百分位数` 函数。 文本操作依赖于 `连接`, `左边`, `正确的` 和 `修剪` 函数。 理解了这些核心公式,就能通过组合建立复杂的计算。 IronXL.Excel 的全面公式支持可确保您的 C# 应用程序能够处理任何 Excel 计算要求。如果我的公式不支持怎么办? 虽然 IronXL.Excel 支持 165+ 个公式,涵盖大多数业务需求,但某些专业或较新的 Excel 函数可能无法使用。 您有几种选择:首先,检查您是否可以使用支持的公式组合实现相同的结果。 许多复杂的 Excel 函数可以通过基本数学运算复制。 或者,直接用 C# 实现计算逻辑,并将结果作为值写入单元格。 对于不支持的关键任务公式,请联系 [IronXL 支持](https://ironsoftware.com/csharp/excel/features/),讨论可能的添加内容。 开发团队会根据用户反馈定期更新公式支持。我能否添加自定义公式支持? IronXL.Excel 重点支持标准 Excel 公式,以确保不同 Excel 版本和应用程序之间的兼容性。 虽然无法通过 IronXL.Excel 向 Excel 本身添加自定义公式定义,但可以创建有效的变通方法。 在您的 C# 应用程序中实现自定义计算逻辑,并使用 IronXL 读取输入值和写入结果。 对于复杂的情况,请将多个支持的公式结合起来,以实现您想要的结果。 这种方法既能保持 Excel 文件的兼容性,又能利用 C# 进行自定义计算。 探索[IronXL.Excel的丰富功能](https://ironsoftware.com/csharp/excel/features/),最大限度地提高您的公式自动化能力。
我能否添加自定义公式支持? IronXL.Excel 重点支持标准 Excel 公式,以确保不同 Excel 版本和应用程序之间的兼容性。 虽然无法通过 IronXL.Excel 向 Excel 本身添加自定义公式定义,但可以创建有效的变通方法。 在您的 C# 应用程序中实现自定义计算逻辑,并使用 IronXL 读取输入值和写入结果。 对于复杂的情况,请将多个支持的公式结合起来,以实现您想要的结果。 这种方法既能保持 Excel 文件的兼容性,又能利用 C# 进行自定义计算。 探索[IronXL.Excel的丰富功能](https://ironsoftware.com/csharp/excel/features/),最大限度地提高您的公式自动化能力。
常见问题解答
如何用 C# 编程编辑 Excel 公式?
IronXL.Excel 允许您通过设置任意单元格的公式属性,用 C# 编辑 Excel 公式。只需加载工作簿,访问所需的单元格,并将以"="开头的公式字符串赋值给公式属性。然后调用 EvaluateAll() 重新计算工作簿中的所有公式,以获得准确的结果。
支持哪些类型的 Excel 公式?
IronXL.Excel 支持超过 165 个内置 Excel 公式,包括算术运算、数学函数、统计计算、逻辑运算和复杂的公式依赖关系。该库可处理所有标准 Excel 公式语法,并确保与 Excel 生成的文件兼容。
如何从公式中获取计算结果?
使用 IronXL 设置公式后,可以使用单元格的 FormattedCellValue 属性检索计算结果。该属性以格式化字符串的形式返回公式的计算结果,与 Excel 中显示的结果完全一致。
我需要安装 Microsoft Excel 才能编辑公式吗?
不,IronXL.Excel 可独立运行,无需 Microsoft Excel 或 Office Interop。该库包含自己的公式计算引擎,可在 Windows、Linux 和 macOS 平台上运行,是服务器环境和跨平台应用程序的理想选择。
如何确保在更改后重新计算所有公式?
IronXL 提供了 EvaluateAll() 方法,用于重新计算工作簿中的所有公式。在修改单元格值或公式后调用该方法,可确保使用最新数据更新所有从属计算,从而保持整个电子表格的准确性。
公式编辑的系统要求是什么?
IronXL 需要 .NET Framework 4.6.2 或更高版本,或 .NET Core 2.0 及更高版本。为了在使用复杂公式和大型工作簿时获得最佳性能,建议至少使用 4GB 内存。该库的轻量级架构可确保在无外部依赖的情况下进行高效处理。






