(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最為保險。

 

4ngus 發表在 痞客邦 留言(0) 人氣()