1. ABS-求絕對值
1)概述
文法 | ABS(number) | 傳回指定數位的絕對值 絕對值是指沒有正負符號的數值 |
---|---|---|
參數 | number | 需要求出絕對值的任意實數 |
回傳值 | number | - |
2)範例
公式 | 結果 |
---|---|
ABS(-1.5) | 1.5 |
ABS(0) | 0 |
ABS(2.5) | 2.5 |
3)視頻教程:ABS 函式
2. AVERAGE
AVERAGE(number1,number2,…):傳回指定資料的平均值。 Number1,number2…:用於計算平均值的參數。
注: 參數必須是數字,或是含有數位的名稱,陣列或引用。 如果陣列或引用參數中含有文字,邏輯值,或空白儲存格,這些值將被忽略;但是,儲存格中的零值則參與計算。
範例:
如果 A1:A6 被命名為“ages”,分別等於 10,23,14,24,33 及 25,則:
AVERAGE(A1:A6)等於 21.5。
AVERAGE(ages)等於 21.5。
如果還有一個年齡為 18 的,求所有年齡的平均值為:
AVERAGE(A1:A6,18)等於 21。
(即對陣列:10,23,14,24,33,25,18 進行取平均值運算)
視頻教程:average 函式
3. BITNOT
BITNOT(int):將一個十進制整數進行二進制取反運算。 int:需要進行轉換的十進制數。
範例:
BITNOT(3)等於 -4。
BITNOT(12)等於 -13。
4. BITOPERATION
BITOPERATIOIN(int,int,op):位運算,傳回兩個整數根據 op 進行位運算後的結果。 int:十進制整數。 op:位運算運算子,支援"&"(與),"|"(或),"^"(異或),"<<"(左移),">>"(右移)。
範例:
BITOPERATION(4,2,"&")等於 0。(表示 4 與 2 進行"與"運算。)
BITOPERATION(4,2,"|")等於 6。(表示 4 與 2 進行"或"運算。)
BITOPERATION(4,2,"^")等於 6。(表示 4 與 2 進行"異或"運算。)
BITOPERATION(4,2,"<<")等於 16。(表示 4 按位左移 2 位。4 的二進制為:100,左移 2 位變成:10000;即十進制 16。)
BITOPERATION(4,2,">>")等於 1。(表示 4 按位右移 2 位。4 的二進制 100 右移 2 為變成:1;即十進制 1。)
BITOPERATION(4,2,"^~")等於 -7。(表示 4 與 2 進行"同或"運算。)
5. CEILING
CEILING(number):將參數 number 沿絕對值增大的方向,舍入為最接近的整數
範例:
CEILING(-2.5)等於 -3。
CEILING(0.5)等於 1。
6. COMBIN
COMBIN(number,number_chosen):傳回若干個指定物件的組合數。函式中的 number 指物件總數,number_chosen 指物件總數中某一組合的數量。該函式與數學表式為 Cnk 功能相同, 數學表式中的"n"指物件總數。,"k"指在物件總數中某一組合的數量。
注: Number 與 number_chosen 必須是非負整數,且 Number>=number_chosen,否則傳回*VALUE?。 物件組合是物件總體的子集。與排列不同的是,組合不涉及物件內部排序。 假設 number=n,number_chosen= k,則 COMBIN(n,k)=Cnk=n!/(k!(n-k)!)。
範例:
COMBIN(5,2)等於 10。
意思是 5 個元素進行排列組合,每組 2 個元素,共有 10 種排法。如下圖所示:
7. COUNT
COUNT(value1,value2,…):計算陣列或資料區域中所含數字項的個數。 Value1,value2,…:可包含任何類型資料的參數,但此函式只將數字體別的資料計算在內。 備註:數字、日期或以文字代表的數字參數將被計算在內;但無法轉換成數位的錯誤值或正文值參數將忽略不計。 如果陣列或引用參數中包含可解析正文值、邏輯值、零值或空白儲存格,這些值都將參與計算,而不可解析的正文值忽略不計。
注: 數字、日期或以文字代表的數字參數將被計算在內;但無法轉換成數位的錯誤值或正文值參數將忽略不計。 如果陣列或引用參數中包含可解析正文值、邏輯值、零值或空白儲存格,這些值都將參與計算,而不可解析的正文值忽略不計。
COUNT(0,0,0,0,0,0)等於6。
視頻教程:count 函式
8. DECIMAL
1)概述
文法 | DECIMAL(number) | 傳回number的大數類型,常用於精確計算,函式入參會進行trim處理(去除字串的首尾空格)。 |
---|---|---|
參數 | number | 任意實數 |
回傳值 | number | - |
2)範例
公式 | 結果 |
---|---|
DECIMAL(number) | 1.5 |
DECIMAL(0) | 0 |
DECIMAL(2.5) | 2.5 |
9. EVEN
EVEN(number):傳回沿絕對值增大方向取整後最接近的偶數。使用該函式可以處理那些成對出現的物件。 number:所要取整的數值。
注: 不論正負號如何,數值都朝着遠離 0 的方向舍入。如果 number 恰好是偶數,則不須進行任何舍入處理。
範例:
EVEN(1.5)等於 2。
EVEN(3)等於 4。
EVEN(2)等於 2。
EVEN(-1)等於 -2。
10. EXP
EXP(number):傳回 e 的 n 次冪。常數 e 為自然對數的底數,等於 2.71828182845904。 Number:為任意實數,作為常數 e 的指數。
注: 如果要傳回其他常數作為底數的冪,可以使用指數運算子(^)。例如:在 4^2 中,4 是底數,而2是指數。 EXP 函式與 LN 函式互為反函式。
範例:
EXP(0)等於 1。
EXP(3)等於 20.08553692。
EXP(LN(2))等於 2。
11. FACT
FACT(number):傳回數的階乘,一個數的階乘等於 0!*1*2*3*...*number(其中0!=1)。 number:要計算其階乘的非負數。如果輸入 number不是整數,則截尾取整。
範例:
FACT(1)等於 1 。
FACT(1.9)等於 FACT(1) 等於 1。
FACT(5)等於 1*2*3*4*5 等於 120。
12. FLOOR
FLOOR(number):將參數number去尾舍入,即捨棄掉參數 number 後面的小數部分的數值。
注: 當number為非數值類型的參數時,函式 FLOOR 傳回 0。
範例:
FLOOR(2.5)等於 2。
FLOOR(-3.5)等於 -3。
FLOOR(0.143,0.03)等於 0。
FLOOR(hello)等於 0。
13. INT
INT(number):傳回數字下舍入(數值減小的方向)後最接近的整數值。 Number:需要下舍入為整數的實數。
範例:
INT(4.8)等於 4。
INT(-4.8)等於 -5。
INT(4.3)等於 4。
公式 INT(A1) 將傳回 A1 儲存格中的一個正實數的整數數部分
14. LN
LN(number):傳回一個數的自然對數。自然對數以常數項 e(2.71828182845904)為底。 number:是用於計算其自然對數的正實數。
範例:
LN(86)等於 4.45437。
LN(2.7182818)等於 1。
LN(EXP(3))等於 3。
15. LOG
LOG(number,base):按指定的任意底數,傳回數值的對數。Number:需要求對數的正實數。 Base:對數的底數。預設預設值為 10。
範例:
LOG(16,2)等於 4。
LOG(10)等於 1。
LOG(24,3)等於 2.892789261。
16. LOG10
LOG10(number):LOG10(number):傳回以 10 為底的對數。number:用於常用對數計算的正實數。
範例:
LOG10(86)等於 1.934498451。
LOG10(10)等於 1。
17. MAX
MAX(number1,number2,…):傳回參數列表中的最大值。 Number1,number2,…:1 到 30 個需要找出最大值的參數。
注1:參數可以是數字、空白儲存格、邏輯值或數位的正文運算式。 如果陣列或引用參數中包含可解析正文值,邏輯值,零值或空白儲存格,這些值都將參與計算,而不可解析的正文值忽略不計。 如果參數中沒有任何數字,MAX 將傳回 0。
注2:MAX 函式計算最大值時,若最大值的後四位小數位為 9999(如7.909999),則對最大值進行四捨五入,傳回7.91。可透過巢狀 SUMPRECISE() 函式避免四捨五入,獲取精確的最大值,如 SUMPRECISE(MAX(5.19999,5.1)) 傳回 5.19999 。
範例:
MAX(0.1,0,1.2)等於 1.2。
視頻教程:MAX 函式
18. MIN
MIN(number1,number2,…):傳回參數列表中的最小值。 Number1,number2,…:1 到 30 個需要找出最小值的參數。
注1: 若參數中沒有數字,函式 MIN 將傳回 0。 參數應為數字、空白儲存格、邏輯值或是表示數值的正文串。如果參數是錯誤值時,MIN 將傳回錯誤資訊。 如果陣列或引用參數中包含可解析正文值,邏輯值,零值或空白儲存格,這些值都將參與計算,而不可解析的正文值忽略不計。
注2:MIN 函式計算最小值時,若最小值的後四位小數位為 9999(如2.909999),則對最小值進行四捨五入,傳回2.91。可透過巢狀 SUMPRECISE() 函式避免四捨五入,獲取精確的最小值,如 SUMPRECISE(MAX(2.19999,2.2)) 傳回 2.19999 。
範例:
如果 B1:B4 包含 3,6,9,12,則:
MIN(B1:B4)等於 3。
MIN(B1:B4,0)等於 0。
視頻教程:MIN 函式
19. MOD
MOD(number,divisor):傳回兩數相除的餘數。結果的正負號與除數相同。 number:為被除數。 divisor:為除數。
範例:
MOD(3, 2)等於 1 。
MOD(-3, 2)等於 1 。
MOD(3, -2)等於 -1 。
MOD(-3, -2)等於 -1。
注:小數的情況比較特殊。例:mod(49.5, 5.5)=4,並非我們的期望值 0,我們可以採取其變通的方法:mod(49.5*10, 5.5*10)=0;mod(49.6, 5.5)=4,並非我們的期望值 0.1,同理:mod(49.6*10, 5.5*10)/10=0.1 //將其先取整再求餘!
20. ODD
ODD(number):是將一個不是奇數的數值向上舍入為最接近的奇數。 number:是要舍入求奇的數值。
注:不論正負號如何,數值都朝着遠離0的方向舍入。如果 number恰好是奇數,則不須進行任何舍入處理。
範例:
ODD(1.5)等於 3。
ODD(3)等於 3。
ODD(2)等於 3。
ODD(-1)等於 -1。
21. PI
PI:是一個數學常數,函式傳回精確到 15 位的數值 3.141592653589793。
範例:
SIN(PI()/2)等於 1。( 計算圓的面積的公式: S=PI()*(r^2),其中 S 為圓的面積,R 為圓的半徑。)
22. POWER
POWER(number,power):傳回指定數位的乘冪。 Number:底數,可以為任意實數。 Power:指數。參數 number 按照該指數次冪乘方。
注: 可以使用符號“^”代替 POWER,如: POWER(5,2) 等於 5^2。
範例:
POWER(6,2)等於 36。(6^2=6*6)
POWER(14,5)等於 537824。(14^5=14*14*14*14*14)
POWER(4,2/3)等於 2.519842100。(=3√(4^2)即3√16)
POWER(3,-2.3)等於 0.079913677。(3√(1/9))
23. PRODUCT
PRODUCT(number1,number2, ...):將所有以參數形式給出的數相乘,並傳回乘積值。 number1, number2, ...:為 1 到 n個需要相乘的數字參數。(參數個數的上限為 30) 。
範例:
PRODUCT(3,4)等於 12。(3*4)
PRODUCT(3,4,5)等於 60。(3*4*5)
24. PROMOTION
PROMOTION(value1,value2):傳回 value2 在 value 1上提升的比例.
範例:
PROMOTION(12, 14)等於 0.166666666(即提升了 16.6666666%.)。=(14-12)/12
PROMOTION(-12, 14)等於 2.166666666(即提升了 216.6666666%)。=(14-(-12))/12
25. RAND
RAND():傳回一個隨機數。數值位於區域[0,1],每計算一次工作表,函式都會傳回一個新的隨機數值。
注: 要生成一個位於 a 和 b 之間的隨機數,可以使用公式 =RAND()*(b-a)+a。
範例:
RAND()*60(生成一個大於等於0,小於60的隨機數。)
RAND()*19(生成一個大於等於0,小於19的隨機數。)
RAND()*50(生成一個大於等於0,小於50的隨機數。)
其他漸變生成方法:
1)生成 A 與 B 之間的隨機數字(A≤隨機數<B)
儲存格中輸入公式:RAND()*(B-A)+A
例如:生成 1 到 10 之間的隨機數字,輸入:=RAND()*9+1
2)生成 A 與 B 之間的隨機整數(A≤隨機數<B)
儲存格中輸入公式:=INT(RAND()*(B-A)+A)
例如生成 1 到 10 之間的隨機整數,輸入:=INT(RAND()*9+1)
其餘數字,將滑鼠置於該格子右下角,變為十字時,向下拖拉即可。
3)生成 A 與 B 之間的隨機整數(A≤隨機數≤B)
儲存格中輸入公式:RANDBETWEEN(A,B)即可。
例如生成 1 到 10 之間的隨機整數,輸入:=RANDBETWEEN(1,10)
如想得到1位隨機小數,則輸入:=RANDBETWEEN(1,100)/10,2 位、3 位依此類推=RANDBETWEEN(1,1000)/100、=RANDBETWEEN(1,10000)/1000
26. RANDBETWEEN
RANDBETWEEN(value1,value2):傳回 value1 和 value2 之間的一個隨機整數。
範例:
RANDBETWEEN(12.333, 13.233)只會傳回 13。
RANDBETWEEN(11.2, 13.3)有可能傳回 12 或者 13。
27. ROUND
ROUND(number,num_digits):傳回某個數字按指定位數舍入後的數字。number:需要進行舍入的數字。
如果 num_digits 大於 0,則舍入到指定的小數位。
如果 num_digits 等於 0,則舍入到最接近的整數。
如果 num_digits 小於 0,則在小數點左側進行舍入。
因浮點數存在精度計算丟失問題,導致計算結果裏可能帶上 9999,0000 這些,因此加入第三個參數來控制是否需要去除9999,0000,false 表示需要過濾 9999,0000這些資料,true 表示保留,參數為空則預設為 false。
注1:2020-07-08 及之後版本的 JAR 包才會有第三個參數。
注2:2020-07-08 及之後版本的 JAR 包 number 參數支援字串。
範例:
ROUND(2.15, 1)等於 2.2。
ROUND(2.149, 1)等於 2.1。
ROUND(-1.475, 2)等於 -1.48。
ROUND(21.5, -1)等於 20。
ROUND(1.99999999, 8)等於2。
ROUND(1.99999999, 8, true) 等於 1.99999999。
視頻教程:Round 函式
28. ROUND5
ROUND5(number,num_digits):這個是四捨五入,奇數進位偶數不進位。number:需要進行舍入的數字。num_digits:指定的位數,按此位數進行舍入。
如果 num_digits 大於 0,則舍入到指定的小數位。
如果 num_digits 等於 0,則舍入到最接近的整數。
如果 num_digits 小於 0,則在小數點左側進行舍入。
因浮點數存在精度計算丟失問題,導致計算結果裏可能帶上 9999,0000 這些,因此加入第三個參數來控制是否需要去除9999,0000,false 表示需要過濾 9999,0000這些資料,true 表示保留,參數為空則預設為 false。
注1:2020-07-08 及之後版本的 JAR 包才會有第三個參數。
注2:2020-07-08 及之後版本的 JAR 包 number 參數支援字串。
範例:
ROUND5(2.125, 2)等於 2.12。
ROUND5(2.135, 2) 等於 2.14。
ROUND5(1262.135, -1)等於1260。
ROUND5(1.99999999, 8) 等於2。
ROUND5(1.99999999, 8, true) 等於 1.99999999 。
29. ROUNDDOWN
ROUNDDOWN(number,num_digits):靠近零值,向下(絕對值減小的方向)舍入數字。 number:為需要向下舍入的任意實數。 num_digits:舍入後的數位的位數。
注: 函式 ROUNDDOWN 和函式 ROUND 功能相似,不同之處在於函式 ROUNDDOWN 總是向下舍入數字。
範例:
ROUNDDOWN(3.2, 0)等於 3 。
ROUNDDOWN(76.9,0)等於 76。
ROUNDDOWN(3.14159, 3)等於 3.141 。
ROUNDDOWN(-3.14159, 1)等於 -3.1 。
ROUNDDOWN(31415.92654, -2)等於 31,400。
30. ROUNDUP
ROUNDUP(number,num_digits):遠離零值,向上(絕對值增大的方向)舍入數字。 number:為需要向上舍入的任意實數。 num_digits:舍入後的數位的位數。 備註:函式 ROUNDUP 和函式 ROUND 功能相似,不同之處在於函式 ROUNDUP總是向上舍入數字。
範例:
ROUNDUP(3.2,0)等於 4
ROUNDUP(76.9,0)等於 77
ROUNDUP(3.14159, 3)等於 3.142
ROUNDUP(-3.14159, 1)等於 -3.2
ROUNDUP(31415.92654, -2)等於 31,500
31. SIGN
SIGN(number):傳回數位的符號。當數字為正數時傳回 1,為零時傳回 0,為負數時傳回 -1。 Number:為任意實數。
範例:
SIGN(10)等於 1。
SIGN(4-4)等於 0 。
SIGN(-0.00001)等於 -1。
32. SQRT
SQRT(number):傳回一個正數的平方根。 Number:要求平方根的數。
注: Number 必須是一個正數,否則函式傳回錯誤資訊 NAN。
範例:
SQRT(64)等於 8。
SQRT(-64)傳回 NAN。
33. SUM
1)概述
文法 | SUM(number1,number2,…) | 求一個指定儲存格區域中所有數字之和。 |
---|---|---|
參數 | Number1,number2,… | 1 到 30 個參數或指定儲存格區域中所有數字。 |
回傳值 | number | - |
2)注意事項
函式將直接鍵入參數中的數值、邏輯值及正文運算式計算在內。 若參數是陣列或引用,則只有陣列或儲存格引用中的數值進行計算。
當對精度有要求時,比如整數位大於16位時,需要使用 SUMPRECISE 函式。
3)範例
公式 | 結果 |
---|---|
SUM(70,80) | 150 |
SUM("70",80,TRUE) | 151 邏輯值“TRUE”作為1來計算;“FALSE”作為 0 計算;正文“70”作為 70 來計算。 |
SUM(A1:A5) | 對 A1 到 A5 之間的格子中的數值求和。 |
SUM(A1:A5,50) | 對 A1 到 A5 之間的格子中的數值和數值 50 求和。 |
4)視頻教程:SUM 函式
34. SUMPRECISE
1)概述
文法 | SUMPRECISE(number1,number2,…) | 當對精度有要求時,比如整數位大於16位時,求一個指定儲存格區域中所有數字之和,需要使用這個函式 |
---|---|---|
參數 | Number1,number2,… | 1 到 30 個參數或指定儲存格區域中所有數字。 |
回傳值 | number | - |
2)注意事項
函式將直接鍵入參數中的數值、邏輯值及正文運算式計算在內。 若參數是陣列或引用,則只有陣列或儲存格引用中的數值進行計算。
3)範例
公式 | 結果 |
---|---|
SUMPRECISE(59300000000000000000.23,59300000000000003400.23) | 118600000000000003400.46 |
35. SUMSQ
SUMSQ(number1,number2, ...):傳回所有參數的平方和。 number1, number2, ...:為 n 個需要求平方和的參數(n 的上限為 30),也可以使用陣列或對陣列的引用來代替以逗號分隔的參數。
範例:
SUMSQ(3, 4)等於 25。(3^2+4^2=9+16)
36. TOBINARY
1)概述
文法 | TOBINARY(int) | 將一個十進制整數型態數轉換成二進制表示的字串。 |
---|---|---|
參數 | int | 表示需要進行轉換的十進制整數。 |
回傳值 | String | - |
2)注意事項
int 參數支援範圍:0 ~ Integer.MAX_VALUE。
3)範例
公式 | 結果 | 備註 |
---|---|---|
TOBINARY(10) | 1010 | - |
TOBINARY(20) | 10100 | - |
37. TOHEX
TOHEX(int):將一個十進制整數型態數轉換成十六進制表示的字串。 int:表示需要進行轉換的十進制整數。
範例:
TOHEX(15)等於"f"。
TOHEX(20)等於"14"。
38. TOOCTAL
1)概述
文法 | TOOCTAL(int) | 將一個十進制整數型態數轉換成八進制表示的字串。 |
---|---|---|
參數 | int | 表示需要進行轉換的十進制整數。 |
回傳值 | String | - |
2)注意事項
int 參數支援範圍:0 ~ Integer.MAX_VALUE。
3)範例
公式 | 結果 | 備註 |
---|---|---|
TOOCTAL(10) | 12 | - |
TOOCTAL(20) | 24 | - |
39. TRUNC
TRUNC(number,num_digits):取整。將數位的小數部分截去,傳回整數。 number:需要截尾取整的數字。 num_digits:用於指定取整精度的數字。
範例:
TRUNC(8.9)等於 8。
TRUNC(-8.9)等於 -8。
TRUNC(PI())等於 3。
40. WEIGHTEDAVERAGE
WEIGHTEDAVERAGE(cell1,cell2):傳回指定儲存格資料的加權平均值。
加權平均值:是不同比重資料的平均數,即將各數值乘以相應的權數,然後加總求和得到總體值,再除以權數和得到的值。
參數 | 含義 | 參數格式 |
---|---|---|
cell1 | 數值儲存格 | 儲存格名稱,例如:A1:A4 |
cell2 | 權數儲存格 | 儲存格名稱,例如:B1:B4 |
範例:
報表中, A1,A2,A3,A4 儲存格值分別為 10,9,8,7;B1,B2,B3,B4 儲存格值分別為 0.2,0.1,0.3,0.4
求加權平均值:WEIGHTEDAVERAGE(A1:A4,B1:B4) 等於 8.1,即(10*0.2+9*0.1+8*0.3+7*0.4)/(0.2+0.1+0.3+0.4)=8.1。
注:求加權平均值時涉及到的所有儲存格中資料必須都是數值類型。
41. GCD-求1-255個數的最大公約數
1)概述
文法 | GCD(number1,number2,number3,........) | 求1-255個數的最大公約數 |
---|---|---|
參數 | number | 可以是具體的數字、參數、表格區域、可轉義為數位的字串; |
2)注意事項
參數最終值、表格區域最終值必須為數字或可以轉義為數位的字串
number元素個數為1-255個,超過255個時,取前255個元素,0個時傳回錯誤#VALUE
注:支援匯出Excel保留公式。
注:支援 11.0.5 以及之後的版本使用。
3)範例
GCD()等於#VALUE
GCD(16,12)等於4
42. LCM-求1-255個數的最小公倍數
1)概述
文法 | LCM(number1,number2,number3,........) | 求1-255個數的最小公倍數 |
---|---|---|
參數 | number | 可以是具體的數字、參數、表格區域; |
2)注意事項
參數最終值、表格區域最終值必須為數字或可以轉義為數位的字串,若存在非數字元素,則自動忽略該元素
number元素個數為1-255個,超過255個時,取前255個元素,0個時傳回錯誤#VALUE
注1:支援匯出Excel保留公式。
注2:支援 11.0.5 以及之後的版本使用。
3)範例
LCM()等於#VALUE
LCM(4,5)等於20