MAKEARRAY関数 – 行数・列数とLAMBDA関数で配列を生成する関数
1. 使い方と活用例
MAKEARRAY関数は、指定した行数・列数と、セルごとの値を生成するためのLAMBDA関数を使って、配列を動的に作成する関数です。
各セルの位置(行番号・列番号)に応じて異なる値を生成でき、動的なテーブルやパターン生成に活用されます。
2. 基本の書式
=MAKEARRAY(rows, columns, lambda)
3. 引数の説明
- rows – 必須。生成する配列の行数。
- columns – 必須。生成する配列の列数。
- lambda – 必須。2つの引数(row, column)を受け取り、それに基づいて各要素を計算するLAMBDA関数。
4. 使用シーン
- セルの位置に基づいた連番やパターン配列を作成したいとき。
- 行・列のインデックスを使って計算結果を自動生成したいとき。
- プログラミング的なロジックで配列を操作したいとき。
5. 応用のポイント
MAKEARRAY関数は、各セルの「行番号」「列番号」をパラメータとしてLAMBDA関数に渡し、その結果をセルの値として設定します。
再計算を伴う処理や、行列演算、動的なテンプレート構築にも応用可能です。
MAP関数と異なり、**サイズ(行数・列数)を明示的に指定する**点が特徴です。
6. 具体例とその解説
1〜5までの行番号を持つ配列を1列で作成する場合:
=MAKEARRAY(5, 1, LAMBDA(r, c, r))
結果は以下のようになります:
1
2
3
4
5
行番号と列番号の和を配列として作成する例:
=MAKEARRAY(3, 3, LAMBDA(r, c, r + c))
この式の結果は以下の3×3配列になります:
2 3 4
3 4 5
4 5 6
7. 関連関数の紹介
- LAMBDA関数 – MAKEARRAYで使用するロジック部分を定義する関数。
- MAP関数 – 配列の各要素にLAMBDAを適用して変換する関数。
- SEQUENCE関数 – 単純な数列や行列を生成する関数(LAMBDA不要)。
- BYROW関数 / BYCOL関数 – 行または列ごとにLAMBDAを適用する関数。
- ARRAYTOTEXT関数 – 配列を文字列に変換する関数。
8. まとめ
MAKEARRAY関数は、Excelにおける「配列生成」をプログラミング的に制御できる非常に強力な関数です。
LAMBDA関数との組み合わせにより、動的かつロジカルな配列構築が可能となり、テンプレート作成やシミュレーションにも適しています。
9. 対応バージョン
MAKEARRAY関数は、Microsoft 365(バージョン2208以降)および Excel for the web で使用可能です。
Excel 2019以前のバージョンでは使用できません。