今天跟大家分享下我們如何在帶有合并單元格的表格中進行數據查詢,這樣的問題相信很多人都遇到過,在帶有合并單元格的表格中使用函數進行數據查詢,往往是找不到正确的結果的,今天就跟大家分享會出現這種情況的原因以及解決方法。
想要從零學習Excel,這裡↑↑↑
一、合并單元格為什麼無法使用函數這個是因為函數公式看到的數據與我們看到的數據是不同的,如下圖所示,右側的就是函數公式看到的數據,它其實就是将合并單元格取消之後的格式,這樣的話僅僅隻有每個班級的第一個姓名會對應班級,其餘的數據是沒有對應班級的,所以就是造成函數識别錯誤,那麼對于這樣的情況我們應該如何解決呢?分為2種情況
如果你的數據源是可以更改的,最簡單的方法就是将合并單元格取消掉,然後為每個姓名填充它們對應的班級,這個過程是可以批量設置的,操作也非常的簡單
首先需要把合并單元格取消掉,然後按下【F5】調出定位點擊【定位條件】選擇【空值】點擊确定,随後在編輯欄中輸入等于=A2(就是第一個班級的位置)按下快捷鍵【Ctrl 回車】即可批量填充姓名
姓名填充完畢後,它就是一個簡單的多條件查詢了,在這裡不建議使用vlookup,更建議大家使用index match進行數據查詢
公式為:=INDEX($C$2:$C$13,MATCH(F3&G3,$A$2:$A$13&$B$2:$B$14,0))
這個公式之前跟大家介紹過很多次了,在這裡就不再多做介紹了,就是index match多條件查詢的常規用法
第二種情況是數據源不能更改,必須保持合并單元格的格式,這種情況就比較複雜了,我需要借助indirect函數,這個函數的使用方法前幾天跟大家分享過,如果想要了解我會将文章鍊接放在最後。我們可以使用indirect函數來構建一個動态的數據查詢區域,來達到數據查詢的效果
公式為:=VLOOKUP(F4,INDIRECT("B"&MATCH(E4,A:A,0)&":C14"),2,0),跟大家簡單的介紹下查詢原理,先來了解下他的參數
第一參數:F4,查找表中姓名的位置
第二參數:"B"&MATCH(E4,A:A,0)&":C14"),數據查詢區域,它是一個動态的區域
第三參數:2,查找的結果在第二參數的第二列
第四參數:0,表示精确匹配
關鍵是Vlookup函數的第二參數,如下圖所示,在這裡B就是列标号,MATCH(E4,A:A,0)它的作用是查找班級班A列的位置,C14是表格的結尾位置
如果班級是1班,Vlookup函數的第二參數為:B3: C14
如果班級是2班,Vlookup函數的第二參數為:B8: C14
如果班級是3班,Vlookup函數的第二參數為:B12: C14
這樣的話就會定位到各自班級對應的姓名,并且這個班級的姓名永遠是在最前面的,當我們将班級設置為2班,Vlookup就會以下圖黃色區域為查找區域進行數據查詢
以上就是今天分享的全部内容,對于合并單元格的數據查詢,第二種方法是通用的,它适用于任何查找函數,不僅限于Vlookup函數,大家可以動手試一下,可能很多人都會覺得比較難,但是我覺得這個算是比較簡單的方法了。
我是Excel從零到一,關注我,持續分享更多Excel技巧
INDIRECT,一個Excel高手愛不釋手的函數,可以一次引用多個表格
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!