跳到主要內容跳到頁尾

數學基礎函式:MOD、ABS、POWER、SQRT、SIGN、PRODUCT、ISEVEN 與 ISODD

7 分鐘閱讀Lv.2 中級摘要與日期

整理 MOD 餘數(含負數與除以 0)、ABS 絕對值、POWER 與 ^ 次方、SQRT 開根號、SIGN 正負號、PRODUCT 連乘、ISEVEN 與 ISODD 奇偶判斷的語法與例子,並附隔列標記、時間換算、誤差總和、兩點距離與連續成長率的實例。

發布 更新

文章目錄

這次要整理八個長得很樸素的數學函式:MOD、ABS、POWER、SQRT、SIGN、PRODUCT、ISEVEN 跟 ISODD。

它們單獨看都很簡單,但常常是別的公式裡的小零件。坦白說我用最多的是 MOD 跟 ABS,剩下的偶爾才出場,所以這篇當工具書,需要的時候回來查就好。四捨五入那一組在 四捨五入函式整理,這篇不重複。

後面的例子都用這張小表,A 欄是品項,B 欄是實際賣出的杯數,C 欄是目標杯數:

ABC
1品項實際目標
2蘋果紅茶3740
3青茶112100
4烏龍茶810
5蘋果綠茶5350
6檸檬紅茶2630
7桂花烏龍9180
8熟成紅茶1415

怎麼選

  • 想知道除完剩多少、想每隔幾列做一次事:MOD。
  • 只在乎差多少、不管誰大誰小:ABS。
  • 只想知道是正、負還是零:SIGN。
  • 次方跟開根號:POWER(也可以用 ^)、SQRT。
  • 一排數字全部乘起來:PRODUCT。
  • 判斷整數是奇數還是偶數:ISODD、ISEVEN。

餘數與正負

MOD

MOD 回傳兩數相除後剩下的餘數。

語法:

  • 被除數:要被除的數字。
  • 除數:拿來除的數字。兩個都必填。

我想知道每箱裝 12 杯,B2 的 37 杯裝完整箱後會剩幾杯。手算:12 × 3 = 36,37 − 36 = 1。用函式寫就是:

Google 試算表公式
fx

37 杯每箱裝 12 杯,剩幾杯

=MOD(B2, 12)

你應該會得到 1!往下複製到整欄,B2 到 B8 的餘數依序是:

實際每箱 12 杯剩幾杯
2371
31124
488
5535
6262
7917
8142

幾箱則是 ,37 杯是 3 箱。

MOD 很常拿來做時間換算。125 分鐘是幾小時幾分鐘:

公式顯示結果
2
5

也就是 2 小時 5 分。

還有隔幾列做一次事。 在第 3、6、9⋯⋯列會是 TRUE,拿去當條件式格式的條件,就能每三列塗一次色。

兩個要注意的地方:

  • 除數是 0 會得到 #DIV/0!。
  • 負數的餘數,符號會跟著除數走。 是 2, 是 -2。這點跟有些程式語言不一樣,Excel 也是同一個規則。

ABS

ABS 會去掉負號,回傳絕對值。

語法:

我想看每個品項離目標差幾杯,不管是多賣還是少賣。先算「實際減目標」:

Google 試算表公式
fx

實際與目標的差,會有正有負

=B2-C2

蘋果紅茶是 -3,青茶是 12,有正有負。包一層 ABS 就只看距離:

Google 試算表公式
fx

只看差多少,不看方向

=ABS(B2-C2)
實際減目標ABS
2-33
31212
4-22
533
6-44
71111
8-11

七個品項的總差距,不讓正負互相抵銷,可以一次算:

Google 試算表公式
fx

七個品項的絕對差距加總

=ARRAYFORMULA(SUM(ABS(B2:B8-C2:C8)))

3 + 12 + 2 + 3 + 4 + 11 + 1 = 36,你應該會得到 36。如果直接算 ,正負會互相抵銷,只會得到 16,兩者差很多。

SIGN

SIGN 只問方向:負數回 -1,零回 0,正數回 1。

語法:

Google 試算表公式
fx

多賣是 1,少賣是 -1

=SIGN(B2-C2)
實際減目標SIGN
2-3-1
3121
4-2-1
531
6-4-1
7111
8-1-1

