跳到主要內容跳到頁尾

CHOOSE 入門:用數字挑選項,避開 {1,2} 換欄陷阱

5 分鐘閱讀Lv.1 初學者摘要與日期

CHOOSE 依索引數字從一串選項裡挑出一個。附星期數字轉名稱、季度、用索引切換要加總的範圍,以及 CHOOSE({1,2}, ...) 在 Sheets 中無法展開完整範圍的陷阱,對照可用的 CHOOSECOLS 與 XLOOKUP。

發布 更新

文章目錄

WEEKDAY 算出來的星期是 1、2、3,我想看到的是「週一」「週二」「週三」。這種「數字對應到一組固定選項」的事,CHOOSE 一行就能解決。

網路教學或舊檔案裡,你可能看過 CHOOSE({1,2}, ...) 這種換欄寫法。這個寫法在 Google 試算表只回傳第一列,後半篇會拆解這個陷阱,再用 CHOOSECOLS 和 XLOOKUP 完成查找。

手動轉有多麻煩

我手上有三筆訂單日期,想在旁邊標上星期幾:

AB
1日期星期
22026/03/05
32026/03/09
42026/03/12

WEEKDAY(A2, 2) 可以把日期變成 1 到 7 的數字,1 是週一、7 是週日(第二個參數 2 就是這個意思)。三筆算出來是 4、1、4。

但是看數字還要自己在腦中換算,有點太麻煩了吧!這時候就可以把 CHOOSE 派上場。

CHOOSE

CHOOSE 會依照你給的索引數字,從後面的選項裡挑出第幾個。

語法

  • 索引:要挑第幾個,從 1 開始。可以是數字,也可以是會算出數字的公式。
  • 選項1、選項2⋯⋯:候選的值,可以是文字、數字、儲存格,也可以是整個範圍。

範例

把星期數字轉成名稱,如果要用 CHOOSE 寫,就是:

Google 試算表公式
fx

WEEKDAY 的第二個參數 2:週一是 1,週日是 7

=CHOOSE(WEEKDAY(A2, 2), "週一", "週二", "週三", "週四", "週五", "週六", "週日")
  • 索引:WEEKDAY(A2, 2),2026/03/05 算出來是 4。
  • 選項:七個文字,第 4 個是「週四」。

來看看結果,往下填三列:

AB
1日期星期
22026/03/05週四
32026/03/09週一
42026/03/12週四

選項的順序就是對應的順序,打錯一個,後面全部會錯位,這點要留意。

索引超出選項的個數,或是 0、負數,會得到錯誤值 #NUM!。例如只給七個選項,卻挑第 8 個。

算季度

月份轉季度,也是同樣的想法。月份是 8,ROUNDUP(8/3, 0) 是 3,挑第 3 個:

Google 試算表公式
fx

月份除以 3 無條件進位,得到第幾季

=CHOOSE(ROUNDUP(8/3, 0), "第一季", "第二季", "第三季", "第四季")

結果是「第三季」。

選項也可以是範圍

選項不只能放文字,也可以放範圍,這樣就能用一個數字決定「要加總哪一欄」。兩間分店的杯數放在 B 欄和 C 欄:

ABC
1品項台北店台中店
2蘋果紅茶3729
3蘋果綠茶814
4青茶2112
Google 試算表公式
fx

索引 2 挑出台中店那一欄再加總

=SUM(CHOOSE(2, B2:B4, C2:C4))

37 + 8 + 21 = 66 是台北店,29 + 14 + 12 = 55 是台中店,索引 2 的結果是 55。把 2 換成儲存格,例如搭配下拉選單,就能切換要看哪間分店。

什麼時候不用 CHOOSE

CHOOSE 只認「第幾個」,所以索引一定得是 1、2、3 這樣的連續數字。要比對的是文字代碼,我會改用 SWITCH 或 IFS,或是乾脆做一張對照表再查,比較看得懂。這部分在 會員分級與代碼對照 有比較。

換欄陷阱:CHOOSE 不會展開這份完整範圍

VLOOKUP 只能往右查,要找的欄位一定得在查找欄的右邊。網路上有用 CHOOSE 交換兩欄順序的寫法,這是 Excel 的經典技巧,在 Excel 裡 CHOOSE({2,1}, …) 可以展開成兩欄,所以從 Excel 搬來的舊檔案常看到它。但這個寫法在 Google 試算表不能直接照用,不能假設它會產生完整查找表。

用這張菜單,A 欄是編號、B 欄是品名:

AB
1編號品名
2T-17蘋果紅茶
3T-04烏龍奶茶
4T-32蘋果綠茶
5T-09青茶
6T-25桂花烏龍

我想用品名查編號,但品名在編號的右邊。舊檔案裡會看到:

Google 試算表公式
fx

陷阱示範:這條 CHOOSE 寫法在本例只留下第一列,查烏龍奶茶會失敗

=VLOOKUP("烏龍奶茶", ARRAYFORMULA(CHOOSE({2, 1}, A2:A6, B2:B6)), 2, FALSE)

這條公式想用 {2,1} 先挑 B2:B6,再挑 A2:A6,組成「品名、編號」兩欄。但在這份 Google 試算表樣本中,把內層 單獨放到空白區,實際只得到一列兩欄(下表的表頭是說明用,函式本身不會輸出表頭):

品名編號
蘋果紅茶T-17

其餘四列沒有展開,所以外層 VLOOKUP 查「烏龍奶茶」會得到 #N/A,不會得到 T-04。加上 ARRAYFORMULA 也無法讓這個寫法變成完整的五列資料。遇到這種公式,先檢查內層的輸出範圍。

現在的寫法

Sheets 有了 CHOOSECOLS,可以直接從範圍裡挑出欄位,順序自己排。細節在 VSTACK、HSTACK、CHOOSEROWS、CHOOSECOLS。

Google 試算表公式
fx

CHOOSECOLS 把 A2:B6 的欄位順序換成第 2 欄、第 1 欄

=VLOOKUP("烏龍奶茶", CHOOSECOLS(A2:B6, 2, 1), 2, FALSE)

這次會得到 T-04。CHOOSECOLS(A2:B6, 2, 1) 會保留完整五列,再把第 2 欄與第 1 欄依序排出來,不需要 ARRAYFORMULA。

如果只是要往左查,我現在會直接用 XLOOKUP:

Google 試算表公式
fx

查找範圍與結果範圍可以任意放左右

=XLOOKUP("烏龍奶茶", B2:B6, A2:A6)

結果也是 T-04。用法在 XLOOKUP 入門。

CHOOSE 很適合前面「索引數字挑一個選項」的需求。要重排完整欄位或往左查,這份資料用 CHOOSECOLS 與 XLOOKUP 都能保留全部五列;別把陣列索引換欄的寫法直接當成 Sheets 的通用技巧。

練習

1

標示週末

A2:A4 是三個日期:2026/03/09、2026/03/14、2026/03/15。請用 CHOOSE 在 B2 寫出公式,週一到週五顯示「平日」,週六、週日顯示「週末」,往下填到 B4。提示:WEEKDAY 的第二個參數用 2。

三個日期分別是週一、週六、週日,所以 B2:B4 是「平日」「週末」「週末」。

下次遇到「數字對應到固定名稱」的欄位,先想想 CHOOSE 能不能一行搞定吧!

分享:
喜特先生 Mr. Sheet

喜特先生 Mr. Sheet

數據分析師/商業分析師

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

接下來可以

相關文章

查看所有文章

留言討論

共 0 則留言

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

免費,隨時可取消。

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