SCAN関数 – 論理

SCAN関数 – 初期値から配列を走査して値を蓄積する関数


1. 使い方と活用例

SCAN関数は、指定した配列を先頭から順に走査しながら、各要素を初期値に対して演算し、各ステップごとの中間結果を返す関数です。蓄積型の計算(たとえば累積和や累積積など)に非常に便利です。

2. 基本の書式

=SCAN(初期値, 配列, ラムダ関数)

3. 引数の説明

  • 初期値 – 計算の開始点となる初期の値を指定します。
  • 配列 – 各要素を処理対象とする配列または範囲を指定します。
  • ラムダ関数 – 2つの引数(蓄積値、現在値)を取り、処理内容を指定するLAMBDA関数を使用します。

4. 使用シーン

  • 数値の累積和や累積積を求める場面
  • 前の値を基にした連続的な計算を実行したいとき
  • 複雑なデータ処理を動的に展開する必要があるとき

5. 応用のポイント

SCAN関数では、各ステップごとに中間結果が返されるため、蓄積の経過を可視化するのに適しています。LAMBDA関数を活用することで、複雑な演算も柔軟に定義できます。たとえば、IF関数と組み合わせることで条件付きの累積処理も可能です。

6. 具体例とその解説

=SCAN(0, {1,2,3,4}, LAMBDA(a,b, a+b))

この式では、初期値0から始めて、配列{1,2,3,4}の各要素を順に加算しています。結果は {1,3,6,10} となります。
1ステップ目:0+1=1、2ステップ目:1+2=3、3ステップ目:3+3=6、4ステップ目:6+4=10 という流れです。

7. 関連関数の紹介

  • REDUCE関数 – 配列を走査して最終的な1つの値を返す関数
  • MAP関数 – 複数の配列に対して要素ごとの処理を行う関数
  • LAMBDA関数 – ユーザー定義のカスタム関数を作成できる関数

8. まとめ

SCAN関数は、配列を走査しながら中間の蓄積結果を得られる便利な関数です。初期値からの累積処理を可視化できるため、データ分析や演算過程の検証などに役立ちます。LAMBDAと組み合わせることで柔軟な処理も可能となります。

9. 対応バージョン

SCAN関数は、Microsoft 365 および Excel 2021以降のバージョンで使用可能です。これ以前のバージョンでは利用できません。