2021-05-12 14:32:11
VLOOKUP函數的一個小技巧
本文要分享的是有關VLOOKUP函數的一個小技巧。
VLOOKUP函數號稱函數家族中的大眾情人,是簡單又實用的函數之一,大家對它想必均是十分熟悉了。
這裡有一道有趣的題目,有空的親們不妨來玩一下。
題目便是如圖片所描述的,按照重複次數的要求,重複相關班級名稱,結果放入E列。
函數了得的同學,也許會立刻想起一個多維陣列套路。但我們這裡只想VLOOKUP函數。如果用VLOOKUP函數,應該怎麼做?
很簡單。只需要兩步:
第一步,A2輸入公式:
=A1+B2
向下填充。
第二步,E2輸入公式:
=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""
向下複製。
然後……奇蹟發生的時刻——
通過兩個公式,來了解下其中的訣竅。
第一個公式:=A1+B2,是計算相關次數的累計值,比較好理解。
第二個公式:
=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""
看起來是常用的VLOOKUP套路,但其實有兩個很有意思的地方:
其一,VLOOKUP部分
VLOOKUP(ROW(A1),A:C,3,0)
VLOOKUP的查詢值是ROW(A1)。即在公式的下拉過程中,在A:C的範圍內,通過查詢1,2,3,4,5,……來返回該數值所對應的C列結果。
其二,遮蔽VLOOKUP錯誤值的方式。
如果VLOOKUP查詢不到相關數值,比如此例中的1和2,通常會返回錯誤值#N/A,但我們通過IFERROR,使它返回公式所在單元格的下一個單元格的值。
比如,我們在E2輸入公式,VLOOKUP函數的錯誤值則返回E3,公式向下拖動,E3的錯誤值返回E4……依次類推,直至VLOOKUP函數返回正確值——則之前通過IFERROR函數判斷為錯誤值的單元格,自然統一更新為相應的正確值(……腦海裡開始播放多米諾骨牌從依次跌倒到依次站起的畫面)
然後再進行新一輪迴圈判斷、資料更正。
最後的&"",是函數裡常用的遮蔽零值的技法,以便在VLOOKUP公式下拉過界時,返回的零值顯示為空白。
以上兩個公式,除了VLOOKUP(ROW(A1)……)的技巧外,我們還利用了函數的另外一個技巧,我們姑且稱之為上下其手。
何謂上下其手?簡而言之,便是拿公式所在單元格的上下單元格結果為己用。
第一個公式
=A1+B2
是上手,很多表親比較熟悉常用,甚為了解。
第二個公式:
=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""
是下手,同學們用的可能就比較少了。
因為少用,所以大概才顯得格外有意思。諸位親閒暇時,不妨琢磨琢磨此中竅門,興許別有收穫哦。
相關文章