【Excel 教學】必學的查找/篩選公式 - 萬金油公式
當你要進行資料查找時,會先想到 Vlookup 或 Index + Match 等查找比對函數。
當你要進行資料篩選時,會想到「篩選功能」或 Filter 等功能及函數。
然而,目前 Filter 函數僅供「微軟 365」以及「Excel 2021」以上的版本使用,我相信很多公司的 Excel 仍然是舊版的(例如:Excel 2016、Excel 2010)
舊版 Excel 想要達成 Filter 函數的結果,就必須使用「萬金油」公式!
萬金油公式 = IFERROR + INDEX + SMALL + IF + ROW,由這 5 個函數所組成。
現在就跟著我一步步學習萬金油公式吧!
下圖是今天要做出的結果:
假設我要篩選出「分店C」的訂單資料,就可以透過「萬金油公式」來達成!

1. 用布林值判斷是否符合「指定條件」
◾️ 布林值公式,此結果為陣列,舊版 Excel 需要按 CSE,才會產生陣列
註:CSE = Ctrl + Shift + Enter
◾️ 公式範例

2. IF + ROW 函數
接著使用 IF + ROW 函數,回傳「符合條件的列號」,此結果為陣列。
◾️ IF 函數架構
用途:判斷條件是否成立
◾️ ROW 函數架構
用途:回傳該範圍/儲存格的「列號」(也就是它在第幾列)
◾️ 公式範例

3. SMALL + ROW 函數
接著加入 SMALL 與 ROW 函數,將「符合條件的列號」集中在最前面,此結果「非陣列」,因此需將公式下拉。
◾️ SMALL 函數架構
用途:回傳範圍內,指定第 N 小的數字
◾️ ROW 函數架構
用途:回傳該範圍/儲存格的「列號」(也就是它在第幾列)
◾️ 公式範例
注意:因為公式要下拉,因此「指定條件的參照」必須改為「絕對參照」
H2 → $H$2

4. INDEX 函數
再加入 INDEX 函數,回傳「相對應的指定欄位」的資料。
◾️ INDEX 函數架構
用途:回傳範圍內指定列號/欄號所在的資料內容
◾️ 公式範例
注意:INDEX 的範圍參照使用「一整欄」,因為會根據「列號」回傳相對應的資料;並且使用「相對參照」,因為公式要「向右拉」。

5. IFERROR 函數
最後加入 IFERROR 函數,讓「#NUM」錯誤值消失。
Q:為什麼會有「#NUM」錯誤值呢?
A:因為篩選結果並沒有這麼多筆,後面「不符條件」的資料就會變成「#NUM」
◾️ IFERROR 函數架構
用途:將錯誤值用另一種方式呈現
◾️ 公式範例

最後再把公式「向右拉」就完成囉!

6. 總結
雖然這個公式落落長,但在撰寫公式過程中,不知不覺也會學完 5 個函數!也是蠻不錯的一個挑戰喔!
但是~如果你是新版 Excel,可以使用 Filter 函數就直接使用吧!畢竟簡單又明瞭!