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

Excel SCAN 函數(365)

作者Zhoumandy修改日期

SCAN 函數會將 LAMBDA 函數套用至陣列中的每個值,並傳回一個包含掃描過程中各階段中間結果的陣列。

掃描功能 1


語法

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


引數

  • 初始值(選填):設定累加器的起始數值。
  • 陣列(必填):要掃描的陣列。
  • Lambda(必填):用於掃描陣列的自訂 LAMBDA 函數。
    • 累加器(必填):用於累計總和,並作為最終結果返回的值。
    • (必填):用於對陣列中每個元素執行計算的內容。

返回值

SCAN 函數」會返回一個結果陣列。


函數注意事項

  1. SCAN 函數首次於 Microsoft 365 Excel 中推出,因此無法在較早版本的 Excel 中使用。Microsoft 365 Excel 引入了全新的動態陣列公式功能,輸入 SCAN 公式時無需再按 Ctrl+Shift+Enter 將其作為陣列公式輸入!
  2. 若發生下列任一情況,則會出現 #VALUE!錯誤值錯誤:
    • 提供無效的 LAMBDA 函數;
    • 提供的參數數量不正確。
  3. initial_value」引數用於設定累加器的起始值。在傳回第一個結果後,initial_value 將更新為該結果值,並依序對陣列中所有元素(由欄至列)進行迭代處理。若您處理的是文字,請務必將初始值設為““

範例一:

如下圖所示,有一組資料陣列。我希望從欄到列,持續將儲存格中的值與其相鄰儲存格的值相加,請執行以下步驟:

請將下方公式複製到 F6 儲存格中,然後按下 Enter 鍵以取得結果。

=SCAN ()0,B6:D9,LAMBDA(a,b,a+b))

掃描功能 2

注意:在上述範例中,SCAN 函數處理的是數值,且所提供的 initial_value 引數設為 0. 在此情況下,此引數亦可省略,並以空白取代。例如,F6 儲存格中的公式可修改為:

=SCAN (),B6:D9,LAMBDA(a,b,a+b))

範例二:

如下圖所示,有一組資料陣列。我希望串接給定陣列中的字元,並傳回一個包含中間值的陣列,請執行以下步驟:

請將下方公式複製到 F6 儲存格中,然後按下 Enter 鍵以取得結果。

=SCAN ()““,B6:D7,LAMBDA(a,b,a&b))

掃描功能 3

相關函數:

  • Excel 函數 MAP
    MAP 函數會套用 LAMBDA 函數,針對所提供之陣列中的每個值進行對應運算,並傳回一個由這些新值所組成的陣列。

  • Excel 函數 LAMBDA
    Excel LAMBDA 函數可讓您建立自訂函數,並在整個活頁簿中重複使用,大幅提升工作效率!

  • Excel 函數 Reduce
    REDUCE 函數會對陣列中的每個值套用 LAMBDA 函數,並將累加器中的總值傳回,從而將陣列簡化為單一累積值。