使用VLOOKUP函數的時候有沒有遇到所要求返回的結果在前面時就會出問題,比如下面的情況,結果會返回錯誤#N/A
這是因為VLOOKUP函數查找結果時,要求返回的結果區域必須在查找的條件區域的後方,也就是右邊,否則無法查找到相應的結果。 一般人到這裡的時候會選擇加一個輔助列,比如在返回結果的那一列前面插入一列,将條件區域的那一列複制過去,比如下面的方式,這個方式的缺點就是會破壞表的結構: 還有些人會選擇其他方式比如用INDEX函數來實現,這裡我就不做演示了,重點說一下,在不改變表的結構下使用VLOOKUP函數如何實現的問題。 我在G3單元格輸入 =VLOOKUP(E3,IF({1,0},B2:B6,A2:A6),2,FALSE),就可以得到相應的結果:那可以實現的關鍵點就是{1,0},之前提到過大括号{}就是數組,而這個地方都是固定數字,也就是常量數組。
具體介紹之前我先給大家演示一下,我使用的365版本,如果是2019等低版本是沒有這個效果的,365版本可以有助于我們理解數組。我分别輸入={1,2,3,4}和={1;2;3;4},我們可以看到={1,2,3,4}是橫向排列的4個數據,={1;2;3;4}則是縱向排列的四個數據,其實就是間隔的符号不一樣就有不同的結果,橫向的用逗号, 縱向 就使用分号,如果在低版本的EXCEL中使用隻返回結果1,這個大家可以不用太在意,實際在公式應用中是不受影響的。 通過上面的演示我們可以知道數組我們需要用{1,0},而不是使用{1;0},接下來我們理解下1和0的含義,1,0在這裡其實是邏輯值,相當于TRUE和FALSE,我們可以用之前分享的最短的函數N函數來計算TRUE和FALSE的結果,我們輸入=N(TRUE)和=N(FALSE)可以得到結果1和0。 if(如果為TRUE,TRUE返回結果,FALSE)返回結果,這裡通過數組{1,0},我們知道這個數組是橫向的,而B2:B6和A2:A5明顯是縱向的,我們利用365版本做下數組的演示,我輸入={1,1}+{1;2;3;4},我們可以得到一個結果,就是兩列的結果,那就是說{1,1}兩個都與{1;2;3;4}進行了求和,所以得到了兩列數據。如果是兩個橫向的數組或兩個縱向的數組求和則不會。 橫向數組與縱向數組求和 相同方向數組的求和 通過上面的演示想必大家應該有一定感覺了吧,還是回到IF({1,0},B2:B6,A2:A6),我做下演示: 我覺得可以理解為{1,0},1的情況下if(TRUE,返回了B2:B6)在前面一列,0的情況下if(FALSE,返回了C2:C6)上一篇
中考真題妙解18個專題
有話要說...