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, ...)