[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列)の範囲に数式がスピル(隣接するセルに数式が自動拡張すること)し、結果が表示されます。
使用例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]キーで確定します。