亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
2874
2025-04-01
通過IF({1,0}和VLOOKUP函數實現Excel的雙條件多條件查找的方法
在Excel中,通過VLOOKUP函數可以查找到數據并返回數據。不僅能跨表查找,同時,更能跨工作薄查找。
但是,VLOOKUP函數一般情況下,只能實現單條件查找。
如果想通過VLOOKUP函數來實現雙條件查找或多條件的查找并返回值,那么,只需要加上IF({1,0}就可以實現。
下面,就一起來看看IF({1,0}和VLOOKUP函數的經典結合使用例子吧。
要實現的功能是,根據Sheet1中的產品類型和頭數,找到Sheet2中相對應的產品類型和頭數,并獲取對應的價格,然后自動填充到Sheet1的C列。實現此功能,就涉及到兩個條件了,兩個條件都必須同時滿足。
如下圖,是Sheet1表的數據,三列分別存放的是產品類型、頭數和價格。
上圖是一張購買產品的表,其中,購買產品的行數據,可能存在重復。如上圖的10頭三七,就是重復數據。
現在,再來看第二張表Sheet2。
上表,是固定好的不存在任何重復數據的產品單價表。因為每種三七頭對應的頭數是不相同的,如果要找三七頭的單價,那么,要求類型是三七頭,同時還要對應于頭數,這就是條件。
現在,我們在Sheet1中的A列輸入三七頭,在B列輸入頭數,然后,利用公式自動從Sheet2中獲取相對應的價格。這樣就免去了輸入的麻煩。
公式比較復雜,因為難于理解,先看下圖吧,是公式的應用實例。
下面,將給大家大體介紹公式是如何理解的。比如C2的公式為:
{=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)}
請注意,如上的公式是數組公式,輸入的方法是,先輸入
=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE) 之后,再按新Ctrl+Shift+Enter組合鍵,才會出現大括號。大括號是通過組合鍵按出的,不是通過鍵盤輸入的。
公式解釋:
①VLOOKUP的解釋
VLOOKUP函數,使用中文描述語法,可以這樣來理解。
VLOOKUP(查找值,在哪里找,找到了返回第幾列的數據,邏輯值),其中,邏輯值為True或False。
再對比如上的公式,不能發現。
A2&B2相當于要查找的值。等同于A2和B2兩個內容連接起來所構成的結果。所以為A2&B2,理解為A2合上B2的意思。
IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)相當于要查找的數據
2代表返回第二列的數據。最后一個是False。
關于VLOOKUP函數的單條件查找的簡單應用,您可以參閱文章:
使用VLOOKUP函數單條件查找的方法
②IF({1,0}的解釋
IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)相當于VLOOKUP函數中的查找數據的范圍。
由于本例子的功能是,根據Sheet1中的A列數據和B列數據,兩個條件,去Sheet2中查找首先找到對應的AB兩列的數據,如果一致,就返回C列的單價。
因此,數據查找范圍也必須是Sheet2中的AB兩列,這樣才能被找到,由于查找數據的條件是A2&B2兩個單元格的內容,但是此二單元格又是獨立的,因此,要想構造查找范圍,也必須把Sheet2中的AB兩列結合起來,那就構成了Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12;
Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12:相當于AB兩列數據組成一列數據。
那么,前面的IF({1,0}代表什么意思呢?
IF({1,0},相當于IF({True,False},用來構造查找范圍的數據的。最后的Sheet2!$C$2:$C$12也是數據范圍。
現在,整個IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)區域,就形成了一個數組,里面存放兩列數據。
第一列是Sheet2AB兩列數據的結合,第二列數據是Sheet2!$C$2:$C$12。
公式{=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)}中的數字2,代表的是返回數據區域中的第二列數據。結果剛好就是Sheet2的C列,即第三列。因為在IF({1,0}公式中,Sheet2中的AB兩列,已經被合并成為一列了,所以,Sheet2中的第三列C列,自然就成為序列2的列編號了,所以,完整的公式中,紅色的2代表的就是要返回第幾列的數據。
上面的完整的公式,可以使用如下兩種公式來替代:
=VLOOKUP(A2&B2,CHOOSE({1,2},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)
=VLOOKUP(A2&B2,IF({TRUE,FALSE},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。