亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
478
2025-03-31
任意條件查數據,簡單才是硬道理
分享一個數據查詢有關的內容,先看數據源:
左側是員工信息表,右側是查詢區域,希望在G4輸入任意姓名或者任意部門,就能在右側提取出符合條件的全部記錄。
要實現這樣的數據提取效果,其實很簡單,接下來咱們就看看具體的操作步驟。
步驟1在G4單元格輸入要查詢的內容,比如 銷售部。
步驟2在第一行數據的左側,本例是A4單元格,輸入以下公式,向下拖動:=(C4=G$4)+(B4=G$4)+A3
公式是什么意思呢?如果C4單元格中的部門等于G4要查詢的部門,或者是B4單元格中的姓名等于G4單元格要查詢的姓名,就在上一個單元格的基礎上加上1,否則仍然是上一個單元格中的內容。觀察公式下拉后的效果,可以看到,只要C列的部門名稱等于G4單元格中的部門,得到的結果正好是一串遞增的序號1……2……3……這些序號干嘛用呢?不著急,往下看。
步驟3在I4單元格輸入公式,向右向下復制,就可以得到查詢結果了:=IFERROR(VLOOKUP(ROW(A1),$A:$E,COLUMN(B1),0),"")
這個公式又是啥意思呢?這里面的主角是VLOOKUP函數,要查詢的內容是ROW(A1),ROW的作用是返回參數所在的行號,這里得到的結果就是A1的行號——1,當公式向下復制時,會依次變成ROW(A2)、ROW(A3)……,結果就是從1開始的遞增序號1、2、3……。也就是說,在不同行中VLOOKUP函數的查找內容是不一樣的,在第四行時,查找的內容是1,公式到了第五行,查詢的內容就是2了。
再看看VLOOKUP函數查詢的區域是哪里呢?$A:$E ,這個寫法表示A~E列的整列區域,并且使用了絕對引用。
說到這里,有小伙伴們已經知道咱們前面用公式得到的那些序號是干嘛用的了,對,就是協助VLOOKUP查詢用的。前面的序號特點是每遇到一個符合條件的記錄,序號就加上1,而VLOOKUP要查詢的內容就是序號1、2、3……
再來看COLUMN(B1)是干啥用的呢?她的作用和ROW函數類似,是返回參數的列號的,COLUMN(B1),得到的就是B1的列號2。公式向右復制時,會依次變成COLUMN(C1)、COLUMN(D1)……,結果就是從2開始的遞增序號2、3、4……得到的序號再給VLOOKUP函數當小三,不對不對,是當成第三參數,用來指定返回查詢區域中哪一列的內容。
當公式在I列時,返回查詢區域第二列的內容,公式向右復制到了J列,那就是返回查詢區域第三列的內容了,以此類推。
小伙伴可能會說了,A列還有那么多重復的序號啊,沒關系,因為VLOOKUP函數有個特點,就是如果有多個符合條件的記錄,只會返回第一條。所以在I4單元格查詢1的時候,得到序號1對應的姓名蘭花,在I5單元格查詢2的時候,得到序號2對應的姓名棗花……
最外面的這個IFERROR是干啥用的呢? 她啊,是用來給VLOOKUP屏蔽錯誤值的。因為VLOOKUP每一行中的查詢序號都不一樣,當公式一直下拉時,這個序號就會不斷增加,當查詢的序號在A列沒有出現時,說明左側記錄中沒有這么多符合條件的內容了,公式會返回錯誤值。所以,咱們使用IFERROR函數把錯誤值變成了空文本。圖片
練手文件在此,你也試試吧:鏈接:https://aliyundrive.com/s/H3ZRUvxawRL
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。