Gg / Google sheets CHOOSECOLS 函數─Excel CHOOSE函數的替代方法

在「Excel / VLOOKUP / LOOKUP函數 (2024/2/26 修改)」曾經提到

可以用CHOOSE函數重新建立一個參照範圍,配合資料情況設計取得唯一符合條件的資料

例如:由於A欄有重複值,單純用VLOOKUP函數只會得到第一筆符合條件的資料

但是同樣甲社區還有戶型的差別,因此最好的方式就是將社區跟戶型結合成一個條件

再用CHOOSE函數重新建立一個參照範圍,這樣就會得到唯一一個符合條件的結果

但是Google 試算表的 CHOOSE函數沒辦法有這樣的效果

只會出現第一個參數位置的資料,並且也不會產生一個範圍

後來發現Google sheets CHOOSECOLS 函數可以產生跟Excel CHOOSE函數相同的效果

假定原始資料(工作表1)如下

新的工作表,如果首欄是姓名,要以原始資料為參照填入對應B、C欄位的資料

以前的處理方法不是在原始資料(工作表1)移動B欄到A欄,就是複製B欄插入成為新的A欄

現在就可以用CHOOSECOLS 函數來產生新的參照範圍

CHOOSECOLS(陣列, 資料欄_1, [資料欄_2])

資料欄可以有2種方式設定

一種是首欄為1,最末欄為-1

例如以下的參照範圍A:C

A欄是1、C欄是-1、中間的B欄是-2

因此如果參數設定為-2,1,-1,D2公式為CHOOSECOLS(‘工作表1’!$A$2:$C$11, -2, 1, -1)

新的參照範圍相對於原本的資料就會變成姓名,電子郵件地址,服務單位

另一種,A欄是1,依序B欄是2,C欄是3

因此如果參數是2,1,3,D2公式為CHOOSECOLS(‘工作表1’!$A$2:$C$11, 2, 1, 3)

新的參照範圍相對於原本的資料也會變成姓名,電子郵件地址,服務單位

兩種方式都能得到相同的參照範圍

這樣VLOOKUP就可以使用新的參照範圍

B欄的的公式=VLOOKUP(A2,CHOOSECOLS(‘工作表1’!$A$2:$C$11, -2, 1, -1),2,0)

C欄的公式=VLOOKUP(A2,CHOOSECOLS(‘工作表1’!$A$2:$C$11, -2, 1, -1),3,0)