(コピペ用)累計列をスピル形式で生成するExcel計算式

Excelの新しい関数である SCAN 関数を使うことで、累計列をスピル形式で生成することができます。ここでは、SCAN 関数の構造と動作について詳しく解説します。※Excel 365用の式です。

累計計算の式と構造

計算式

以下の式を累計の先頭にセットし、「範囲」のみ指定してください。

=SCAN(0, 範囲, LAMBDA(a, b, a + b))

たとえば、合計をしたい範囲がB2:B20であるならば、以下の式になります。

=SCAN(0, B2:B20, LAMBDA(a, b, a + b))

各関数の役割と構造

SCAN関数

SCAN 関数は、指定した初期値から開始して、指定した範囲内の各要素に対して累積計算を行います。この関数は、Excel 365やExcel 2021で使用できます。

初期値

この計算式では初期値として 0 を使用しています。これは累積計算の開始点となります。

範囲

範囲 には累計を計算したいセル範囲を指定します。たとえば、範囲が B2:B20 であれば、セル B2 から B20 までの値を累積計算します。

LAMBDA関数

LAMBDA 関数は、カスタムの累積計算関数を定義するために使用します。この例では、LAMBDA(a, b, a + b) として定義されています。これは、累積値 a に対して各要素 b を加算することを意味します。

計算式の動作

この計算式は次のように動作します:

  1. SCAN 関数は初期値 0 から開始します。
  2. 範囲内の最初の要素を 0 に加算して結果を計算します。
  3. 次に、累積値に次の要素を加算します。
  4. このプロセスを範囲内のすべての要素に対して繰り返し、累積値を計算します。

このようにして、指定した範囲内の各要素に対して累積計算を行い、その結果をスピル形式で表示することができます。

具体的な使用例

サンプルテーブル

以下はA1:C20サイズのサンプルテーブルです。このテーブルのC2セルへB2:B20の累計を算出するスピル式を生成する予定です。

日付 来客数 累計
1日 840
2日 1000
3日 760
4日 750
5日 840
6日 560
7日 730
8日 590
9日 610
10日 980
11日 1080
12日 840
13日 930
14日 720
15日 830
16日 760
17日 970
18日 710
19日 920

計算式の使用例

例えば、B2:B20 に売上データが入力されている場合、C2へ以下の計算式をコピー・ペーストしてください。

=SCAN(0, 範囲, LAMBDA(a,b, a + b))

続けて「関数の挿入(fx)」で一部を修正します。

第2引数のArray(範囲)を消してB2:B20をしています。

コピペで使える累計を算出する計算式

コピペで使える累計を算出する計算式

OKすれば以下の計算式が完成し、次のようにして累計を計算することができます。

=SCAN(0, B2:B20, LAMBDA(a, b, a + b))

このようにして、 SCAN 関数を使用することで、Excelで簡単に累計列をスピル形式で生成することができます。

コメント

PAGE TOP
タイトルとURLをコピーしました