Excel VBA 中可用的工作表函数
VBA 工作表函数速查指南 本文整理了 VBA 中通过 Application.WorksheetFunction 调用的 Excel 函数,按字母分组说明。包含数学计算(如 Acos、Average)、统计函数(如 ChiTest、Correl)、财务函数(如 Irr、Npv)、查找函数(如 VLookup、Match)及文本处理(如 Clean、Proper)等类别。每个函数附简要说明和 VB
Visual Basic for Applications (VBA) 中可用的工作表函数。可以在 VBA 中通过 Application.WorksheetFunction 对象调用。
下面我将按照字母分组,对每个函数进行简要解释,并给出在 VBA 中使用的示例。
A 组
-
Acos: 返回数字的反余弦值。
result = Application.WorksheetFunction.Acos(0.5) -
Acosh: 返回数字的反双曲余弦值。
result = Application.WorksheetFunction.Acosh(2) -
And: 逻辑与运算(通常直接使用 VBA 的
And运算符)。result = Application.WorksheetFunction.And(True, False) -
Asin: 返回数字的反正弦值。
-
Asinh: 返回数字的反双曲正弦值。
-
Atan2: 返回给定 x 和 y 坐标的反正切值。
-
Atanh: 返回数字的反双曲正切值。
-
AveDev: 返回数据点与其平均值的绝对偏差的平均值。
-
Average: 返回参数的平均值。
avg = Application.WorksheetFunction.Average(Range("A1:A10"))
B 组
- BetaDist: 返回 Beta 分布的概率密度函数。
- BetaInv: 返回 Beta 累积分布函数的反函数。
- BinomDist: 返回一元二项式分布的概率。
C 组
-
Ceiling: 将数字向上舍入到最接近的指定基数的倍数。
-
ChiDist: 返回卡方分布的右尾概率。
-
ChiInv: 返回卡方分布右尾概率的反函数。
-
ChiTest: 返回独立性检验的卡方统计值。
-
Choose: 根据索引从值列表中选择一个值。
value = Application.WorksheetFunction.Choose(2, "Apple", "Banana", "Cherry") -
Clean: 移除文本中所有非打印字符。
-
Combin: 返回给定数目对象的组合数。
-
Confidence: 返回总体平均值的置信区间。
-
Correl: 返回两个数据集之间的相关系数。
-
Cosh: 返回数字的双曲余弦值。
-
Count: 计算包含数字的单元格数量。
-
CountA: 计算非空单元格数量。
-
CountBlank: 计算空单元格数量。
-
CountIf: 计算满足条件的单元格数量。
count = Application.WorksheetFunction.CountIf(Range("A1:A10"), ">10") -
Covar: 返回协方差。
-
CritBinom: 返回使累积二项式分布小于或等于临界值的最小值。
D 组
- DAverage: 返回数据库中满足条件的平均值。
- Days360: 基于 360 天计算两个日期之间的天数。
- Db: 使用固定余额递减法计算折旧。
- DCount: 计算数据库中满足条件的数字单元格数量。
- DCountA: 计算数据库中满足条件的非空单元格数量。
- Ddb: 使用双倍余额递减法计算折旧。
- Degrees: 将弧度转换为角度。
- DevSq: 返回偏差的平方和。
- DGet: 从数据库中提取满足条件的单个值。
- DMax: 返回数据库中满足条件的最大值。
- DMin: 返回数据库中满足条件的最小值。
- Dollar: 将数字转换为货币格式文本。
- DProduct: 返回数据库中满足条件的数值的乘积。
- DStDev: 估算数据库中满足条件的样本标准差。
- DStDevP: 计算数据库中满足条件的总体标准差。
- DSum: 返回数据库中满足条件的和。
- DVar: 估算数据库中满足条件的样本方差。
- DVarP: 计算数据库中满足条件的总体方差。
E 组
- Even: 将数字向上舍入到最接近的偶数。
- ExponDist: 返回指数分布。
F 组
- Fact: 返回数字的阶乘。
- FDist: 返回 F 概率分布。
- Find: 查找字符串在另一个字符串中的位置(区分大小写)。
- FindB: 用于双字节字符集的 Find。
- FInv: 返回 F 概率分布的反函数。
- Fisher: 返回 Fisher 变换值。
- FisherInv: 返回 Fisher 变换的反函数。
- Fixed: 将数字格式化为具有固定小数位数的文本。
- Floor: 将数字向下舍入到最接近的指定基数的倍数。
- Forecast: 根据线性趋势预测值。
- Frequency: 返回频率分布数组。
- FTest: 返回 F 检验的结果。
- Fv: 返回投资的未来值。
G 组
- GammaDist: 返回伽马分布。
- GammaInv: 返回伽马累积分布的反函数。
- GammaLn: 返回伽马函数的自然对数。
- GeoMean: 返回几何平均值。
- Growth: 返回指数趋势预测值。
H 组
- HarMean: 返回调和平均值。
- HLookup: 水平查找函数。
- HypGeomDist: 返回超几何分布。
I 组
-
Index: 返回表或区域中的值或引用。
value = Application.WorksheetFunction.Index(Range("A1:C10"), 3, 2) -
Intercept: 返回线性回归的截距。
-
Ipmt: 返回投资期间支付的利息。
-
Irr: 返回内部收益率。
-
IsErr: 检查是否为错误值(除 #N/A 外)。
-
IsError: 检查是否为任何错误值。
-
IsLogical: 检查是否为逻辑值。
-
IsNA: 检查是否为 #N/A 错误。
-
IsNonText: 检查是否为非文本。
-
IsNumber: 检查是否为数字。
-
Ispmt: 返回特定期间内支付的利息。
-
IsText: 检查是否为文本。
J 组
(无函数)
K 组
- Kurt: 返回数据集的峰值。
L 组
- Large: 返回数据集中第 k 大的值。
- LinEst: 返回线性趋势的参数。
- Ln: 返回数字的自然对数。
- Log: 返回数字的指定底数的对数。
- Log10: 返回数字的以 10 为底的对数。
- LogEst: 返回指数趋势的参数。
- LogInv: 返回对数分布的反函数。
- LogNormDist: 返回对数累积分布。
- Lookup: 查找值(向量或数组形式)。
M 组
-
Match: 返回查找值在数组中的位置。
pos = Application.WorksheetFunction.Match("Apple", Range("A1:A10"), 0) -
Max: 返回最大值。
-
MDeterm: 返回矩阵的行列式。
-
Median: 返回中位数。
-
Min: 返回最小值。
-
MInverse: 返回矩阵的逆矩阵。
-
MIrr: 返回修改内部收益率。
-
MMult: 返回两个矩阵的乘积。
-
Mode: 返回数据集中出现频率最高的值。
N 组
- NegBinomDist: 返回负二项式分布。
- NormDist: 返回正态累积分布。
- NormInv: 返回正态累积分布的反函数。
- NormSDist: 返回标准正态累积分布。
- NormSInv: 返回标准正态累积分布的反函数。
- NPer: 返回投资期数。
- Npv: 返回净现值。
O 组
- Odd: 将数字向上舍入到最接近的奇数。
- Or: 逻辑或运算(通常直接使用 VBA 的
Or运算符)。
P 组
- Pearson: 返回 Pearson 乘积矩相关系数。
- Percentile: 返回区域中第 k 个百分点的值。
- PercentRank: 返回数据集中值的百分比排位。
- Permut: 返回给定数目对象的排列数。
- Phonetic: 提取文本中的拼音字符(主要用于日语)。
- Pi: 返回 π 的值。
- Pmt: 返回每期付款额。
- Poisson: 返回泊松分布。
- Power: 返回数字的乘幂。
- Ppmt: 返回每期付款中的本金部分。
- Prob: 返回区域中的值落在指定区间内的概率。
- Product: 返回参数的乘积。
- Proper: 将文本转换为首字母大写。
- Pv: 返回投资的现值。
Q 组
- Quartile: 返回数据集的四分位数。
R 组
- Radians: 将角度转换为弧度。
- Rank: 返回数字在列表中的排位。
- Rate: 返回每期利率。
- Replace: 替换文本中的部分字符串。
- ReplaceB: 用于双字节字符集的 Replace。
- Rept: 重复文本指定次数。
- Roman: 将数字转换为罗马数字文本。
- Round: 将数字四舍五入到指定位数。
- RoundDown: 向下舍入数字。
- RoundUp: 向上舍入数字。
- RSq: 返回 Pearson 相关系数的平方。
- RTD: 从 COM 自动化服务器中检索实时数据。
S 组
-
Search: 查找字符串在另一个字符串中的位置(不区分大小写)。
-
SearchB: 用于双字节字符集的 Search。
-
Sinh: 返回数字的双曲正弦值。
-
Skew: 返回分布的偏度。
-
Sln: 返回直线折旧法的每期折旧。
-
Slope: 返回线性回归的斜率。
-
Small: 返回数据集中第 k 小的值。
-
Standardize: 返回正态化数值。
-
StDev: 估算样本标准差。
-
StDevP: 计算总体标准差。
-
StEyx: 返回回归的标准误差。
-
Substitute: 替换文本中的特定文本。
-
Subtotal: 返回列表或数据库中的分类汇总。
-
Sum: 求和。
total = Application.WorksheetFunction.Sum(Range("A1:A10")) -
SumIf: 对满足条件的单元格求和。
-
SumProduct: 返回数组对应元素乘积的和。
-
SumSq: 返回参数的平方和。
-
SumX2MY2: 返回两个数组中对应值平方差之和。
-
SumX2PY2: 返回两个数组中对应值平方和之和。
-
SumXMY2: 返回两个数组中对应值差的平方和。
-
Syd: 返回年限总和折旧法的每期折旧。
T 组
- Tanh: 返回数字的双曲正切值。
- TDist: 返回 Student t 分布。
- Text: 将数值转换为文本。
- TInv: 返回 Student t 分布的反函数。
- Transpose: 转置数组。
- Trend: 返回线性趋势值。
- Trim: 移除文本中的多余空格。
- TrimMean: 返回数据集的内部平均值。
- TTest: 返回与 Student t 检验相关的概率。
U 组
- USDollar: 将数字转换为美元格式文本。
V 组
- Var: 估算样本方差。
- VarP: 计算总体方差。
- Vdb: 使用可变余额递减法计算折旧。
- VLookup: 垂直查找函数。
value = Application.WorksheetFunction.VLookup("Apple", Range("A1:B10"), 2, False)
W 组
- Weekday: 返回代表一周中第几天的数值。
- Weibull: 返回韦伯分布。
X, Y, Z 组
(无函数,除了 ZTest)
- ZTest: 返回 z 检验的单尾概率值。
使用说明
在 VBA 中使用这些函数时,通常这样调用:
Dim result As Variant
result = Application.WorksheetFunction.FunctionName(arg1, arg2, ...)
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)