VLOOKUP函數是不能逆向查找的,這個相信掌握這個函數的人們都知道。筆者當年學這個函數的時候,有時候碰到逆向查找,當時就想第三個參數是正數時向後查找,那麼負數時是不是向前查找?結果肯定是不可行的。
今天給大家帶來用VLOOKUP函數逆向查找,要實現這個功能,僅靠VLOOKUP一個函數是不能解決的,需要和其它函數嵌套才能解決這個問題。
如下圖,我們根據姓名來查找其所在的部門。
要解決這個問題,如果把B列和A列對換一下位置可以用VLOOKUP函數的基本操作來實現。
如果我們工作中碰到兩列不能對調應該怎麼操作呢?如下圖,我們用圖中的公式可以快速查找員工所在的部門。
這個公式是一個逆向查找的固定用法:
=VLOOKUP(查找值,IF({1,0},查找列,返回值對應的列),2,0)
如果這個嵌套公式的原理不能掌握,我們可以使用它的固定用法,碰到需要逆向查找的時候,我們只需要把漢字內容更改為單元格引用和數據區域地址引用即可。
在本例中:
「查找值」為E3單元格(劉建軍);
「查找列」就是包含「查找值」所在的列,即B2:B10數據區域範圍;
「返回值所對應的列」就是我們要查找什麼內容,我們要查找員工所在部門,部門對應的數據區域範圍為A2:A10。
其它內容全部為固定輸入。
=VLOOKUP(E3,IF({1,0},B2:B10,A2:A10),2,0)
那麼這個公式的原理是怎樣的呢?
我們來看IF({1,0},B2:B10,A2:A10),我們知道IF函數有三個參數,當第一個參數為TRUE時,它返回第二個參數的值,當第一個參數為FALSE時,它返回第三個參數的值。
但是當IF函數第一個參數同時返回TRUE和FALSE時會怎樣呢?它會同時返回第二個參數和第三個參數的值,也就是B2:B10和A2:A10的內容。
我們在編輯欄用滑鼠左鍵把公式中「IF({1,0},B2:B10,A2:A10)」抹黑選中,按F9鍵,會看到出現9行2列的數組:
{"張飛","人力資源部";"衛青青","財務部";"魏亞澤","行政部";"劉建軍","生產部";"齊曉藝","技術部";"李建藝","銷售部";"史朝陽","採購部";"楊夢陽","品質部";"吳石磊","工程部"}
這樣看著很亂?沒關係,我們換種方式,在公式中把「{"張飛","人力資源部";"衛青青","財務部";"魏亞澤","行政部";"劉建軍","生產部";"齊曉藝","技術部";"李建藝","銷售部";"史朝陽","採購部";"楊夢陽","品質部";"吳石磊","工程部"}」複製,在工作表中選中9行2列的任意一個區域,本例中我選擇H2:I10數據區域範圍。