2026 年將非常過時的 5 個 Excel 函數(請使用現代替代方案)

幾乎所有使用 Excel 的人都有那麼一個從大學時代就一直依賴的函數,因為它好用到足以讓他們避免學習新事物。這就是為什麼即使到了 2026 年,你仍然會在全新的檔案中看到 VLOOKUP 和 CONCATENATE 這兩個函數。我理解這一點,因為我還是會猶豫… 放棄小計,改用總計 感謝你長期以來的支持。

2026 年將非常過時的 5 個 Excel 函數(請使用現代替代方案)

然而,Excel 已經發展演變,我們多年前學到的許多公式現在變得更加複雜、不夠穩定,或者更難維護。如果你的公式看起來和以前一樣,而你的電子表格卻感覺比以前更臃腫,這可能表示你需要更新了。

XLOOKUP 完全取代了 VLOOKUP 和 HLOOKUP。

一個可以向任意方向工作的單一函數

在 Excel 中使用 XLOOKUP 函數尋找客戶 ID 105

VLOOKUP 和 HLOOKUP 基本上是 Excel 中最早的兩組搜尋函數。它們功能強大、易於使用且應用廣泛。但問題在於,隨著電子表格規模的擴大,它們的限制會越來越明顯,令人沮喪。即使是像在表格中間插入一列這樣簡單的操作,也可能導致搜尋結果出錯,因為這兩個函數都依賴編碼的列或行索引號。

=VLOOKUP(查找值, 表數組, 列索引編號, [範圍查找]) =HLOOKUP(查找值, 表數組, 行索引號, [範圍查找])

此外,VLOOKUP 函數無法在主鍵列左側進行搜索,因此您必須重新排列資料或建立輔助列才能實現基本搜索。 XLOOKUP 函數則一次解決了所有這些問題。您無需指向一個大型表格併計算列數或行數,只需告訴 Excel 具體的查找位置和返回結果即可:

=XLOOKUP(查找值,查找數組,返回數組,[如果找不到],[匹配模式],[搜尋模式])

這種方法意味著,即使有人在表格中添加列或重新排列字段,您的公式也不會失效。 XLOOKUP 函數還可以從左到右、從右到左以及從上到下進行查找,因此當您的資料並非按照傳統的、整齊的查找表格式排列時,它更加靈活。

另一個重要的升級是 XLOOKUP 現在包含一個 if_not_found 參數,因此您不再需要使用 IFERROR 來避免出現難看的 #N/A 錯誤訊息。以下兩個語法突顯了二者的差異:

=IFERROR(VLOOKUP(B2, C2:E7, 4, TRUE)" ") =XLOOKUP(B2, C2:E7, D2:D7, "未找到")

第一個公式在 C2:E7 區域的第一列中尋找 B2,並傳回第四列的值;第二個公式在 C2:E7 區域中找出 B2,並傳回 D2:D7 中符合的值。 XLOOKUP 函數預設使用精確匹配,這降低了從未排序清單中意外取得近似結果的風險,而且它還能處理缺失值,而無需強制您在每次搜尋時都使用 IFERROR 函數。

XMATCH 是 MATCH 函數的更有效率版本。

對匹配類型和搜尋趨勢進行精確控制

Excel 中的 XMATCH 函數傳回特定員工的姓名和職位。

你很可能還在使用 MATCH 來建立肌肉記憶。它在尋找射程內的理想位置方面一直表現出色,尤其是在… MATCH 與 INDEX 結合使用問題在於 MATCH 函數很容易被誤用。如果您忘記指定精確比對類型,Excel 可能會根據一些不適用於您資料的排序假設,顯示最接近的結果。

=MATCH(lookup_value, lookup_array, [match_type])

由於這類錯誤通常會產生看似合理的結果,因此很難發現和修正。使用 XMATCH 函數時,公式預設是精確匹配,這在絕大多數情況下正是大多數人所需要的。

=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])

如果你正在寫作 =MATCH(25, A1:A3, 0) 出於習慣,切換到 =XMATCH(25, A1:A3, 1) 充分利用這項改進。除了更安全的預設值外,XMATCH 還允許您控制搜尋方向。它可以從列表末尾而非開頭進行搜索,這在您想要查找最後一個條目或某個值的最後一次出現而無需添加輔助列時尤其有用。

=XMATCH(E3, C3:C100, 0, -1)

當然,MATCH 仍然可用,但此時就好比明明有更有效率的選項,卻偏偏選擇一個勉強能用的東西。

動態的 FILTER、UNIQUE 和 SUM 公式取代了 SUMPRODUCT 的突破性功能。

更易於閱讀、更正和長期維護

使用 SUMPRODUCT 函數,您可以在單一公式中處理多條件計算、加權求和以及基於矩陣的邏輯。這種靈活性使其多年來一直是一種流行的替代方案。缺點是 SUMPRODUCT 公式通常看起來像程式碼,這使得它們難以閱讀、難以調試,並且隨著時間的推移也難以維護。現在,它們… Excel原生支援動態數組我們過去使用 SUMPRODUCT 函數的許多用途,現在不再需要如此複雜晦澀的公式了。

由於現代 Excel 中的動態數組,像 SUM 這樣的標準函數現在可以直接處理數組計算。將這兩種方法並列比較,新方法通常更清晰易懂:

計算SUMPRODUCT和
簡單加法=SUMPRODUCT($A$20:$A$50)=SUM($A$20:$A$50)
經典加權組合=SUMPRODUCT(A2A5, C2:C5)=SUM(A2:A5 * C2:C5)
多準則聚合=SUMPRODUCT((A2:A9=”East”)*(B2:B9=”Cherries”)*C2:C9)=SUM((A2:A9=”East”)*(B2:B9=”Cherries”)*C2:C9)

