EQ、NE、GT、GTE、LT、LTE,這六個函式的意思就是 =、<>、>、>=、<、<=,回答的都是「這兩個值的關係成不成立」,答案只有 TRUE 或 FALSE。
我自己的公式裡幾乎沒有直接寫過它們,B2>=C2 比 GTE(B2, C2) 好讀太多了。這篇當作工具書,順便把一個很實用的 ISBETWEEN 一起整理,它沒有對應的符號,要判斷「介於兩個值之間」又不想寫兩段 AND 的時候很好用。
後面的例子都用這張小表,A 欄是品項,B 欄是實際賣出的杯數,C 欄是目標杯數:
| A | B | C | |
|---|---|---|---|
| 1 | 品項 | 實際 | 目標 |
| 2 | 蘋果紅茶 | 37 | 40 |
| 3 | 青茶 | 112 | 100 |
| 4 | 烏龍茶 | 8 | 10 |
| 5 | 蘋果綠茶 | 53 | 50 |
| 6 | 檸檬紅茶 | 26 | 30 |
| 7 | 桂花烏龍 | 91 | 80 |
| 8 | 熟成紅茶 | 14 | 15 |
怎麼選
| 函式 | 等同的寫法 | 成立的時候 |
|---|---|---|
EQ | = | 兩個值相等 |
NE | <> | 兩個值不相等 |
GT | > | 第一個比第二個大 |
GTE | >= | 第一個大於或等於第二個 |
LT | < | 第一個比第二個小 |
LTE | <= | 第一個小於或等於第二個 |
ISBETWEEN 不在表裡,因為它沒有對應的符號,在最後一節單獨講。
兩件事先記著:
- 比較函式只吃兩個參數,所以要寫「介於兩者之間」這種條件,要自己用
AND接兩個比較,或是改用ISBETWEEN。 - 平常寫公式用符號就好。需要把「比較」當成參數交給別的函式,或想把一個複雜條件拆成一個一個有名字的步驟時,函式版才派得上用場,後面「要傳函式的地方」會講。
相等與不相等
EQ
兩個值相等就傳回 TRUE,等於 =。
語法:
蘋果紅茶實際賣 37 杯,目標是 40:
實際是否等於目標
=EQ(B2, C2)37 不等於 40,你應該會得到 FALSE。拿 37 這個數字直接比, 就是 TRUE。
文字比較時不分大小寫,這點跟 = 一樣:
文字比較不分大小寫
=EQ("apple", "APPLE")結果是 TRUE。另外要注意數字 1 跟文字 "1" 不相等, 的結果是 FALSE。
NE
兩個值不相等就傳回 TRUE,等於 <>。
語法:
實際是否不等於目標
=NE(B2, C2)37 不等於 40,結果是 TRUE。NE 等同 <> 運算子,文中都用 <>。
大於與小於
GT
第一個值大於第二個值就傳回 TRUE,等於 >。
語法:
青茶實際賣了 112 杯,目標 100:
青茶實際是否大於目標
=GT(B3, C3)112 > 100,結果是 TRUE。
日期也可以比,日期在 Sheets 裡就是數字:
比較兩個日期
=GT(DATE(2026,10,11), DATE(2026,3,5))結果是 TRUE。日期怎麼算的細節在 日期與時間基礎。
GTE
第一個值大於或等於第二個值就傳回 TRUE,等於 >=。
語法:
蘋果綠茶實際 53,目標 50,有沒有達標:
蘋果綠茶是否達標
=GTE(B5, C5)53 >= 50,結果是 TRUE。跟 GT 的差別只在兩個值剛好一樣的時候: 是 TRUE, 則是 FALSE。
LT
第一個值小於第二個值就傳回 TRUE,等於 <。
語法:
烏龍茶實際是否小於目標
=LT(B4, C4)8 < 10,結果是 TRUE。
LTE
第一個值小於或等於第二個值就傳回 TRUE,等於 <=。
語法:
蘋果紅茶是否在 36 杯以內
=LTE(B2, 36)37 比 36 大,結果是 FALSE。把 36 換成 37,結果就變成 TRUE。
要傳函式的地方
回到一開始的問題:這些函式什麼時候派得上用場?
MAP 之類的函式會把你寫的 LAMBDA 套到每一筆資料上。LAMBDA 裡面可以寫 a>=b,寫成 GTE(a, b) 也一樣,有些人覺得這樣更像一個「動作」。舉例來說,我想知道每個品項有沒有達標:
用 MAP 逐列判斷是否達標
=MAP(B2:B8, C2:C8, LAMBDA(a, b, GTE(a, b)))會得到 FALSE、TRUE、FALSE、TRUE、FALSE、TRUE、FALSE 七個結果,往下溢出。比對一下上面的表,青茶、蘋果綠茶、桂花烏龍三個達標。
要把達標的品項挑出來,再包一層 FILTER:
挑出達標的品項
=FILTER(A2:A8, MAP(B2:B8, C2:C8, LAMBDA(a, b, GTE(a, b))))結果是青茶、蘋果綠茶、桂花烏龍。老實說,這題直接寫 就好,比較短也比較好讀。函式版是在條件複雜、需要一筆一筆跑 LAMBDA 的時候才有意義。
跟 IF 搭配也一樣可以用函式版:
用 GT 判斷是否超標
=IF(GT(B2, C2), "超標", "未超標")37 沒有大於 40,結果是「未超標」。IF 本身的用法在 IF 與布林邏輯。
介於兩個值之間
ISBETWEEN
檢查一個數字是不是落在兩個值之間,傳回 TRUE 或 FALSE。
語法:
- 要比較的值:要檢查的數字。
- 下限、上限:範圍的兩端。
- 包含下限:選填,預設
TRUE,也就是等於下限也算在內。 - 包含上限:選填,預設
TRUE。
蘋果紅茶的 37 杯,是不是在 30 到 50 之間:
37 是否介於 30 與 50
=ISBETWEEN(B2, 30, 50)結果是 TRUE。換成 40 到 50 就是 FALSE。
邊界是否算進去,要看最後兩個參數。預設兩端都算,所以 是 TRUE;把「包含上限」設成 FALSE,變成:
上限不含
=ISBETWEEN(50, 30, 50, TRUE, FALSE)50 剛好卡在上限上、又不算它,結果是 FALSE。這個選項我覺得很實用,像是「30 以上、未滿 50」這種分級,用 AND(B2>=30, B2<50) 寫要重複一次 B2,用 ISBETWEEN 就一次講完。
和 MAP 搭配,把實際杯數介於 20 到 60 之間的品項挑出來:
挑出杯數介於 20 與 60 的品項
=FILTER(A2:A8, MAP(B2:B8, LAMBDA(x, ISBETWEEN(x, 20, 60))))37、53、26 符合,結果是蘋果紅茶、蘋果綠茶、檸檬紅茶。
官方沒有說明 ISBETWEEN 能不能直接吃整個範圍 B2:B8,所以這裡用 MAP 一筆一筆跑。
比較完得到的 TRUE、FALSE 要怎麼接 AND、OR,巢狀 IF 與 AND/OR 有整理。需要的時候回來查一下就好。
我是喜特先生,Mr. Sheet,我們下個教學見!
接下來可以
相關文章
查看所有文章留言討論
共 0 則留言
