有多个匹配结果匹配出多个值
這個求助問題還是有點難度的,不僅是多條件查找,匹配結果還是是一對多的,還需再次按條件篩選。
話不多說,直接看案例。
案例 :
下圖 1 中的左邊數據表是每個銷售人員所有產品的流水賬,每人每天晚上會盤點庫存后填入總表,不論順序先后。
因為是流水賬,所以只有看最新日期的庫存才有意義。
右邊數據表的“姓名”和“產品”是下拉菜單,需要根據這兩個選項,自動匹配出最新的日期,以及該日期對應的庫存。
效果如下圖 2 所示。
解決方案:
先制作下拉菜單。
1. 將數據表中的姓名和產品項復制粘貼到空白的區域,選中 K 列 --> 選擇菜單欄的“數據”-->“刪除重復項”
2. 在彈出的對話框中選擇“以當前選定區域排序”--> 點擊“刪除重復項”
3. 點擊“確定”
4. 用同樣的方式給 L 列也刪除重復項。
5. 選中 F2 單元格 --> 選擇菜單欄的“數據”-->“數據驗證”-->“數據驗證”
6. 在彈出的對話框中選擇“設置”選項卡 --> 按以下方式設置 --> 點擊“確定”:
- 允許:選擇“序列”
- 來源:選擇 K1:K3 區域
姓名下拉菜單就制作好了。
重復同樣的步驟制作產品下拉菜單。
接下來開始設置公式。
7. 在 H2 單元格中輸入以下公式 --> 按 Ctrl+Shift+Enter 回車:
=MAX(IF((A2:A25=F2)*(B2:B25=G2),C2:C25))
公式釋義:
- IF((A2:A25=F2)*(B2:B25=G2):如果“姓名”和“產品”兩個項同時與查找區域相匹配
- MAX(...,C2:C25)):那么查找 C 列結果中的最大值,即最晚日期
- 數組公式,用三鍵結束
從下圖的結果可以看出,同樣的姓名和產品共有兩條記錄,H2 單元格找出的是最近的日期。
現在根據 F 至 H 三列,匹配出庫存數。
8. 在 I2 單元格中輸入以下公式 --> 按 Ctrl+Shift+Enter 回車:
=VLOOKUP(F2&G2&H2,IF({1,0},A:A&B:B&C:C,D:D),2,0)
公式釋義:
- F2&G2&H2:用 & 符號將三個單元格的值合并成一項
- IF({1,0},A:A&B:B&C:C,D:D):將邏輯值 {1,0} 作為一組數組參與運算,從而擴充另一組數組 A:A&B:B&C:C,D:D,得到的結果為 {"趙鐵錘芒果5月2日",26;"王鋼蛋火龍果4月30日 ","146";...}
- vlookup(...,...,2,0):用 vlookup 函數在上述數組中查找合并單元格的內容,返回 D 列的值
- 數組公式,用三鍵結束
有關 vlookup 多條件查找的用法,請參閱
從下圖的結果可以看出,查找結果完全正確。
很多同學會覺得 Excel 單個案例講解有些碎片化,初學者未必能完全理解和掌握。不少同學都希望有一套完整的圖文教學,從最基礎的概念開始,一步步由簡入繁、從入門到精通,系統化地講解 Excel 的各個知識點。
現在終于有了,以下專欄,從最基礎的操作和概念講起,用生動、有趣的案例帶大家逐一掌握 Excel 的操作技巧、快捷鍵大全、函數公式、數據透視表、圖表、打印技巧等……學完全本,你也能成為 Excel 高手。
頭條423活動期間限時特價。
總結
以上是生活随笔為你收集整理的有多个匹配结果匹配出多个值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019-03-13-算法-进化(验证回
- 下一篇: 2019-03-14-算法-进化(两个数