首頁 > 軟體

VLOOKUP函數的一個小技巧

2020-07-14 14:34:23

本文要分享的是有關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)&""

是下手,同學們用的可能就比較少了。

因為少用,所以大概才顯得格外有意思。諸位親閒暇時,不妨琢磨琢磨此中竅門,興許別有收穫哦。


IT145.com E-mail:sddin#qq.com