如何通過IF({1,0}和VLOOKUP函數(shù)實(shí)現(xiàn)Excel的雙條件多條件查找?
在Excel中,通過VLOOKUP函數(shù)可以查找到數(shù)據(jù)并返回?cái)?shù)據(jù)。不僅能跨表查找,同時(shí),更能跨工作薄查找。
但是,VLOOKUP函數(shù)一般情況下,只能實(shí)現(xiàn)單條件查找。
如果想通過VLOOKUP函數(shù)來實(shí)現(xiàn)雙條件查找或多條件的查找并返回值,那么,只需要加上IF({1,0}就可以實(shí)現(xiàn)。
下面,就一起來看看IF({1,0}和VLOOKUP函數(shù)的經(jīng)典結(jié)合使用例子吧。
要實(shí)現(xiàn)的功能是,根據(jù)Sheet1中的產(chǎn)品類型和頭數(shù),找到Sheet2中相對(duì)應(yīng)的產(chǎn)品類型和頭數(shù),并獲取對(duì)應(yīng)的價(jià)格,然后自動(dòng)填充到Sheet1的C列。實(shí)現(xiàn)此功能,就涉及到兩個(gè)條件了,兩個(gè)條件都必須同時(shí)滿足。
如下圖,是Sheet1表的數(shù)據(jù),三列分別存放的是產(chǎn)品類型、頭數(shù)和價(jià)格。
上圖是一張購買產(chǎn)品的表,其中,購買產(chǎn)品的行數(shù)據(jù),可能存在重復(fù)。如上圖的10頭三七,就是重復(fù)數(shù)據(jù)。
現(xiàn)在,再來看第二張表Sheet2。
上表,是固定好的不存在任何重復(fù)數(shù)據(jù)的產(chǎn)品單價(jià)表。因?yàn)槊糠N三七頭對(duì)應(yīng)的頭數(shù)是不相同的,如果要找三七頭的單價(jià),那么,要求類型是三七頭,同時(shí)還要對(duì)應(yīng)于頭數(shù),這就是條件。
現(xiàn)在,我們在Sheet1中的A列輸入三七頭,在B列輸入頭數(shù),然后,利用公式自動(dòng)從Sheet2中獲取相對(duì)應(yīng)的價(jià)格。這樣就免去了輸入的麻煩。
公式比較復(fù)雜,因?yàn)殡y于理解,先看下圖吧,是公式的應(yīng)用實(shí)例。
下面,將給大家大體介紹公式是如何理解的。比如C2的公式為:
{=VLOOKUP(A2&B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)}
請(qǐng)注意,如上的公式是數(shù)組公式,輸入的方法是,先輸入
=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組合鍵,才會(huì)出現(xiàn)大括號(hào)。大括號(hào)是通過組合鍵按出的,不是通過鍵盤輸入的。
公式解釋:
①VLOOKUP的解釋
VLOOKUP函數(shù),使用中文描述語法,可以這樣來理解。
VLOOKUP(查找值,在哪里找,找到了返回第幾列的數(shù)據(jù),邏輯值),其中,邏輯值為True或False。
再對(duì)比如上的公式,不能發(fā)現(xiàn)。
A2&B2相當(dāng)于要查找的值。等同于A2和B2兩個(gè)內(nèi)容連接起來所構(gòu)成的結(jié)果。所以為A2&B2,理解為A2合上B2的意思。
IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)相當(dāng)于要查找的數(shù)據(jù)
2代表返回第二列的數(shù)據(jù)。最后一個(gè)是False。
②IF({1,0}的解釋
IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)相當(dāng)于VLOOKUP函數(shù)中的查找數(shù)據(jù)的范圍。
由于本例子的功能是,根據(jù)Sheet1中的A列數(shù)據(jù)和B列數(shù)據(jù),兩個(gè)條件,去Sheet2中查找首先找到對(duì)應(yīng)的AB兩列的數(shù)據(jù),如果一致,就返回C列的單價(jià)。
因此,數(shù)據(jù)查找范圍也必須是Sheet2中的AB兩列,這樣才能被找到,由于查找數(shù)據(jù)的條件是A2&B2兩個(gè)單元格的內(nèi)容,但是此二單元格又是獨(dú)立的,因此,要想構(gòu)造查找范圍,也必須把Sheet2中的AB兩列結(jié)合起來,那就構(gòu)成了Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12;
Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12:相當(dāng)于AB兩列數(shù)據(jù)組成一列數(shù)據(jù)。
那么,前面的IF({1,0}代表什么意思呢?
IF({1,0},相當(dāng)于IF({True,False},用來構(gòu)造查找范圍的數(shù)據(jù)的。最后的Sheet2!$C$2:$C$12也是數(shù)據(jù)范圍。
現(xiàn)在,整個(gè)IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)區(qū)域,就形成了一個(gè)數(shù)組,里面存放兩列數(shù)據(jù)。
第一列是Sheet2AB兩列數(shù)據(jù)的結(jié)合,第二列數(shù)據(jù)是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)}中的數(shù)字2,代表的是返回?cái)?shù)據(jù)區(qū)域中的第二列數(shù)據(jù)。結(jié)果剛好就是Sheet2的C列,即第三列。因?yàn)樵贗F({1,0}公式中,Sheet2中的AB兩列,已經(jīng)被合并成為一列了,所以,Sheet2中的第三列C列,自然就成為序列2的列編號(hào)了,所以,完整的公式中,紅色的2代表的就是要返回第幾列的數(shù)據(jù)。
上面的完整的公式,可以使用如下兩種公式來替代:
=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)
繼續(xù)查找其他問題的答案?
-
Excel 2019如何使用復(fù)制、粘貼命令插入Word數(shù)據(jù)?(視頻講解)
2021-01-257次播放
-
Excel 2019如何制作數(shù)據(jù)透視表?(視頻講解)
2021-01-2227次播放
-
Excel 2019如何設(shè)置相對(duì)引用?(視頻講解)
2021-01-2210次播放
-
2021-01-2212次播放
-
Excel 2019如何使用命令復(fù)制公式?(視頻講解)
2021-01-226次播放
-
2021-01-223次播放
-
2021-01-222次播放
-
Excel 2019如何利用開始選項(xiàng)卡進(jìn)入篩選模式?(視頻講解)
2021-01-223次播放
-
Excel 2019如何設(shè)置指定數(shù)據(jù)的篩選?(視頻講解)
2021-01-223次播放
-
Excel 2019如何設(shè)置自定義排序?(視頻講解)
2021-01-222次播放
點(diǎn)擊加載更多評(píng)論>>