KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

Excel REDUCE 函數(365)

作者Zhoumandy修改日期

REDUCE 函數會將 LAMBDA 函數套用至陣列中的每個值,逐步累加並傳回最終的總計值,從而將整個陣列歸約為單一累積結果。

reduce-function 1


語法

=REDUCE ()[initial_value],array,lambda(accumulator, value))


引數

  • 初始值(選填):累加器的起始數值。若未填寫,預設為 0.
  • 陣列(必填):要進行歸約運算的陣列。
  • Lambda(必填):用於歸約陣列的自訂 LAMBDA 函數。
    • 累加器(必填):用於累計總和,並作為最終結果返回的值。
    • (必填):套用於陣列中每個元素的計算結果。

返回值

REDUCE 函數會傳回單一數值。


函數注意事項

  1. REDUCE 函數首次於 Microsoft 365 Excel 中推出,因此無法在 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 函數可根據您指定的欄數與列數,傳回一個經計算得出的陣列。