在「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)