473

VLOOKUP函數的一個小技巧

示範檔

範例檔

473.XLSX

結果檔

本單元要分享的是有關VLOOKUP函數的一個小小技巧。

VLOOKUP函數號稱函數家族中的大眾情人,是簡單又實用的函數之一,大家對它想必與您另一半一樣十分熟悉了。

這裡有一道非常有趣的題目,有空的讀者不妨一同來來小玩一下。

image

題目便是如上圖所示,按照班級設定的重複次數要求,重複相關班級名稱,結果放入E欄。

函數了得的同學,也許會立刻想起一個多維陣列套路。但我們這裡只想VLOOKUP函數。如果用VLOOKUP函數,應該怎麼做?

很簡單。只需要兩步:

第一步,框選A2~A5儲存格,點取編輯列輸入公式:「=A1+B2」後,按Ctrl+Enter鍵。

image

第二步,點取E2儲存格輸入公式:「=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""」後,按Enter鍵,如下圖所示會顯示空白。

image

將滑鼠指標移到E2儲存格右下角拖拉方塊上方,待指標變為「+」後,向下拖曳到E19儲存格,如下圖所示。

image

這是因為班級總數為18,但由於E欄第一列為標題故須加1,所以要到第19列。

通過兩個公式,來瞭解下其中的訣竅。

第一個公式:=A1+B2,是計算相關次數的累計值,比較好理解。

第二個公式:=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""

看起來是常用的VLOOKUP套路,但其實有兩個很有意思的地方:

其一,VLOOKUP部分

VLOOKUP(ROW(A1),A:C,3,0)

VLOOKUP的查找值是ROW(A1)A1的列號。即在公式的下拉過程中,在A:C的範圍內,通過查找12345……來傳回該數值所對應的C欄結果。

其二,遮罩VLOOKUP錯誤值的方式。

如果VLOOKUP查找不到相關數值,比如此例中的12,通常會傳回錯誤值#N/A,但我們通過IFERROR,使它傳回公式所在儲存格的下一個儲存格的值。

比如,我們在E2輸入公式,VLOOKUP函數的錯誤值則傳回E3,公式向下拖動,E3的錯誤值返回E4……依次類推,直至VLOOKUP函數傳回正確值——則之前通過IFERROR函數判斷為錯誤值的儲存格,自然統一更新為相應的正確值。

然後再進行新一輪迴圈判斷、資料更正。

最後的&"",是函數裡常用的遮罩零值的技法,以便在VLOOKUP公式下拉過界時,傳回的零值顯示為空白。


arrow
arrow

    錦子老師 發表在 痞客邦 留言(0) 人氣()