Excel SCAN 函數 (365)
SCAN 函數會將 LAMBDA 函數應用於陣列中的每個值,並返回一個包含掃描陣列時的中間值的陣列。
語法
=REDUCE ([初始值],陣列,lambda(累加器, 值))
參數
- 初始值(可選):累加器的起始值。
- 陣列(必填):要掃描的陣列。
- Lambda (必填):用於掃描陣列的自定義 LAMBDA 函數。
- 累加器(必填):總計後返回的最終結果值。
- 值(必填):應用於陣列中每個元素的計算。
返回值
SCAN 函數返回一個結果陣列。
函數說明
- SCAN 函數是新引入到 Excel for Microsoft 365 的功能,因此在早期版本的 Excel 中不可用。新的動態陣列公式已在 Excel for Microsoft 365 中引入,這意味著無需使用 Ctrl+Shift+Enter 將 SCAN 公式作為陣列公式輸入。
- 如果出現以下情況之一,則會發生 #VALUE! 錯誤值:
- 提供了無效的 LAMBDA 函數;
- 提供了錯誤的參數數量。
- 初始值參數用於設置累加器參數的起始值。返回第一個結果後,初始值變為結果值。然後該過程遍歷陣列中的所有元素,從列到行。如果您正在處理文本,請將初始值設置為""。
範例一:
如下圖所示,有一個數據陣列。我希望從列到行,持續將每個單元格中的值與其相鄰單元格的值相加,請執行以下操作:
請將以下公式複製到 F6 單元格中,然後按 Enter 鍵以獲取結果。
=SCAN (0,B6:D9,LAMBDA(a,b,a+b))
注意:在上面的例子中,SCAN 函數處理的是數字,並且提供的 初始值參數設置為 0。在此情況下,它也可以省略並用空格代替。例如,F6 單元格中的公式可以更改為:
=SCAN ( ,B6:D9,LAMBDA(a,b,a+b))
範例二:
如下圖所示,有一個數據陣列。我希望連接給定陣列中的字符,並返回包含中間值的陣列,請執行以下操作:
請將以下公式複製到 F6 單元格中,然後按 Enter 鍵以獲取結果。
=SCAN ("",B6:D7,LAMBDA(a,b,a&b))
相關函數: