EXCEL進階課堂 · 函數說 持續更新,這是第12篇教程。
歡迎各位小伙伴轉發、點贊、討論,更歡迎私信獲取練習素材,刻意練習才能學有收獲。
第12講:如何輕松的實現數據逆向查找——match+index
01 問題引入
前面給大家介紹vlookup函數后,大家認識到了該函數的強大之處,同時也不發現了這個函數的不足之處。這不,小王今天就遇到了這樣的問題:
在如圖所示的下表中,要求按照身份證號查找姓名:

小王遇到這樣的問題后,根據要求,他想到使用vlookup函數。正當他為自己的明智選擇高興的時候,他突然發現,這種方法不可行。
02 問題分析
1.為什么不可行?
因為vlookup函數的功能限制。在這個函數中,查找值必須是查找區域的第1列,而查找結果必須是在查找值的右側。如圖

如果按照這個原則,問題當中的身份證號碼應該成為查找區域的第1列,這樣的話姓名根本就不在查找區域,是無法實現查找的。

2.怎么解決?
進階君將會介紹兩種方法給大家。今天先介紹用match+index組合來實現的方法。這種方法理解起來很簡單,基本不需要什么學習成本。
解決思路:
1.利用match函數,先確定輸入的身份證號碼在身份證號碼數據列當中的位置,即所在行數。
2.利用index函數,以姓名列為查找區域,以上一步確定的行數為指定行數,以1為列數。
03 問題解決
解決辦法中會用到函數的套用,為了降低學習難度,進階君將其拆分成小步完成。
第一步:確定要查找身份證在身份證號碼列當中所處的行數。
在G4單元格中輸入公式=match(F4,C2:C9,0)
對于這個函數參數的作用遺忘的,請查看進階君前面的教程:
第1講 定位衛星——MATCH函數
操作過程及效果如下動圖所示:

第二步:在姓名列中查找與身份證同行的單元格
為了表述方便,將上一步找的行數用X表示,于是我們來看這個公式=index(B2:B9,X,1),它起什么作用呢?
它的功能是,在B2:B9這個區域中,查找X行1列單元格,這里只有一列,所以得到就是相應的姓名。
對于這個函數參數的作用遺忘的,請查看進階君前面的教程:
第2講 坐標查找——INDEX函數
然后將公式套用在一起,就變成如下公式:

操作過程及效果如下動圖所示:

04 總結思考
在這篇教程當中,我們利用match+index函數結合,實現了數據的逆向查詢,再一次認識到了這兩個函數的強大之處。
可是小王還不是很滿意。
不是說好了用vlookup函數嗎?怎么來影子都沒有看到。進階君將會在下一講中,巧妙的利用內存數組,實現數據列的位置交換,從而只使用vlookup函數實現逆向數據查找。
為了方便小伙伴們學習,我們的將原始素材共享出來,獲取素材的方法:
第一步:關注 Excel進階課堂。
第二步:私信 Excel進階課堂,因為設定的是自動回復,所以內容一定要準確
私信內容:練一練
第三步:根據得到信息打開網盤,找到 第12講逆向查找 工作簿 自行下載。