MAKEARRAY関数の使い方|配列を自在に生成!実務に活かせる事例を紹介

GoogleスプレッドシートのMAKEARRAY関数は、指定したサイズの配列を自由に生成できる便利な関数です。
ランダムデータの生成や表の自動作成、ダミー表の整備など、ちょっとした自動化にも大活躍します。

この記事では、基本的な使い方から、実務で使える事例までわかりやすく解説します。

目次

MAKEARRAY関数とは?

MAKEARRAY関数は、行数と列数を指定して、各セルに計算された値を入れた配列を生成する関数です。

=MAKEARRAY(行数, 列数, LAMBDA(行番号, 列番号, 計算式))
引数説明
行数作成する行数(例:5)
列数作成する列数(例:4)
LAMBDA各セルに入れる値の計算式

基本の使い方

1〜9の表を生成する例

=MAKEARRAY(3, 3, LAMBDA(r, c, (r - 1) * 3 + c))

A1セルに入れると以下のように出力されます!

  • r は行番号、c は列番号
  • 行×列の計算式で、連番や表のパターンを自由に作れます

実務での活用例3選

① シフト表に曜日を自動で並べる

目的: シフト表や週報で、「今週の曜日」を自動で表示したい

=MAKEARRAY(1, 7, LAMBDA(r, c, TEXT(DATE(2025, 6, 1) + c - 1, "ddd")))

以下のように曜日が自動ででてきます。A2セルに関数を入れています。

  • DATE(2025, 6, 1):週の開始日を設定
  • TEXT(..., "ddd"):曜日(日本語)を表示

応用: DATETODAY() に変えると、毎週更新される曜日表に!

② 社員の勤怠チェック表の自動作成

目的: 1週間の勤務日・休日日を自動で表示し、勤怠管理の手間を軽減したいときに使えます。

=MAKEARRAY(5, 7, LAMBDA(r, c, IF(MOD(r+c, 3)=0, "休み", "出勤")))

この数式は、5行7列(例えば5人分の1週間の勤務日数)を対象に、行番号(r)と列番号(c)の合計を3で割った余りが0の時に「休み」、そうでなければ「出勤」と表示します。

出力結果は以下のような形になります。B3セルに関数を入れています。

どう役立つの?

  • 規則的な休暇パターンを自動生成できるので、手動で入力するミスや手間を減らせます。
  • 実際の勤務データがない段階でも、仮のスケジュールを作るのに便利です。
  • もちろん、この「MOD」部分を別の条件に置き換えれば、シフトパターンや特定の条件に沿った出勤管理表に応用可能です。

実務での応用例

  • 予定がまだ決まっていない段階の仮スケジュール作成や研修計画。
  • 小規模オフィスやチームの週間勤務予定を作成し、共有資料として使う。
  • 出勤・休暇が規則的な現場での勤怠表作成の自動化。

③ テストデータとして金額表を自動生成

目的: 数量や単価の掛け算による「仮の売上金額表」を手軽に作りたいときに便利です。

=MAKEARRAY(5, 4, LAMBDA(r, c, r * c * 100))

この数式は、5行4列の表を作成し、行番号(r)と列番号(c)を掛け合わせ、さらに100をかけて数値を生成します。

どう役立つの?

  • 架空の売上データやテストデータを簡単に作成でき、システムテストやマクロ検証の際に活用可能。
  • 実際の業務データがまだ用意できない段階でも、データ形式や集計方法のテストに使えます。
  • 手動でデータを入力する手間を省き、スプレッドシートの動作確認を効率化します。

実務での応用例

  • 新システム導入時のデータ連携テスト用の仮データ作成。
  • 売上集計関数やグラフの動作確認。
  • 社内研修用に用いる架空の販売データ表の作成。

MAKEARRAY関数のメリット・注意点

メリット注意点
自由にサイズ・内容を設計できるLAMBDAに慣れていないと難しく感じる
テストデータの作成が一瞬でできる配列サイズが大きすぎると処理が重い
他関数と組み合わせて柔軟に拡張できるLAMBDAの構文ミスはエラーになる

よくある質問(FAQ)

Q. 値が「#CALC!」になるのはなぜ?
→ LAMBDA内の式でエラーがある、または計算量が大きすぎる可能性があります。

Q. ランダムなデータも作れますか?
→ はい。RANDBETWEEN()RAND() をLAMBDA内で使えば、乱数表も作れます。

関連記事

まとめ

MAKEARRAY関数は、「表をまるごと自動生成したい」「パターンデータをまとめて作りたい」といった場面にぴったりの強力な関数です。

初心者には少しとっつきづらいかもしれませんが、パターンを覚えておけば、自由自在なデータ操作が可能になります。

ぜひこの記事の関数をそのままコピペして、あなたのスプレッドシートで試してみてください!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

エンジニアを数年経験し、現在は事業会社でデータ分析業務に従事しています。
取得資格:基本情報技術者、G検定、統計検定2級

目次