把 SIGN 的結果放在 D 欄,要數多賣的品項有幾個,就是 ,答案是 3。老實說我很少單獨用 SIGN,通常是想用 -1、0、1 去當成別的函式的選項時才拿來墊一下。

次方與開根號

POWER

POWER 回傳底數的指定次方。

語法:

  • 底數:要連乘的數。
  • 指數:乘幾次。可以是小數,也可以是負數。
公式顯示結果
1024
125
0.25
3

最後一列用 0.5 次方,就是開根號。

^ 運算子做同一件事, 跟 都是 125。我個人幾乎都直接寫 ^,比較短;POWER 的好處是公式比較好讀,尤其是參數是別的函式的時候。

最常見的用途是複利。我有 28,600 元,年利率 1.5%,放 8 年。手算要連乘 8 次,用 POWER:

Google 試算表公式
fx

複利 8 年,四捨五入到整數

=ROUND(28600 * POWER(1.015, 8), 0)

結果是 32,218。外面的 ROUND 在 四捨五入函式整理 有講。

SQRT

SQRT 回傳正數的平方根。

語法:

公式顯示結果
12
#NUM!

負數開根號會得到 #NUM!。如果你的數字可能是負的,又只想要它的大小,可以先包 ABS: 是 2。

來看一個用途:平面上兩點 (3, 7) 跟 (11, 2) 的直線距離。x 差 8、y 差 5,距離是 8 平方加 5 平方再開根號:

Google 試算表公式
fx

兩點距離,取兩位小數

=ROUND(SQRT(POWER(11-3, 2) + POWER(2-7, 2)), 2)

8 × 8 + 5 × 5 = 89,√89 約 9.4340,你應該會得到 9.43。

連乘與奇偶

PRODUCT

PRODUCT 把一串數字全部乘起來。

語法:

可以放單格、範圍,也可以混著放。

公式顯示結果
33152

37 × 112 × 8 = 33,152。範圍裡的文字會被略過,所以 只會乘到 B2 的 37。

它真正派上用場的是連續的成長率。假設三個月的月成長率是 +3%、-2%、+5%,也就是 0.03、-0.02、0.05,放在 G2 到 G4。三個月總共成長多少,不能把 3、-2、5 直接加起來,要把「1 加成長率」乘起來:

Google 試算表公式
fx

三個月的成長率連乘

=ARRAYFORMULA(PRODUCT(1 + G2:G4))
公式顯示結果
1.05987

1.03 × 0.98 × 1.05 = 1.05987,也就是三個月總共成長約 5.99%。

ISEVEN

ISEVEN 判斷數字是不是偶數,是就回 TRUE。

語法:

公式顯示結果
TRUE
FALSE
TRUE

我用它的機會,多半是配 ROW 取偶數列。例如只留下表格的偶數列(第 2、4、6、8 列):

Google 試算表公式
fx

只留下偶數列

=FILTER(A2:B8, ISEVEN(ROW(A2:A8)))

公式放在 E2,結果會展開到 E2:F5:

EF
2蘋果紅茶37
3烏龍茶8
4檸檬紅茶26
5熟成紅茶14

FILTER 的細節在 FILTER 函式。

ISODD

ISODD 跟 ISEVEN 正好相反,奇數回 TRUE。

語法:

公式顯示結果
TRUE
FALSE
TRUE

負數也能判斷。其實 ISODD(n) 跟 MOD(n, 2) = 1 是同一件事,我個人比較喜歡寫 ISODD,因為一看就知道在問奇偶。

練習

1

每箱 12 杯的箱數與剩餘

B5 是 53 杯,每箱裝 12 杯,想用兩條公式算出裝滿幾箱、剩幾杯,公式怎麼寫?

2

最大的差距

七個品項中,實際與目標差最多的是幾杯(不看方向),一條公式怎麼寫?

這些零件放進 IF 或條件式格式的公式裡才會真的好用,IF 可以先看 IF 與布林邏輯。

我是喜特先生,Mr. Sheet,我們下個教學見!

分享:
#MOD#ABS#POWER#SQRT#數學函式
喜特先生 Mr. Sheet

喜特先生 Mr. Sheet

數據分析師/商業分析師

八年工作經驗,跨不同業界解決數據需求。做過的案例都整理在作品集。

接下來可以

相關文章

查看所有文章

留言討論

共 0 則留言

訂閱電子報,新文章上線就通知你

免費,隨時可取消。

送出即表示同意服務條款與隱私權政策。