473 | VLOOKUP函數的一個小技巧 | ||||
示範檔 | 無 | 範例檔 | 473.XLSX | 結果檔 | 無 |
本單元要分享的是有關VLOOKUP函數的一個小小技巧。
VLOOKUP函數號稱函數家族中的大眾情人,是簡單又實用的函數之一,大家對它想必與您另一半一樣十分熟悉了。
這裡有一道非常有趣的題目,有空的讀者不妨一同來來小玩一下。
題目便是如上圖所示,按照班級設定的重複次數要求,重複相關班級名稱,結果放入E欄。
函數了得的同學,也許會立刻想起一個多維陣列套路。但我們這裡只想VLOOKUP函數。如果用VLOOKUP函數,應該怎麼做?
很簡單。只需要兩步:
第一步,框選A2~A5儲存格,點取編輯列輸入公式:「=A1+B2」後,按Ctrl+Enter鍵。
第二步,點取E2儲存格輸入公式:「=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""」後,按Enter鍵,如下圖所示會顯示空白。
將滑鼠指標移到E2儲存格右下角拖拉方塊上方,待指標變為「+」後,向下拖曳到E19儲存格,如下圖所示。
這是因為班級總數為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的範圍內,通過查找1,2,3,4,5,……來傳回該數值所對應的C欄結果。
其二,遮罩VLOOKUP錯誤值的方式。
如果VLOOKUP查找不到相關數值,比如此例中的1和2,通常會傳回錯誤值#N/A,但我們通過IFERROR,使它傳回公式所在儲存格的下一個儲存格的值。
比如,我們在E2輸入公式,VLOOKUP函數的錯誤值則傳回E3,公式向下拖動,E3的錯誤值返回E4……依次類推,直至VLOOKUP函數傳回正確值——則之前通過IFERROR函數判斷為錯誤值的儲存格,自然統一更新為相應的正確值。
然後再進行新一輪迴圈判斷、資料更正。
最後的&"",是函數裡常用的遮罩零值的技法,以便在VLOOKUP公式下拉過界時,傳回的零值顯示為空白。
留言列表