更新日:、 作成日:
エクセル MAKEARRAY 関数:LAMBDA で値を設定した配列を作成する
はじめに
エクセルの MAKEARRAY 関数の使い方を紹介します。
MAKEARRAY 関数は LAMBDA 関数で値を設定した配列を作成します。
=MAKEARRAY(3,3,LAMBDA(row,col,(row-1)*3+col)) のようにして、3 行 3 列に連番を作成できます。
連番や文字列など好きなように配列を初期化できます。
MAKEARRAY 関数の引数
MAKEARRAY(行数, 列数, LAMBDA)
行数と列数の範囲にLAMBDAで計算した値の配列を返します。
引数「行数」 | 配列の行数を指定します。 | スピル化 |
引数「列数」 | 配列の列数を指定します。 | スピル化 |
引数「LAMBDA」 | LAMBDA 関数を指定します。LAMBDA 関数の第 1 引数に引数「行数」の番号が順番に渡されます。第 2 引数に引数「列数」の番号が順番に渡されます。 |
スピル化:セルの範囲や配列を指定すると結果が「スピル」します。
結果が最初から配列のため、セルの範囲や配列を指定してもその通りにはスピルされません。
LAMBDA 関数
「LAMBDA 関数」の引数は次のようになっています。
引数「行番号」に MAKEARRAY 関数の引数「行数」が 1 から順番に渡されます。
引数「列番号」に MAKEARRAY 関数の引数「列数」が 1 から順番に渡されます。
引数「計算」の結果が MAKEARRAY 関数が返す配列の要素になります。
使い方
MAKEARRAY 関数の使い方を紹介します。
行と列の番号を作成する
行と列の番号を文字列にして配列を作成します。
LAMBDA(row,col,
"行"&row&",列"&col))
引数「LAMBDA」の第 1 引数と第 2 引数に引数「行数」と「列数」の番号を順番に渡します。引数「LAMBDA」の結果が配列の要素になります。次のように処理されます。
"行"&1&",列"&2
"行"&1&",列"&3
"行"&2&",列"&1
"行"&2&",列"&2
"行"&2&",列"&3
連番を作成する
3 行 3 列の範囲に 1 からの連番を配列で作成します。「SEQUENCE 関数」を使用しても連番を作成できます。
LAMBDA(row,col,
(row-1)*3+col))
引数「LAMBDA」は次のように処理されます。
(1-1)*3+2
(1-1)*3+3
(2-1)*3+1
(2-1)*3+2
(2-1)*3+3
…
ランダムな値を作成する
3 行 3 列の範囲に 1 から 9 のランダムな値を配列で作成します。「RANDBETWEEN 関数」を使用してランダムな値を取得できます。
LAMBDA(row,col,
RANDBETWEEN(1,9)))
セルが再計算されるたびに新しい値が取得されます。
干支を作成する
行の番号に対応した干支を配列で作成します。「CHOOSE 関数」を使用して干支を取得できます。
LAMBDA(row,col,
CHOOSE(row,"子","丑","寅","卯","辰")))
引数「LAMBDA」は次のように処理されます。
CHOOSE(2,"子","丑","寅","卯","辰")))
CHOOSE(3,"子","丑","寅","卯","辰")))
CHOOSE(4,"子","丑","寅","卯","辰")))
CHOOSE(5,"子","丑","寅","卯","辰")))
スポンサーリンク
解説
引数「行数」と「列数」には 1 以上の整数を指定します。
引数「行数」または「列数」が 0 以下や文字列のときはエラー #VALUE! になります。
引数「LAMBDA」の第 1 引数に引数「行数」の番号が 1, 2, 3 … のように順番に渡されます。
引数「LAMBDA」の第 2 引数に引数「列数」の番号が 1, 2, 3 … のように順番に渡されます。
引数「LAMBDA」で計算した結果が、結果として返す配列の要素になります。
引数「LAMBDA」の引数の数が 2 つでないときはエラー #VALUE! になります。
引数「LAMBDA」が「LAMBDA 関数」でないときはエラー #VALUE! になります。