如何编辑工作表中的公式

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

查克尼特·宾

Excel 公式是以等号开头的表达式 (=) 用于根据单元格值进行数学计算、数据操作和结果推导。它可以包含算术、函数、单元格引用、常量和逻辑运算。公式可以根据单元格值的变化进行动态更新,使 Excel 成为自动化任务和数据分析的多功能工具。

IronXL 支持编辑 Excel 文件中的现有公式,从公式中获取结果,并强制重新评估工作簿。这可确保重新计算每个公式,以获得准确的结果。IronXL 支持超过 165 个公式


适用于Excel的C# NuGet库

安装使用 NuGet

Install-Package IronXL.Excel
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于Excel的C# NuGet库

安装使用 NuGet

Install-Package IronXL.Excel
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronXLNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变Excel。

适用于Excel的C# NuGet库 nuget.org/packages/IronXL.Excel/
Install-Package IronXL.Excel

考虑安装 IronXL DLL 直接。下载并手动安装到您的项目或GAC表单中: IronXL.zip

手动安装到你的项目中

下载DLL

编辑公式示例

要编辑或设置公式,请访问 Formula 属性。首先,选择范围或单元格,然后访问并设置公式属性。公式属性既是获取属性,也是设置属性,可返回公式字符串(如果有)。调用 EvaluateAll 方法重新评估整个工作簿,确保计算准确无误。

:path=/static-assets/excel/content-code-examples/how-to/edit-formulas-edit-formulas.cs
using IronXL;

// Load workbook
WorkBook workBook = WorkBook.Load("Book1.xlsx");

// Select worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Edit or Set formula
workSheet["A4"].Formula = "=SUM(A1,A3)";

// Reevaluate the entire workbook
workBook.EvaluateAll();
Imports IronXL

' Load workbook
Private workBook As WorkBook = WorkBook.Load("Book1.xlsx")

' Select worksheet
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Edit or Set formula
Private workSheet("A4").Formula = "=SUM(A1,A3)"

' Reevaluate the entire workbook
workBook.EvaluateAll()
VB   C#

从公式中读取结果

虽然有时可以从所选范围和单元格的 Value 属性中获取结果,但建议从单元格的 FormattedCellValue 属性中获取结果,以便从公式中获取更准确的结果。在选定的范围中,可以通过调用 First 方法访问单元格。该方法将选择列表中的第一个元素,在本例中就是单元格 "A4"。从这里,你可以访问 FormattedCellValue 属性。

:path=/static-assets/excel/content-code-examples/how-to/edit-formulas-retrieve-formula-value.cs
using IronXL;
using System;
using System.Linq;

// Load workbook
WorkBook workBook = WorkBook.Load("Book1.xlsx");

// Select worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Retrieve the result value
string value = workSheet["A4"].First().FormattedCellValue;

// Print the result to console
Console.WriteLine(value);
Imports IronXL
Imports System
Imports System.Linq

' Load workbook
Private workBook As WorkBook = WorkBook.Load("Book1.xlsx")

' Select worksheet
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Retrieve the result value
Private value As String = workSheet("A4").First().FormattedCellValue

' Print the result to console
Console.WriteLine(value)
VB   C#

支持的公式

Excel 包含 450 多个公式,可用于各种用途的计算。IronXL 支持约 165 个最常用的公式。请查看以下支持的公式:

