今回は、SCANという新しい、関数をご紹介します。SCANは、LAMBDA関数の、ヘルパー関数です。
つまり、LAMBDA関数とセットで使用される、特殊な関数です。SCANは強力な機能ですが、初心者の方にとって、少し複雑かもしれないです。ココでは、まず、SCAN関数の使用方法と仕組みを理解していきましょう。
紹介記事の人物
橋本 由夏(はしもと ゆか)
Excelの作家(主に、フリーランスとして活動しています。)
著書:Excel厳選テクニック本を出版コチラから購入出来ます。
職 業:Excel作家、ExcelのYouTuber、Excel・Wordの講演
出身地:熊本県
趣 味:Excelでどれだけ時短して、早く仕事が終わるかを追求する
経 歴:民間、パソコンインストラクター、公的機関で勤務経験あり
SCAN関数のご紹介(累計の表示方法)
クイック分析で累計を表示
上記の売上の全てを月の累計にします。累計を計算する場合、計算式は使用しなくても大丈夫です。
売上の金額範囲を選択し、【クイック分析】をクリックすると、ポップアップが表示されます。ココから、【合計】を選び、【累計】を選ぶと、右側に、累計が表示されます。
【数式】バーを見てみると、C3がC3である、数式が示されている事が分かります。エンターキーを教えて、2月を見ると、
=SUM($C$3:C4)
この様な関数が挿入され、C3を絶対参照にして、1月分と2月分が足されています。
この様に、累計を算出するなら、SCAN関数は必要ありません。単純にクイック分析を使用すると、累計は表示されます。
今回は、、SCAN関数が、実際に、便利に使える2つの方法をご紹介します。
SCAN関数とは?
ココで、SCAN関数のご紹介を先にします。
その前に構文についてご説明させてください。
SCAN関数は、3つの引数が書かれており、最初の値は、【初期値】、2つ目の引数は、【追加したい値】になります。
3番目の引数は、RAMBDA関数です。これは、初期値と値、2つに適合される関数です。それでは、具体的に、累計を出していきます。
SCAN関数で累計を算出
=SCAN(0,C3:C14,SUM)
初期値を0として、配列を選択します。コチラを合計するので、SUM関数を使用します。これを実行すると、
初期値である0と、D3セルが追加されたという事が分かります。累計金額がこの様に分かります。
LAMBDA関数
先ほどは、SUM関数を使用しました。独自のLAMBDAを使用することも可能です。ここでは、LAMBDA関数もみていきましょう。
2つの引数を使用する、LAMBDA関数を作成します。ここで、SCAN関数を使用する場合、LAMBDA関数の引数は、
独自の関数を作成できることが出来ます。
最初の引数は、acc(コンピュータ)にしたおきます。2つ目の引数は、val(バリュー)とココでは設定してます。この様に、引数は、任意の名前を付けることが出来ます。
SUM関数
3つ目の引数は、これらを、使用する関数です。この2つの設定した引数と、違う引数を設定します。
ここでの累積は、LAMBDA関数の値の結果を返す値になり、その値は、売上になります。
ですので、ココでは、SUM関数を使用します。
=SCAN(0,C3:C14,LAMBDA(acc,val,SUM(acc+val)))
ここでは、どの様な事がおきているのか?と言いますと、ここでは、コンピュータの関数、accが使われています。
LAMBDA関数には、2つの引数があります。ココでは、1番目は、【累積値】、2番目は【値】です。
そして、結果である、合計地を示しています。
ここでの累積値の初期値は0であり、配列内の値は、【25358】になります。
LAMBDA関数は、この、コンピュータのacc関数と、バリューのVAL関数を足したモノとなります。
ですので、LAMBDA内で、SUM関数を使用したので、発生します。
これは、何が起こっているか?と言いますと、
初期値を0として指定しました。
次に売上となる配列を指定しました。(下に下がるにつれて、値が取得されます。)
結果、LAMBDA関数は、累積値が格納され、結果として返されます。
次にセルを移動すると、これからの2つの合計値が取得できます。これが、SCAN関数の仕組みです。
SCAN関数の便利な例
ここでは、PCや周辺機器の【機材購入一覧表】1月の売上表があります。
この、プルダウンリストに基づいて、売上を集計していきます。
FILTER関数
ここでは、FILTER関数を使用して、各、売上合計を集計していきます。
まず、FILTER関数を使って、配列を選択します。
【含む】というのは、プリンターを含んでいるか?の条件なので、ここでは、【機材】のデータを選択します。
これが、プルダウンリストと、結果が同じという事なので、【=H2】と入力します。そして、エンターキーを押します。
この様に、プルダウンリストのプリンターの全ての結果を呼び出すことができます。
表示形式は、【日付】に変更しておきます。プルダウンリストと等しい場合は、この様に、データを抽出することが出来ます。
累計を算出する
では、累計を算出します。
SCAN関数内の初期値は0、配列は、金額となります。ココでは、CHOOSECOLS関数(チューズカラムズ)を使用します。
CHOOSECOLS関数は、配列から指定された行を返します。
配列は、H5#と入力すると、動的配列の結果全体が選択出来ます。
取得したい列は、範囲選択した、5番目の列、つまり、金額の列です。
5と入力して、括弧でくくります。
次に、売上高です。
=SCAN(0,CHOOSECOLS(H5#,5),SUM)
上記の数式を入力し、SUM関数を使用して、エンターキーを押します。
すると、プルダウンリストで表示されている、現在、プリンターの累計が分かります。
まとめ
今回は、SCAN関数について、ご説明しました。
SCAN関数は、前のセルを追跡できる、唯一の関数です。ぜひ、この便利な関数を使用してはいかがですか?
コメント