此外,借助 FILTER 和 UNIQUE 等新函數,您可以將問題分解成更小、更易讀的步驟,而不是創建一個冗長難懂的公式。您可以篩選感興趣的數據,必要時提取唯一值,然後匯總結果。邏輯保持不變,但公式的用途對於以後需要閱讀或維護它的人來說更加清晰。

例如,如果 B 列是銷售清單,A 列是產品名稱,而您想收集特定產品(例如「蘋果」)的銷售數據,則可以編寫以下兩個公式之一:

=SUMPRODUCT((A2:A10="Apples")*(B2:B10))
=SUM(FILTER(B2:B10, A2:A10="Apples", 0))

在 SUMPRODUCT 函數中,Excel 會建立一個包含 TRUE 和 FALSE 值的陣列來檢查產品是否為“蘋果”,將其轉換為 1 和 0,然後乘以相應的銷售額。任何非「蘋果」的產品都會轉換為 0,並從最終總數中剔除。在第二個公式中,FILTER 函數只傳回產品為「蘋果」的銷售額,然後將 SUM 函數加入這個更簡潔的清單。結果相同,但第二種方法更容易讓人一眼理解公式的用途。

SUMPRODUCT 函數的 array1 和 array2 結構方便修改,因此使用起來可能很方便。但是,對於包含數十萬甚至數百萬行的大型資料集,它的速度可能比更常用、更現代的替代函數慢得多。除了性能之外,新函數還提供了更簡潔的公式,更容易校對,也更便於下一個打開您電子表格的人理解。

IFS 和 SWITCH 消除了嵌套的 IF 格式

更簡潔的邏輯,無需無止盡的括號

使用 IFS 函數在 Excel 中尋找銷售人員評分。

從技術上講,嵌套的 IF 語句確實可行,但它們很快就會變成一場噩夢——難以閱讀和維護,尤其是如果您不是自己編寫的。使用 IFS 函數,您無需在 IF 語句中嵌套 IF 語句,而是按順序列出條件和結果,使公式看起來更像簡單的邏輯:如果滿足此條件,則滿足彼條件;如果滿足此條件,則滿足彼條件。 SWITCH 函數更進一步,它將單一值與多個固定機率進行比較;它更簡潔、更易讀,並且包含預設選項,因此您無需在最後添加額外的錯誤處理。

=IF(test1, result1, IF(test2, result2, IF(test3, result3, ...))) =IFS(logical_test1, value_if_true1, logical_test2, value_if_true2, ...) =SWITCH(expression, value, result, value.

例如,如果您想要給結果分配分數,可以使用巢狀的 IF 語句,但 IFS 語句能更清楚地表達相同的邏輯:

=IF(A1>90, “A”, IF(A1>80, “B”, IF(A1>70, “C”, “F”))) =IFS(A1>90, “A”, A1>80, “B”, A1>70, “C”, TRUE, “F”)

在 IFS 公式結束時加入 TRUE 會作為全域條件,告訴 Excel 如果前面的所有條件都不滿足,應該回傳什麼值。在本例中,任何低於 70 的結果都會傳回“F”,而無需嵌套其他 IF 函數。 SWITCH 函數處理的模式略有不同,例如為節分配數字代碼,並且它在末尾包含一個預設參數,因此不需要 TRUE。

=SWITCH(A1, 101, “銷售”, 102, “行銷”, “其他”)

如果儲存格 A1 包含 101,Excel 將傳回值「銷售」。如果包含 102,Excel 將傳回值「行銷」。如果包含其他任何值,Excel 將傳回值「其他」。即使案例清單不斷增長,邏輯依然清晰。

TEXTJOIN 和 CONCAT 完全取代了 CONCATENATE

合併範圍,而不僅僅是單一儲存格。

Excel 中的 TEXTJOIN 函數

CONCATENATE 函數現在基本上已經過時了。雖然你仍然會在許多電子表格中看到它,但它已被正式替換,而且理由充分。它不適用於處理整個單元格區域,因為你必須手動引用每個單元格,而且它缺少分隔符號的概念。

CONCAT 是它的現代替代品,其工作方式大致相同,但增加了對全局引用的支援:

=CONCAT(text1, ...)

您無需手動選擇每個單元格,只需輸入類似這樣的公式,Excel 就會處理剩下的工作:

=CONCAT(B2:C8)

當您想要指定分隔符號(例如逗號或空格),並告訴 Excel 忽略空白儲存格時,TEXTJOIN 是完成此任務的最佳工具:

=TEXTJOIN(delimiter, ignore_empty, text1, ...) =TEXTJOIN(", ", TRUE, B2:C8)

第一個參數是分隔符,可以是任何你需要的字元;第二個參數告訴 Excel 是否跳過空白儲存格。這在建立易讀清單、建立 SQL 查詢或從一列或一個資料區域編譯富文本時尤其有用。

是時候摒棄那些陳舊的Excel使用習慣了。

好消息是,這些升級都不需要你從頭開始重新學習Excel。在大多數情況下,新函數實際上比它們取代的舊函數更容易使用;只是需要花點時間才能習慣。

如果你本週只打算改進一個習慣,那就從你最常用的函數開始,用它的現代版本來取代它。然後,你可以嘗試用這五個替換方法重寫工作簿中的一小部分,看看你的公式能變得多麼簡潔。

轉到頂部按鈕