這個函數基于數字從列表項中選擇,屬于查找與引用類別。在大多數情況下,使用不同的函數如INDEX和MATCH或VLOOKUP會更好。(譯者注:但該函數也有自已的優勢)
下面我們介紹CHOOSE函數的相關使用和示例,看看它能做什么,有什么缺點。
CHOOSE函數基于索引數字從列表中返回值。
在什么情形下使用CHOOSE函數?
CHOOSE函數可以從列表中返回指定的編號項,諸如:
對于月份號,返回財務季度編號
基于開始日期計算下一個周一
對于商店編號,顯示銷售總額
CHOOSE函數語法
CHOOSE函數語法如下:
CHOOSE(index_num,value1,value2,…)
index_number必須介于1到254之間(或者在Excel 2003及更早版本是1至29)
index_number可以在公式中直接輸入,也可以是公式或單元格引用
index_number若為分數,則在使用之前小數部分會被直接截斷
value參數可以是數字、單元格引用、定義的名稱、公式、函數或文本
CHOOSE函數陷阱
在Excel 2003及更早的版本中,CHOOSE函數限于1至29之間的數字。在工作表中放置而不是直接在公式中輸入查找列表通常易于管理。使用VLOOKUP函數或MATCH函數,可以引用工作表列表。
示例1:與月份號相對應的財務季度
對于使用簡單的數字列表作為值,CHOOSE函數能夠處理得很好。例如,如果單元格B2中包含月份號,那么CHOOSE公式可以計算該月份相對應的財務季度。在下面展示的例子中,財務季度于7月開始。
在公式中列出了12個值,代表從1至12的月份。財務季度開始于7月,因此7、8、9位于1季度。在下表中,可以看到每個月份號之下的財務季度。
對于CHOOSE函數,輸入每月相對應的季度值,順序如上表所示。在對于CHOOSE函數的值列表中,代表七月、八月和九月的項目7、8、9,值為1。
=CHOOSE(C2,3,3,3,4,4,4,1,1,1,2,2,2)
在單元格C2中輸入月份號,在單元格中顯示通過CHOOSE函數計算的財務季度。
示例2: 計算下一個周一的日期
CHOOSE函數可以與其他函數相組合,例如WEEKDAY函數,來計算將來的日期。例如,如果你們每周一晚在俱樂部碰面,你可以基于今天的日期來找到下一個星期一的日期。
在下表中,你可以看到對于每天的工作日編號。在列H中,可以看到每個工作日相對于下一個星期一的天數。在星期日,需要加1天。如果是星期一,到下周一有7天,如此類推。
單元格C2中是當前的日期,單元格C3中的公式使用WEEKDAY和CHOOSE函數來計算下一個周一。
=C2+CHOOSE(WEEKDAY(C2),1,7,6,5,4,3,2)
示例3: 顯示所選商店的銷售總額
你可以在公式中和其他函數(例如SUM函數)一起使用CHOOSE函數。本例中,通過在CHOOSE函數中輸入數字和列出了每個商店銷售總額的單元格區域,能夠獲取指定商店的銷售總額。
本例在單元格C2中輸入了商店編號(101、102或103)。要獲取index_number值1、2或3代替101、102或103,可以使用公式: C2-100
每個商店的銷售數存儲在單獨的列中,如下圖所示。
在SUM函數里面,首先求CHOOSE函數的值,并為SUM函數返回所選商店的正確的區域。
=SUM(CHOOSE(C2-100,C7:C9,D7:D9,E7:E9))