如何编辑工作表中的公式

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

查克尼特·宾

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

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


开始使用IronXL

立即在您的项目中开始使用IronXL,并享受免费试用。

第一步:
green arrow pointer


编辑公式示例

要编辑或设置公式,请访问公式属性。 首先,选择一个范围或单元格,然后访问并设置公式属性。 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不考虑符号,返回数字的绝对值。
INT将一个数字舍入到最接近的整数。
COUNT计算包含指定范围内数字的单元格数量。
IF执行条件测试,如果条件为真,则返回一个值,如果条件为假,则返回另一个值。
总计将一系列数字相加。
平均值计算一系列数字的平均值。
MIN从一组数字中返回最小值。
最大从一组数字中返回最大值。
返回单元格引用的行号。
专栏返回单元格引用的列号。
NA代表 "不可用 "或数据缺失的错误值。
净现值按指定贴现率计算一系列现金流的净现值。
STDEV计算一组数字的标准偏差。
标志返回数字的符号,-1 表示负数,0 表示零,1 表示正数。
圆形将数字舍入到指定的小数位数。
查找在一个范围内搜索一个值,并从另一个范围返回相应的值。
索引返回给定范围内指定行和列中单元格的值。
REPT重复指定次数的文本字符串。
MID根据指定的起始位置和长度,从给定文本字符串中提取部分文本。
LEN返回文本字符串中的字符数。
价值将表示数字的文本字符串转换为实际数字。
代表 "True "的逻辑值。
代表 "假 "的逻辑值。
检查所有指定条件是否为真,若为真则返回 "真",否则返回 "假"。
检查是否至少有一个指定条件为真,如果为真,则返回 "真",否则返回 "假"。
不是反转条件的逻辑值,将 "真 "变为 "假",反之亦然。
MOD返回一个数除以另一个数的余数。
DMIN根据指定条件从数据库中提取最小值。
VAR计算一组数字的方差。
文本使用指定格式将数字转换为文本。
PV根据一系列现金流和贴现率计算投资或贷款的现值。
FV(未来价值)根据定期付款和特定利率计算投资或贷款的未来价值。
NPER(周期数)在定期付款和利率的条件下,确定达到某一财务目标所需的付款期数。
PMT(付款)计算偿还贷款或投资所需的定期付款,包括本金和利息。
利率计算通过一系列定期付款达到财务目标所需的利率。
MIRR(修正内部收益率)计算一系列现金流的内部收益率,涉及多种再投资率和融资率。
内部收益率(IRR)计算一系列现金流的内部收益率,表明投资收支平衡的比率。
兰德随机生成一个介于 0 和 1 之间的十进制数。
匹配在一个范围内搜索指定值,并返回找到的项目的相对位置。
日期通过指定年、月、日创建日期值。
时间通过指定小时、分钟和秒来创建时间值。
从给定日期中提取日期。
月份从给定日期中提取月份。
从给定日期中提取年份。
周日返回指定日期的星期。
小时从给定时间中提取小时。
分钟从给定时间中提取分钟。
第二从给定时间中提取秒。
现在返回当前日期和时间。
领域计算参照中各个范围的数量。
行数计算指定范围内的行数。
栏目计算指定范围内的列数。
偏移返回从指定单元格偏移一定行列数的引用。
搜索在文本字符串中搜索子字符串并返回其位置。
传递平移范围的行和列。
ATAN2计算指定 x 坐标和 y 坐标的反正切值。
美国计算指定值的余弦值。
ACOS计算指定值的余弦值。
选择根据指定位置从值列表中返回一个值。
HLOOKUP搜索表格或范围顶行的值,并返回指定行同一列中的值。
VLOOKUP搜索表格或范围第一列中的值,并从指定列返回同一行中的值。
ISREF检查数值是否为引用,如果是则返回 "True",如果不是则返回 "False"。
日志按指定基数计算一个数字的对数。
CHAR返回给定数字指定的字符。
降低将文本转换为小写。
上部将文本转换为大写字母。
公关将文本字符串中每个单词的第一个字母大写。
左侧从文本字符串开头提取指定数量的字符。
从文本字符串末尾提取指定数量的字符。
精确比较两个文本字符串,如果相同则返回 "True",如果不相同则返回 "False"。
调整删除文本字符串中多余的空格,单词之间的单空格除外。
替换用新文本替换文本字符串中指定数量的字符。
替换用新文本替换文本字符串中出现的指定文本。
代码返回文本字符串中第一个字符的 Unicode 数值。
FIND搜索文本字符串中的特定子字符串并返回其位置。
ISERR检查值是否是除 "#N/A "以外的错误值,如果是则返回 "True",如果不是则返回 "False"。
ISTEXT检查数值是否为文本,如果是则返回 "True",如果不是则返回 "False"。
编号检查数值是否为数字,如果是则返回 "True",如果不是则返回 "False"。
ISBLANK检查单元格是否为空,如果是则返回 "True",如果不是则返回 "False"。
将数值转换为文本格式。
数据值将文本形式的日期转换为日期序号。
清洁删除文本中的不可打印字符。
MDETERM计算数组的矩阵行列式。
MINVERSE返回矩阵的乘法逆(倒数)。
MMULT将两个矩阵相乘。
IPMT计算特定时期内贷款支付的利息部分。
PPMT计算特定时期的贷款本金部分。
国家计算范围内非空单元格的数量,包括文本和数字。
产品将一个范围内的所有数字相乘。
事实计算一个数字的阶乘。
ISNONTEXT检查数值是否不是文本,如果不是文本则返回 "True",如果是文本则返回 "False"。
VARP根据样本估计总体的方差。
TRUNC将数字截断到指定的小数位数。
历史检查数值是否为逻辑(布尔)值,如果是则返回 "True",如果不是则返回 "False"。
美元将数字转换为文本格式,并带有货币符号和两位小数。
综述将一个数字舍入到指定的小数位数。
回合将一个数字舍入到指定的小数位数。
排名返回一个数字在列表中的排序,并提供处理并列的选项。
地址根据行数和列数以文本形式返回单元格地址。
DAYS360使用 360 天年计算两个日期之间的天数。
今天返回当前日期。
中位数返回一组数字的中位数(中间值)。
SUMPRODUCT将数组中的相应分量相乘,并返回乘积之和。
SINH计算一个数字的双曲正弦值。
COSH计算一个数字的双曲余弦值。
TANH计算一个数字的双曲正切值。
ASINH计算一个数字的反双曲正弦值。
ACOSH计算一个数字的反双曲余弦值。
ATANH计算一个数字的反双曲正切值。
外部函数代表外部插件或自定义函数提供的函数调用或操作。
错误类型返回与给定值中错误类型相对应的数字。
AVEDEV计算一组数值与平均值的平均绝对偏差。
合并计算从较大集合中提取的给定数量的项目的组合数。
偶数将一个数字向上舍入为最接近的偶数整数。
地板将一个数字向下舍入到最接近指定意义的倍数。
天花板将一个数字舍入到最接近指定意义的倍数。
NORMDIST计算指定值的累积正态分布函数。
NORMSDIST计算标准正态累积分布函数。
NORMINV计算指定概率的正态累积分布函数的逆值。
NORMSINV计算标准正态累积分布函数的逆值。
标准化将数值转换为均值为 0、标准差为 1 的标准正态分布。
ODD将一个数字向上舍入为最接近的奇数整数。
POISSON计算给定事件数的泊松分布概率。
TDIST计算指定值和自由度的学生 t 分布。
SUMXMY2计算两个数组中相应数值之差的平方和。
SUMX2MY2计算两个数组中相应数值之差的平方和。
SUMX2PY2计算两个数组中相应数值之和的平方和。
INTERCEPT计算图表中趋势线与 y 轴的交叉点。
坡度计算图表中趋势线的斜率。
DEVSQ返回数据点偏离均值的平方和。
SUMSQ计算一组数字的平方和。
大号根据指定的 k,返回数据集中的第 k 个最大值。
小型根据指定的 k,返回数据集中的 k 个最小值。
PERCENTILE返回数据集的 k 百分位数,其中 k 已指定。
PERCENTRANK返回数据集中某个值的排名占总值的百分比。
模式返回数据集中出现频率最高的值。
连接将多个文本字符串合并为一个字符串。
权力将一个数字提升到指定的幂。
雷达兵将度转换为弧度。
度数将弧度转换为度。
小计在一个范围内执行各种计算(如求和、求平均值),您可以选择是否包含或排除范围内的其他 SUBTOTAL 结果。
SUMIF将范围内符合指定条件的所有数字相加。
COUNTIF计算某一范围内符合指定条件的单元格数量。
计数板计算范围内空单元格的数量。
罗马将阿拉伯数字转换为罗马数字。
超级链接创建指向网页或文件的超链接。
MAXA从一组数字(包括文本和逻辑值)中返回最大值。
MINA从一组数字(包括文本和逻辑值)中返回最小值。
Chaknith related to 支持的公式

查克尼特·宾

软件工程师

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