Excel CHOOSE 函数

- 範例1 - 基本用法:單獨使用 CHOOSE 函數從列表參數中選擇值
- 範例2 – 根據多個條件返回不同的結果
- 範例3 – 根據條件返回不同的計算結果
- 範例4 – 從列表中隨機選擇
- 範例5 – 結合 CHOOSE 和 VLOOKUP 函數以返回左側列的值
- 範例6 – 根據給定日期返回星期幾或月份
- 範例7 – 根據今天返回下一個工作日/週末日期
描述
CHOOSE 函數根據給定的索引號從值列表參數中返回相應的值。例如,CHOOSE(3,"Apple","Peach","Orange") 返回 Orange,索引號為 3,而 Orange 是函數中索引號後的第三個值。
語法和參數
公式語法
CHOOSE(index_num, value1, [value2], …) |
參數
|
Value1、value2… 可以是數字、文字、公式、單元格引用或已定義名稱。
返回值
CHOOSE 函數根據給定的位置從列表中返回值。
用法與範例
在這部分,我列出了一些簡單但具有代表性的範例來解釋 CHOOSE 函數的用法。
範例1 - 基本用法:單獨使用 CHOOSE 函數從列表參數中選擇值
公式1:
=CHOOSE(3,"a","b","c","d")
返回:c,這是 CHOOSE 函數中索引號為 3 之後的第三個參數。
注意:如果值是文本,請使用雙引號包圍該值。
公式2:
=CHOOSE(2,A1,A2,A3,A4)
返回:Kate,A2 的值。由於索引號為 2,且 A2 是 CHOOSE 函數中的第二個值。
公式3:
=CHOOSE(4,8,9,7,6)
返回:6,函數中的第 4 個列表參數。
假設您有一份每個產品的偏差清單,需要根據以下截圖所示的條件進行標記。
通常,您可以使用 IF 函數來處理,但這裡我介紹如何使用 CHOOSE 函數輕鬆解決這個問題。
公式:
=CHOOSE((B7>0)+(B7>1)+(B7>5),"Top","Middle","Bottom")
解釋:
(B7>0)+(B7>1)+(B7>5): 索引號,B7 為 2,大於 0 和 1 但小於 5,因此我們得到中間結果:
=CHOOSE(True+Ture+False,"Top","Middle","Bottom")
我們知道,True = 1,False = 0,因此公式可以視為:
=CHOOSE(1+1+0,"Top","Middle","Bottom")
然後
=CHOOSE(2,"Top","Middle","Bottom")
結果:Middle
假設您需要根據以下截圖所示的數量和價格計算每種產品的折扣:
公式:
=CHOOSE((B8>0)+(B8>100)+(B8>200)+(B8>300),B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
解釋:
(B8>0)+(B8>100)+(B8>200)+(B8>300): 索引號,B8 為 102,大於 100 但小於 201,因此在這部分中,它返回如下結果:
=CHOOSE(true+true+false+false,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
=CHOOSE(1+1+0+0,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
然後
=CHOOSE(2,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5: 可選擇的值,折扣等於價格 * 數量 * 折扣百分比,因為這裡索引號為 2,所以選擇 B8*C8*0.2。
返回:102*2*0.2=40.8
在 Excel 中,有時您可能需要從給定列表中隨機選擇一個值,CHOOSE 函數可以解決這個問題。
從列表中隨機選擇一個值:
公式:
=CHOOSE(RANDBETWEEN(1,5),$D$2,$D$3,$D$4,$D$5,$D$6)
解釋:
RANDBETWEEN(1,5): 索引號,隨機獲取 1 到 5 之間的數字
$D$2,$D$3,$D$4,$D$5,$D$6: 可選擇的值列表
範例5 – 結合 CHOOSE 和 VLOOKUP 函數以返回左側列的值
一般情況下,我們使用 VLOOKUP 函數 =VLOOKUP (value, table, col_index, [range_lookup]) 根據給定值從表格範圍中返回值。但是使用 VLOOKUP 函數時,如果返回列位於查找列的左側,則會返回錯誤值,如以下截圖所示:
在這種情況下,您可以結合 CHOOSE 函數與 VLOOKUP 函數來解決這個問題。
公式:
=VLOOKUP(E1,CHOOSE({1,2},B1:B7,A1:A7),2,FALSE)
解釋:
CHOOSE({1,2},B1:B7,A1:A7): 在 VLOOKUP 函數中作為 table_range 參數。{1,2} 表示根據 VLOOKUP 函數中的 col_num 參數顯示 1 或 2 作為索引號參數。在此處,VLOOKUP 函數中的 col_num 為 2,因此 CHOOSE 函數顯示為 CHOOSE(2, B1:B7,A1:A7),表示從 A1:A7 中選擇值。
使用 CHOOSE 函數,您還可以根據給定日期返回相對應的星期幾和月份。
公式 1:根據日期返回星期幾
=CHOOSE(WEEKDAY(),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
解釋:
WEEKDAY(): 索引號參數,獲取給定日期的星期幾數字,例如,WEEKDAY(A5) 返回 6,則索引號參數為 6。
"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday": 值列表參數,從 "Sunday" 開始,因為星期幾數字 "1" 表示 "Sunday"。
公式 2:根據日期返回月份
=CHOOSE(MONTH(),"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
解釋:
MONTH(): 索引號參數,從給定日期中獲取月份數字,例如,MONTH(A5) 返回 3。
在日常工作中,您可能希望根據今天計算下一個工作日或週末。這裡 CHOOSE 函數也可以幫上忙。
例如,今天是 2018 年 12 月 20 日,星期四,現在您需要獲取下一個工作日和週末。
公式 1:獲取今天的日期
=TODAY()
結果:2018 年 12 月 20 日
公式 2:獲取今天的星期幾數字
=WEEKDAY(TODAY())
結果:5(當今天是 2018 年 12 月 20 日時)
星期幾數字列表如下截圖所示:
公式 3:獲取下一個工作日
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)
解釋:
Today(): 返回當前日期
WEEKDAY(TODAY()): CHOOSE 函數中的索引號參數,獲取今天的星期幾數字,例如,星期日為 1,星期一為 2…
1,1,1,1,1,3,2: CHOOSE 函數中的值列表參數。例如,如果 weekday(today()) 返回 1(星期日),則從值列表中選擇 1,那麼整個公式變為 =Today()+1,這意味著加 1 天並返回下一個星期一。如果 weekday(today()) 返回 6(星期五),則從值列表中選擇 3,因為星期五距離下一個星期一還有 3 天。
結果(當今天是 2018 年 12 月 20 日時):
=2018 年 12 月 20 日+CHOOSE(5,1,1,1,1,1,3,2)
=12/20/2018+1
=12/21/2018
公式 4:獲取下一個週末日期
=TODAY()+CHOOSE(WEEKDAY(TODAY()),6,5,4,3,2,1,1)
解釋:
6,5,4,3,2,1,1: CHOOSE 函數中的值列表參數。例如,如果 weekday(today()) 返回 1(星期日),則從值列表中選擇 6,那麼整個公式變為 =Today()+6,這意味著加 6 天並返回下一個星期六。
結果:
=2018 年 12 月 20 日+CHOOSE(5,6,5,4,3,2,1,1)
=12/20/2018+2
=12/22/2018
範例文件
最佳的辦公生產力工具
Kutools for Excel - 幫助您脫穎而出
? | Kutools AI 助手:基於智能執行、生成代碼、創建自訂公式、分析數據並生成圖表、調用 Kutools 函數…來徹底改變數據分析方式。 |
熱門功能:查找、標記或識別重複值 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
超級 VLookup:多條件 | 多值 | 跨多工作表 | 模糊查找... | |
高級下拉列表:簡易下拉列表 | 依賴下拉列表 | 多選下拉列表... | |
列管理器:添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較列以選擇相同和不同的單元格 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文字工具(添加文本、刪除特定字符 ...) | 50+ 圖表 類型(甘特圖 ...) | 40+ 實用 公式(基於生日計算年齡 ...) | 19 個插入工具(插入QR碼、從路徑插入圖片 ...) | 12 個轉換工具(金額轉大寫、匯率轉換 ...) | 7 個合併與分割工具(高級合併行、分割Excel單元格 ...) | ... 還有更多 |
Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...
Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能
- 一秒鐘內在數十個打開的文檔之間切換!
- 每天為您減少數百次鼠標點擊,告別滑鼠手。
- 當查看和編輯多個文檔時,您的工作效率提高 50%。
- 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。