Skip to main content

Excel REDUCE 函數 (365)

Author: Zhoumandy Last Modified: 2025-05-12

REDUCE 函數會將 LAMBDA 函數應用於陣列中的每個值,並返回累加器中的總值,從而將陣列簡化為一個累積值。

reduce-function 1


語法

=REDUCE([初始值], 陣列, lambda(累加器, 值))


參數

  • 初始值(可選):累加器的起始值。如果省略,默認值為 0。
  • 陣列(必填):要簡化的陣列。
  • Lambda (必填):用於簡化陣列的自定義 LAMBDA 函數。
    • 累加器(必填):總計後返回的最終結果值。
    • (必填):應用於陣列中每個元素的計算。

返回值

REDUCE 函數返回單一值。


函數說明

  1. REDUCE 函數是新引入 Excel for Microsoft 365 的功能,因此在早期版本的 Excel 中不可用。
  2. 如果出現以下情況之一,則會產生 #VALUE! 錯誤值:
    • 提供了無效的 LAMBDA 函數;
    • 提供的參數數量不正確。

範例

如下方截圖所示,有一個數據陣列。若要分別對陣列中的偶數和奇數進行求和,請按照以下步驟操作:

若要對偶數進行求和,請將以下公式複製到 F6 單元格中,然後按下 Enter 鍵以獲取結果。

=REDUCE(0,B6:D9,LAMBDA(a,b,IF(ISEVEN(b), a+b,a)))

reduce-function 3

若要對奇數進行求和,請將以下公式複製到 F7 單元格中,然後按下 Enter 鍵以獲取結果。

=REDUCE(0,B6:D9,LAMBDA(a,b,IF(ISODD(b), a+b,a)))

reduce-function 2

注意:在上述每個公式中,所提供的初始值參數設置為 0。它也可以 省略並以空格代替。例如,若要對偶數進行求和,F6 單元格中的公式可以更改為:

=REDUCE( ,B6:D9,LAMBDA(a,b,IF(ISEVEN(b), a+b,a)))

相關函數:

  • Excel MAP 函數
    MAP 函數應用 LAMBDA 函數來創建新值,並返回通過將供應陣列中的每個值映射到新值所形成的陣列。

  • Excel LAMBDA 函數
    Excel LAMBDA 函數用於創建可在整個工作簿中重複使用的自定義函數。

  • Excel MAKEARRAY 函數
    Excel MAKEARRAY 函數根據給定的行數和列數返回一個計算出的陣列。