MAKEARRAY関数 – 論理

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以前のバージョンでは使用できません。