MAKEARRAY関数 ● LAMBDA関数に連番を渡して計算する

[Microsoft 365]

Excelの MAKEARRAY(メイク・アレイ)関数の使い方を紹介します。

Microsoft 365の新関数であるMAKEARRAY関数は、LAMBDA関数のヘルパー関数です。LAMBDA関数に1行の連番と1列の連番を渡して行と列の総当たりで計算し、その戻り値からなる配列を返します。

スポンサーリンク

書式

LAMBDA関数に連番を渡して計算する
=MAKEARRAY(行数, 列数, LAMBDA関数)

LAMBDA関数]の引数[変数1]に「1」から始まる[行数]分の配列、引数[変数2]に「1」から始まる[列数]分の配列を渡して計算し、その戻り値からなる配列を返します。返される配列のサイズは、[行数]×[列数]となります。

引数

引数 説明
行数 LAMBDA関数]の引数[変数1]に渡す配列の行数を指定する。省略時は1となる。
列数 LAMBDA関数]の引数[変数2]に渡す配列の列数を指定する。省略時は1となる。
LAMBDA関数 戻り値の計算方法を指定するためのLAMBDA関数を指定する。

LAMBDA関数の書式は以下のとおりです。LAMBDA関数では引数[変数]を最大253個指定できますが、MAKEARRAY関数と一緒に使用するときは2つ指定します。

=LAMBDA([変数1, 変数2…], 計算式)

LAMBDA関数の使い方は「LAMBDA関数 ● オリジナルの関数を定義する」を参照してください。

使用例1…掛け算九九の表を作成する

MAKEARRAY関数を使用して、5の段までの掛け算九九の表を作成してみます。9行5列の表を作成するので、引数[行数]に「9」、[列数]に「5」を指定します。また、引数[LAMBDA関数]に「LAMBDA(r,c,c*r)」を指定します。すると、[LAMBDA関数]の「r」に「{1;2;3;4;5;6;7;8;9}」という9行1列の配列の要素が、「c」に「{1,2,3,4,5}」という1行5列の配列の要素が順に渡され、9行5列の配列が返されます。

=MAKEARRAY(行数, 列数, LAMBDA関数)

セルA3 | =MAKEARRAY(9,5,LAMBDA(r,c,c*r))

実際にセルにMAKEARRAY関数を入力するときは、単一のセル(ここではセルA3)を選択して入力します。[Enter]キーを押して数式を確定すると、戻り値の配列のサイズ(ここでは9行5列)の範囲に数式がスピル(隣接するセルに数式が自動拡張すること)し、結果が表示されます。

図1 セルA3を選択してMAKEARRAY関数を入力する。[Enter]キーを押すと数式がスピルし、セルA3~E11の範囲にMAKEARRAY関数の結果が表示される。

使用例2…掛け算九九の表を改良する

図1の数式に手を加えて、九九の表を「1 × 1 = 1」「1 × 2 = 2」形式になるように改良します。それには、MAKEARRAY関数の引数[LAMBDA関数]に「LAMBDA(r,c,c & " × " & r & " = " & r*c)」を指定します。

セルA3 | =MAKEARRAY(9,5,LAMBDA(r,c,c & " × " & r & " = " & r*c))

実際に数式を修正するには、入力時と同様に単一のセルA3を選択して数式を修正し、[Enter]キーで確定します。

図2 セルA3を選択してMAKEARRAY関数を修正する。[Enter]キーを押すと、セルA3~E11の範囲の数式が自動で修正される。

スポンサーリンク

関連記事