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