左側(cè)是員工信息表,右側(cè)是查詢區(qū)域,希望在G4輸入任意姓名或者任意部門,就能在右側(cè)提取出符合條件的全部記錄。 要實現(xiàn)這樣的數(shù)據(jù)提取效果,其實很簡單,接下來咱們就看看具體的操作步驟。 在G4單元格輸入要查詢的內(nèi)容,比如 銷售部。在第一行數(shù)據(jù)的左側(cè),本例是A4單元格,輸入以下公式,向下拖動:如果C4單元格中的部門等于G4要查詢的部門,或者是B4單元格中的姓名等于G4單元格要查詢的姓名,就在上一個單元格的基礎(chǔ)上加上1,否則仍然是上一個單元格中的內(nèi)容。 觀察公式下拉后的效果,可以看到,只要C列的部門名稱等于G4單元格中的部門,得到的結(jié)果正好是一串遞增的序號1……2……3…… 在I4單元格輸入公式,向右向下復(fù)制,就可以得到查詢結(jié)果了: =IFERROR(VLOOKUP(ROW(A1),$A:$E,COLUMN(B1),0),'')這里面的主角是VLOOKUP函數(shù),要查詢的內(nèi)容是ROW(A1),ROW的作用是返回參數(shù)所在的行號,這里得到的結(jié)果就是A1的行號——1,當公式向下復(fù)制時,會依次變成ROW(A2)、ROW(A3)……,結(jié)果就是從1開始的遞增序號1、2、3……。也就是說,在不同行中VLOOKUP函數(shù)的查找內(nèi)容是不一樣的,在第四行時,查找的內(nèi)容是1,公式到了第五行,查詢的內(nèi)容就是2了。再看看VLOOKUP函數(shù)查詢的區(qū)域是哪里呢?$A:$E ,這個寫法表示A~E列的整列區(qū)域,并且使用了絕對引用。 說到這里,有小伙伴們已經(jīng)知道咱們前面用公式得到的那些序號是干嘛用的了,對,就是協(xié)助VLOOKUP查詢用的。前面的序號特點是每遇到一個符合條件的記錄,序號就加上1,而VLOOKUP要查詢的內(nèi)容就是序號1、2、3……再來看COLUMN(B1)是干啥用的呢?她的作用和ROW函數(shù)類似,是返回參數(shù)的列號的,COLUMN(B1),得到的就是B1的列號2。公式向右復(fù)制時,會依次變成COLUMN(C1)、COLUMN(D1)……,結(jié)果就是從2開始的遞增序號2、3、4……得到的序號再給VLOOKUP函數(shù)當小三,不對不對,是當成第三參數(shù),用來指定返回查詢區(qū)域中哪一列的內(nèi)容。 當公式在I列時,返回查詢區(qū)域第二列的內(nèi)容,公式向右復(fù)制到了J列,那就是返回查詢區(qū)域第三列的內(nèi)容了,以此類推。小伙伴可能會說了,A列還有那么多重復(fù)的序號啊,沒關(guān)系,因為VLOOKUP函數(shù)有個特點,就是如果有多個符合條件的記錄,只會返回第一條。所以在I4單元格查詢1的時候,得到序號1對應(yīng)的姓名蘭花,在I5單元格查詢2的時候,得到序號2對應(yīng)的姓名棗花…… 最外面的這個IFERROR是干啥用的呢? 她啊,是用來給VLOOKUP屏蔽錯誤值的。因為VLOOKUP每一行中的查詢序號都不一樣,當公式一直下拉時,這個序號就會不斷增加,當查詢的序號在A列沒有出現(xiàn)時,說明左側(cè)記錄中沒有這么多符合條件的內(nèi)容了,公式會返回錯誤值。所以,咱們使用IFERROR函數(shù)把錯誤值變成了空文本。 解釋老半天,操作一袋煙,好了,今天咱們的內(nèi)容就是這些,練手文件在此,你也試試吧: 鏈接:https://www./s/H3ZRUvxawRL
|