當前位置: 妍妍網 > 辦公

任意條件查數據,簡單才是硬道理

2024-06-01辦公


小夥伴們好啊,今天咱們分享一個數據查詢有關的內容,先看資料來源:

左側是員工資訊表,右側是查詢區域,希望在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://www.aliyundrive.com/s/H3ZRUvxawRL

圖文制作:祝洪忠

超級福利

京東618大促, ExcelHome暢銷書限時 5折

疊加滿300-50及滿300-80神券, ≈2.8折

活動僅限今日,手慢無!

點選圖片下方商品卡片,直達京東選購