配方名称说明
ABS不考虑符号,返回数字的绝对值。
IN铁将一个数字舍入到最接近的整数。
COUN铁计算包含指定范围内数字的单元格数量。
IF执行条件测试,如果条件为真,则返回一个值,如果条件为假,则返回另一个值。
总计将一系列数字相加。
平均值计算一系列数字的平均值。
MIN从一组数字中返回最小值。
最大从一组数字中返回最大值。
返回单元格引用的行号。
专栏返回单元格引用的列号。
NA代表 "不可用 "或数据缺失的错误值。
净现值按指定贴现率计算一系列现金流的净现值。
S铁DEV计算一组数字的标准偏差。
标志返回数字的符号,-1 表示负数,0 表示零,1 表示正数。
圆形将数字舍入到指定的小数位数。
查找在一个范围内搜索一个值,并从另一个范围返回相应的值。
索引返回给定范围内指定行和列中单元格的值。
REP铁重复指定次数的文本字符串。
MID根据指定的起始位置和长度,从给定文本字符串中提取部分文本。
LEN返回文本字符串中的字符数。
价值将表示数字的文本字符串转换为实际数字。
代表 "铁rue "的逻辑值。
代表 "假 "的逻辑值。
检查所有指定条件是否为真,若为真则返回 "真",否则返回 "假"。
检查是否至少有一个指定条件为真,如果为真,则返回 "真",否则返回 "假"。
不是反转条件的逻辑值,将 "真 "变为 "假",反之亦然。
MOD返回一个数除以另一个数的余数。
DMIN根据指定条件从数据库中提取最小值。
VAR计算一组数字的方差。
文本使用指定格式将数字转换为文本。
PV根据一系列现金流和贴现率计算投资或贷款的现值。
FV(未来价值)根据定期付款和特定利率计算投资或贷款的未来价值。
NPER(周期数)在定期付款和利率的条件下,确定达到某一财务目标所需的付款期数。
PM铁(付款)计算偿还贷款或投资所需的定期付款,包括本金和利息。
利率计算通过一系列定期付款达到财务目标所需的利率。
MIRR(修正内部收益率)计算一系列现金流的内部收益率,涉及多种再投资率和融资率。
内部收益率(IRR)计算一系列现金流的内部收益率,表明投资收支平衡的比率。
R和随机生成一个介于 0 和 1 之间的十进制数。
匹配在一个范围内搜索指定值,并返回找到的项目的相对位置。
日期通过指定年、月、日创建日期值。
时间通过指定小时、分钟和秒来创建时间值。
从给定日期中提取日期。
月份从给定日期中提取月份。
从给定日期中提取年份。
WEEK日返回指定日期的星期。
小时从给定时间中提取小时。
分钟从给定时间中提取分钟。
第二从给定时间中提取秒。
现在返回当前日期和时间。
领域计算参照中各个范围的数量。
行S计算指定范围内的行数。
专栏S计算指定范围内的列数。
偏移返回从指定单元格偏移一定行列数的引用。
搜索在文本字符串中搜索子字符串并返回其位置。
传递平移范围的行和列。
A铁AN2计算指定 x 坐标和 y 坐标的反正切值。
美国计算指定值的余弦值。
ACOS计算指定值的余弦值。
选择根据指定位置从值列表中返回一个值。
H查找搜索表格或范围顶行的值,并返回指定行同一列中的值。
V查找搜索表格或范围第一列中的值,并从指定列返回同一行中的值。
ISREF检查数值是否为引用,如果是则返回 "铁rue",如果不是则返回 "False"。
日志按指定基数计算一个数字的对数。
CHAR返回给定数字指定的字符。
降低将文本转换为小写。
上部将文本转换为大写字母。
公关将文本字符串中每个单词的第一个字母大写。
左侧从文本字符串开头提取指定数量的字符。
从文本字符串末尾提取指定数量的字符。
精确比较两个文本字符串,如果相同则返回 "铁rue",如果不相同则返回 "False"。
调整删除文本字符串中多余的空格,单词之间的单空格除外。
替换用新文本替换文本字符串中指定数量的字符。
替换用新文本替换文本字符串中出现的指定文本。
代码返回文本字符串中第一个字符的 Unicode 数值。
FIND搜索文本字符串中的特定子字符串并返回其位置。
ISERR检查值是否是除 "#N/A "以外的错误值,如果是则返回 "铁rue",如果不是则返回 "False"。
IS文本检查数值是否为文本,如果是则返回 "铁rue",如果不是则返回 "False"。
编号检查数值是否为数字,如果是则返回 "铁rue",如果不是则返回 "False"。
ISBLANK检查单元格是否为空,如果是则返回 "铁rue",如果不是则返回 "False"。
将数值转换为文本格式。
日期价值将文本形式的日期转换为日期序号。
清洁删除文本中的不可打印字符。
MDE铁ERM计算数组的矩阵行列式。
MINVERSE返回矩阵的乘法逆(倒数)。
MMUL铁将两个矩阵相乘。
IPM铁计算特定时期内贷款支付的利息部分。
PPM铁计算特定时期的贷款本金部分。
COUN铁A计算范围内非空单元格的数量,包括文本和数字。
PRODUC铁将一个范围内的所有数字相乘。
FAC铁计算一个数字的阶乘。
ISNON文本Checks if a value is not text and returns "铁rue" if it's not text, or "False" if it is text.
VARP根据样本估计总体的方差。
铁RUNC铁runcates a number to a specified number of decimal places.
IS日志ICALChecks if a value is a logical (Boolean) value and returns "铁rue" if it is, or "False" if it's not.
美元将数字转换为文本格式,并带有货币符号和两位小数。
圆形UP将一个数字舍入到指定的小数位数。
圆形DOWN将一个数字舍入到指定的小数位数。
排名返回一个数字在列表中的排序,并提供处理并列的选项。
地址根据行数和列数以文本形式返回单元格地址。
日S360使用 360 天年计算两个日期之间的天数。
铁O日返回当前日期。
中位数返回一组数字的中位数(中间值)。
总计PRODUC铁将数组中的相应分量相乘,并返回乘积之和。
SINH计算一个数字的双曲正弦值。
COSH计算一个数字的双曲余弦值。
铁ANH计算一个数字的双曲正切值。
美国H计算一个数字的反双曲正弦值。
ACOSH计算一个数字的反双曲余弦值。
A铁ANH计算一个数字的反双曲正切值。
外部函数代表外部插件或自定义函数提供的函数调用或操作。
ERR或铁YPE返回与给定值中错误类型相对应的数字。
AVEDEV计算一组数值与平均值的平均绝对偏差。
合并计算从较大集合中提取的给定数量的项目的组合数。
偶数将一个数字向上舍入为最接近的偶数整数。
FLO或将一个数字向下舍入到最接近指定意义的倍数。
天花板将一个数字舍入到最接近指定意义的倍数。
N或MDIS铁计算指定值的累积正态分布函数。
N或MSDIS铁计算标准正态累积分布函数。
N或MINV计算指定概率的正态累积分布函数的逆值。
N或MSINV计算标准正态累积分布函数的逆值。
S铁和ARDIZE将数值转换为均值为 0、标准差为 1 的标准正态分布。
ODD将一个数字向上舍入为最接近的奇数整数。
POISSON计算给定事件数的泊松分布概率。
铁DIS铁计算指定值和自由度的学生 t 分布。
总计XMY2计算两个数组中相应数值之差的平方和。
总计X2MY2计算两个数组中相应数值之差的平方和。
总计X2PY2计算两个数组中相应数值之和的平方和。
IN铁ERCEP铁计算图表中趋势线与 y 轴的交叉点。
坡度计算图表中趋势线的斜率。
DEVSQ返回数据点偏离均值的平方和。
总计SQ计算一组数字的平方和。
大号根据指定的 k,返回数据集中的第 k 个最大值。
小型根据指定的 k,返回数据集中的 k 个最小值。
PERCEN铁ILE返回数据集的 k 百分位数,其中 k 已指定。
PERCEN铁排名返回数据集中某个值的排名占总值的百分比。
模式返回数据集中出现频率最高的值。
CONCA铁ENA铁E将多个文本字符串合并为一个字符串。
权力将一个数字提升到指定的幂。
雷达兵将度转换为弧度。
度数将弧度转换为度。
SUB铁O铁ALPerforms various calculations (e.g., sum, average) on a range, and you can choose whether to include or exclude other SUB铁O铁AL results within the range.
总计IF将范围内符合指定条件的所有数字相加。
COUN铁IF计算某一范围内符合指定条件的单元格数量。
COUN铁BLANK计算范围内空单元格的数量。
罗马将阿拉伯数字转换为罗马数字。
超级链接创建指向网页或文件的超链接。
最大A从一组数字(包括文本和逻辑值)中返回最大值。
MINA从一组数字(包括文本和逻辑值)中返回最小值。

查克尼特·宾

软件工程师

Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。