(20180807補充,應該解釋得更明暸了,整體內容不變。重看一次,發現自己表達得超不清楚。。。是做完記者之後看不起以前的表達能力還是怎的?。。。)
不知道有沒有跟某君一樣,一直被[Vlookup]、[Hlookup]、[Index]、[Match]這幾個功能弄得很頭暈
[Vlookup]使用率頗高,用得多自然不成問題
但其它的要在什麼情況下使用?
簡單來說,以上的功能都是幫忙查找資料的函數,那有什麼差別呢?
先祭出公式:
=VLOOKUP(尋找的值lookup_value, 資料範圍table_array, 欄數col_index_num, [符合程度range_lookup])
=HLOOKUP(尋找的值lookup_value, 資料範圍table_array, 列數row_index_num, [符合程度range_lookup])
=MATCH(尋找的值lookup_value, 資料範圍lookup_array, [符合程度match_type])
=INDEX(資料範圍 array, 列數 row_num, [欄數 column_num])
只看公式覺得很混亂的話,下圖幫到你
假設我想得到綠色框選的答案"金繕"(d在星期五上什麼課程),
這時就需要考慮到你的已知條件是什麼,如果你早已知"Fri"是在第6欄而不知"d"在第n列的話,那就可以用[Vlookup]:
- Vlookup是 要在黃底部分(為直排,Vertical)查找。即我想獲取第6欄"d"所在列的資料,得出答案"金繕"。
=VLOOKUP("d",D4:K11(紫色框選部分),6,FALSE(False為查找目標須完全一致))
相反,假如你早已知"d"的學號是4(即第5列),而不知在第n欄的話,那就可以用[Hlookup]:
- Hlookup是 要在紅底部分(為橫排,Horizontal)查找。即我想獲取第5列"Fri"所在欄的資料,得出答案"金繕"
=HLOOKUP("Fri",D4:K11(紫色框選部分),5,FALSE(False為查找目標須完全一致))
再如果你對整個表格一無所知,只知"d"的名字和"Fri"的串法,那很好,可以用[Index-Match]組合:
- Index-Match是 先用Match獲得"d"及"Fri"的列和欄,再用Index找出相應欄列的資料,得出答案"金繕"。
step 1 找出列數 =MATCH("d",D4:D11黃底部分,0(完全一致))
step 2 找出欄數 =MATCH("Fri",D4:K4紅底部分,0(完全一致))
step 3 結合欄列 =INDEX(D4:K11(紫色框選部分),(列數),(欄數))
全式: =INDEX(D4:K11,MATCH("d",D4:D11,0),MATCH("Fri",D4:K4,0))
總結:因為欄和列可能會改變,所以如果條件允許,用Index-Match最為保險。
留言列表