<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MAKEARRAY &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/makearray/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sun, 17 May 2026 09:15:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>MAKEARRAY &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのMAKEARRAY関数の使い方｜LAMBDAで配列を自由に生成する</title>
		<link>https://mashukabu.com/excel-function-howto-use-makearray/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-makearray/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 15:36:49 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[LAMBDA]]></category>
		<category><![CDATA[MAKEARRAY]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[配列]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5916</guid>

					<description><![CDATA[ExcelのMAKEARRAY関数でLAMBDAを使って配列を自由に生成する方法を解説。行列番号を使った動的値生成、九九表・距離行列・三角関数テーブルなどの実務活用例、SEQUENCE/MAP/BYROW との使い分けまで完全網羅。]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのMAKEARRAY関数とは？LAMBDAで配列を自由生成</a><ol><li><a href="#toc2" tabindex="0">LAMBDA関数の基本をおさらい</a></li><li><a href="#toc3" tabindex="0">対応バージョン</a></li><li><a href="#toc4" tabindex="0">MAKEARRAYが活躍する代表シーン</a></li></ol></li><li><a href="#toc5" tabindex="0">MAKEARRAY関数の書式と引数の渡し方（rows・cols・lambda）</a><ol><li><a href="#toc6" tabindex="0">基本構文</a></li><li><a href="#toc7" tabindex="0">引数の詳細</a></li><li><a href="#toc8" tabindex="0">LAMBDAに渡す2つの仮引数（r・c）</a></li><li><a href="#toc9" tabindex="0">r・c の値がどう動くか</a></li><li><a href="#toc10" tabindex="0">結果は動的配列としてスピルする</a></li></ol></li><li><a href="#toc11" tabindex="0">MAKEARRAY関数の使い方①｜基本的な配列生成（定数・連番）</a><ol><li><a href="#toc12" tabindex="0">例1：定数で埋めた配列を作る</a></li><li><a href="#toc13" tabindex="0">例2：文字列で埋めた配列を作る</a></li><li><a href="#toc14" tabindex="0">例3：1から始まる連番を縦に並べる</a></li><li><a href="#toc15" tabindex="0">例4：通し番号（左から右、上から下）</a></li></ol></li><li><a href="#toc16" tabindex="0">MAKEARRAY関数の使い方②｜行番号・列番号を使った動的な値の生成</a><ol><li><a href="#toc17" tabindex="0">例1：単位行列（対角線だけ1、他は0）</a></li><li><a href="#toc18" tabindex="0">例2：チェッカーボード（市松模様）</a></li><li><a href="#toc19" tabindex="0">例3：座標ラベルを生成する</a></li><li><a href="#toc20" tabindex="0">例4：ランダムなテストデータを生成</a></li></ol></li><li><a href="#toc21" tabindex="0">MAKEARRAY関数の応用｜実務活用例（九九表・距離行列・三角関数テーブル）</a><ol><li><a href="#toc22" tabindex="0">応用1：九九表を1関数で作る</a></li><li><a href="#toc23" tabindex="0">応用2：単位変換テーブル（kg ⇔ ポンド）</a></li><li><a href="#toc24" tabindex="0">応用3：距離行列を一発で作る</a></li><li><a href="#toc25" tabindex="0">応用4：三角関数テーブル（sin / cos / tan）</a></li><li><a href="#toc26" tabindex="0">応用5：複利計算テーブル</a></li><li><a href="#toc27" tabindex="0">応用6：ヒートマップ用のスコア行列</a></li></ol></li><li><a href="#toc28" tabindex="0">MAKEARRAY関数でよくあるエラーと対処法</a><ol><li><a href="#toc29" tabindex="0">#NAME? エラー</a></li><li><a href="#toc30" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc31" tabindex="0">#CALC! エラー</a></li><li><a href="#toc32" tabindex="0">#SPILL! エラー</a></li><li><a href="#toc33" tabindex="0">「LAMBDA関数が単独で使えない」と言われる場合</a></li></ol></li><li><a href="#toc34" tabindex="0">MAKEARRAY・SEQUENCE・MAP・BYROW/BYCOLの使い分け</a><ol><li><a href="#toc35" tabindex="0">全体比較表</a></li><li><a href="#toc36" tabindex="0">MAKEARRAY vs SEQUENCE</a></li><li><a href="#toc37" tabindex="0">MAKEARRAY vs MAP</a></li><li><a href="#toc38" tabindex="0">MAKEARRAY vs BYROW / BYCOL</a></li><li><a href="#toc39" tabindex="0">使い分けフローチャート</a></li></ol></li><li><a href="#toc40" tabindex="0">ExcelのMAKEARRAY関数 よくある質問（FAQ）</a><ol><li><a href="#toc41" tabindex="0">Q1. MAKEARRAY関数はGoogleスプレッドシートでも使えますか？</a></li><li><a href="#toc42" tabindex="0">Q2. MAKEARRAYの結果を別の関数に渡せますか？</a></li><li><a href="#toc43" tabindex="0">Q3. LAMBDA内でセル参照（A1など）は使えますか？</a></li><li><a href="#toc44" tabindex="0">Q4. MAKEARRAYで作った配列を値として固定したいときは？</a></li><li><a href="#toc45" tabindex="0">Q5. なぜLAMBDAの仮引数は2つ固定なのですか？</a></li><li><a href="#toc46" tabindex="0">Q6. 配列のサイズを動的に変えられますか？</a></li></ol></li><li><a href="#toc47" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのMAKEARRAY関数とは？LAMBDAで配列を自由生成</span></h2>



<p class="wp-block-paragraph">ExcelのMAKEARRAY関数は、指定した行数と列数の配列をゼロから生成する関数です。読み方は「メイクアレイ」。名前の由来は英語の「make（作る）＋ array（配列）」です。</p>



<p class="wp-block-paragraph">最大の特徴は、各セルの値を自分で自由に決められる点にあります。引数に<a href="https://mashukabu.com/excel-function-howto-use-lambda/">LAMBDA関数</a>を渡し、その中で行番号と列番号に応じた計算式を書きます。九九表や単位行列、距離行列など、規則性のある配列を1つの数式で一気に生成できます。</p>



<p class="wp-block-paragraph">MAKEARRAYは「LAMBDAヘルパー関数」と呼ばれるグループの1つです。仲間には<a href="https://mashukabu.com/excel-function-howto-use-map/">MAP関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-reduce/">REDUCE関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-scan/">SCAN関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-byrow/">BYROW関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-bycol/">BYCOL関数</a>があります。</p>



<p class="wp-block-paragraph">これらヘルパー関数の中で、MAKEARRAYだけが異色の存在です。他の関数はすべて「既存の配列を加工する」のが役割。一方でMAKEARRAYだけが「ゼロから配列を生み出す」役割を担います。</p>



<h3 class="wp-block-heading"><span id="toc2">LAMBDA関数の基本をおさらい</span></h3>



<p class="wp-block-paragraph">LAMBDA関数は、Excelに自作関数を持ち込むための仕組みです。書式は次のとおりです。</p>



<pre class="wp-block-code"><code>=LAMBDA(仮引数1, 仮引数2, ..., 計算式)(実引数1, 実引数2, ...)</code></pre>



<p class="wp-block-paragraph">仮引数に名前を付けて計算式の中で使えます。MAKEARRAYと組み合わせる場合は、LAMBDAを「他の関数の引数」として渡します。単独で呼び出す形にはなりません。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(3, 3, LAMBDA(r, c, r+c))</code></pre>



<p class="wp-block-paragraph">ここではLAMBDA本体を呼び出すのはMAKEARRAYの内部処理です。利用者がカッコを付けて呼ぶ必要はありません。</p>



<h3 class="wp-block-heading"><span id="toc3">対応バージョン</span></h3>



<p class="wp-block-paragraph">MAKEARRAY関数を使えるのは次の環境です。</p>



<ul class="wp-block-list"><li>Microsoft 365（Windows / Mac）</li><li>Excel 2021（永続ライセンス）</li><li>Excel for the web</li></ul>



<p class="wp-block-paragraph">Excel 2019以前では使用できません。古いバージョンで開くと <code>#NAME?</code> エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc4">MAKEARRAYが活躍する代表シーン</span></h3>



<ul class="wp-block-list"><li>九九表など計算式が規則的な表をテンプレートとして作る</li><li>単位行列・対角行列など、数学的な行列を一発で生成する</li><li>ダミーデータ（連番・乱数）を一括生成してテスト用に使う</li><li>距離行列（移動コスト表）や三角関数テーブルを一気に作る</li></ul>



<h2 class="wp-block-heading"><span id="toc5">MAKEARRAY関数の書式と引数の渡し方（rows・cols・lambda）</span></h2>



<h3 class="wp-block-heading"><span id="toc6">基本構文</span></h3>



<p class="wp-block-paragraph">MAKEARRAY関数の構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(rows, cols, LAMBDA(r, c, 計算式))</code></pre>



<p class="wp-block-paragraph">3つの引数すべてが必須です。省略するとエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc7">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>データ型</th><th>説明</th></tr></thead><tbody><tr><td>rows</td><td>はい</td><td>正の整数</td><td>生成する配列の行数（1以上）</td></tr><tr><td>cols</td><td>はい</td><td>正の整数</td><td>生成する配列の列数（1以上）</td></tr><tr><td>lambda</td><td>はい</td><td>LAMBDA式</td><td>各セルの値を決めるLAMBDA関数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>rows</code> と <code>cols</code> に小数や0以下の値を指定するとエラーになります。整数の正数を渡すのが鉄則です。</p>



<h3 class="wp-block-heading"><span id="toc8">LAMBDAに渡す2つの仮引数（r・c）</span></h3>



<p class="wp-block-paragraph">MAKEARRAYに渡すLAMBDA関数には、必ず2つの仮引数を定義します。1つ目に行番号、2つ目に列番号が渡されます。名前は自由です。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(2, 2, LAMBDA(行, 列, 行*10+列))</code></pre>



<p class="wp-block-paragraph"><code>r</code> と <code>c</code> でなくとも <code>行</code>・<code>列</code> のような日本語名でも問題ありません。慣習として <code>r</code>（row）と <code>c</code>（col）が使われます。本記事でも以降は <code>r</code>・<code>c</code> で統一します。</p>



<h3 class="wp-block-heading"><span id="toc9">r・c の値がどう動くか</span></h3>



<p class="wp-block-paragraph">行番号 <code>r</code> と列番号 <code>c</code> はどちらも「1」から始まります。たとえば3行2列の配列では、各セルに次のように値が渡されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>列1 (c=1)</th><th>列2 (c=2)</th></tr></thead><tbody><tr><td>行1</td><td>r=1, c=1</td><td>r=1, c=2</td></tr><tr><td>行2</td><td>r=2, c=1</td><td>r=2, c=2</td></tr><tr><td>行3</td><td>r=3, c=1</td><td>r=3, c=2</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この <code>r</code> と <code>c</code> を計算式の中で使い、各セルの値を組み立てます。ここがMAKEARRAYの心臓部です。</p>



<h3 class="wp-block-heading"><span id="toc10">結果は動的配列としてスピルする</span></h3>



<p class="wp-block-paragraph">MAKEARRAYは動的配列関数です。1つのセルに数式を入れるだけで、結果が自動的に下方向・右方向にスピル（自動展開）します。</p>



<pre class="wp-block-code"><code>A1: =MAKEARRAY(3, 4, LAMBDA(r, c, r*c))</code></pre>



<p class="wp-block-paragraph">A1に上記を入れると、A1:D3の範囲に12個の値が広がります。スピル先のセルに別の値が入っていると <code>#SPILL!</code> エラーになります。出力範囲はあらかじめ空けておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc11">MAKEARRAY関数の使い方①｜基本的な配列生成（定数・連番）</span></h2>



<p class="wp-block-paragraph">ここからは具体的な使い方を見ていきます。まずは「LAMBDAの中で <code>r</code> <code>c</code> を使う・使わない」の2つの基本パターンから始めます。</p>



<h3 class="wp-block-heading"><span id="toc12">例1：定数で埋めた配列を作る</span></h3>



<p class="wp-block-paragraph">最もシンプルな例は、すべて同じ値で埋めた配列です。次の数式で3行4列の「0」埋め配列を生成できます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(3, 4, LAMBDA(r, c, 0))</code></pre>



<p class="wp-block-paragraph">LAMBDAの中で <code>r</code> と <code>c</code> を使わず、固定値の <code>0</code> を返しています。出力は次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>0</th><th>0</th><th>0</th><th>0</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">テンプレートの初期値や、条件付き書式を適用するためのキャンバスとして便利です。</p>



<h3 class="wp-block-heading"><span id="toc13">例2：文字列で埋めた配列を作る</span></h3>



<p class="wp-block-paragraph">数値以外も入れられます。全セルを「未入力」で埋める場合は次のとおりです。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(5, 3, LAMBDA(r, c, &quot;未入力&quot;))</code></pre>



<p class="wp-block-paragraph">5行3列のすべてに「未入力」という文字列が並びます。入力欄のプレースホルダーとして使えます。</p>



<h3 class="wp-block-heading"><span id="toc14">例3：1から始まる連番を縦に並べる</span></h3>



<p class="wp-block-paragraph"><code>r</code> を使うと、行番号がそのまま値になります。1〜10の縦連番は次のとおりです。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(10, 1, LAMBDA(r, c, r))</code></pre>



<p class="wp-block-paragraph">単純な連番だけなら<a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数</a>のほうがシンプルです。<code>=SEQUENCE(10)</code> の1行で済みます。MAKEARRAYの真価は次のような「計算を伴う配列」にあります。</p>



<h3 class="wp-block-heading"><span id="toc15">例4：通し番号（左から右、上から下）</span></h3>



<p class="wp-block-paragraph">3行4列に「1, 2, 3, 4 / 5, 6, 7, 8 / 9, 10, 11, 12」と通し番号を振る場合は、行番号と列番号の組み合わせで計算します。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(3, 4, LAMBDA(r, c, (r-1)*4+c))</code></pre>



<p class="wp-block-paragraph">出力は次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>1</th><th>2</th><th>3</th><th>4</th></tr></thead><tbody><tr><td>5</td><td>6</td><td>7</td><td>8</td></tr><tr><td>9</td><td>10</td><td>11</td><td>12</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「(行番号-1)×1行あたりの列数+列番号」が通し番号の定石パターンです。</p>



<h2 class="wp-block-heading"><span id="toc16">MAKEARRAY関数の使い方②｜行番号・列番号を使った動的な値の生成</span></h2>



<p class="wp-block-paragraph">LAMBDA内で <code>r</code> と <code>c</code> を組み合わせると、より動的な配列を作れます。実用度の高いパターンを4つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc17">例1：単位行列（対角線だけ1、他は0）</span></h3>



<p class="wp-block-paragraph">線形代数で出てくる単位行列は、対角線（行番号＝列番号）だけが1の正方行列です。<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>と組み合わせれば1行で書けます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(5, 5, LAMBDA(r, c, IF(r=c, 1, 0)))</code></pre>



<p class="wp-block-paragraph">出力結果は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>1</th><th>0</th><th>0</th><th>0</th><th>0</th></tr></thead><tbody><tr><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">統計分析や行列演算のテンプレートとして使えます。</p>



<h3 class="wp-block-heading"><span id="toc18">例2：チェッカーボード（市松模様）</span></h3>



<p class="wp-block-paragraph"><code>r+c</code> の偶奇で値を変えると、チェッカーボード状の配列ができます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(8, 8, LAMBDA(r, c, IF(MOD(r+c, 2)=0, &quot;■&quot;, &quot;□&quot;)))</code></pre>



<p class="wp-block-paragraph">8×8の市松模様が並びます。条件付き書式と組み合わせれば、配色テンプレートとしても使えます。</p>



<h3 class="wp-block-heading"><span id="toc19">例3：座標ラベルを生成する</span></h3>



<p class="wp-block-paragraph">行番号と列番号を文字列として組み立てれば、座標ラベル（A1表記など）を自動生成できます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(5, 5, LAMBDA(r, c, ADDRESS(r, c, 4)))</code></pre>



<p class="wp-block-paragraph"><code>ADDRESS</code> の第3引数 <code>4</code> は「相対参照」を意味します。出力は次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>A1</th><th>B1</th><th>C1</th><th>D1</th><th>E1</th></tr></thead><tbody><tr><td>A2</td><td>B2</td><td>C2</td><td>D2</td><td>E2</td></tr><tr><td>A3</td><td>B3</td><td>C3</td><td>D3</td><td>E3</td></tr><tr><td>A4</td><td>B4</td><td>C4</td><td>D4</td><td>E4</td></tr><tr><td>A5</td><td>B5</td><td>C5</td><td>D5</td><td>E5</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">例4：ランダムなテストデータを生成</span></h3>



<p class="wp-block-paragraph">ダミーデータが必要な場面では <code>RANDBETWEEN</code> と組み合わせます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(10, 5, LAMBDA(r, c, RANDBETWEEN(1, 100)))</code></pre>



<p class="wp-block-paragraph">10行5列の範囲に1〜100のランダム整数が一気に並びます。テスト用データセットの作成に重宝します。</p>



<p class="wp-block-paragraph"><code>RANDARRAY</code> でも似たことができます。ただしMAKEARRAYなら、位置に応じた条件分岐を入れられます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(10, 5, LAMBDA(r, c, IF(c=5, RANDBETWEEN(100,200), RANDBETWEEN(1,10))))</code></pre>



<p class="wp-block-paragraph">「r行目だけは1〜10、c=5列目だけは100〜200」のような使い分けが可能です。これがMAKEARRAYの柔軟性です。</p>



<h2 class="wp-block-heading"><span id="toc21">MAKEARRAY関数の応用｜実務活用例（九九表・距離行列・三角関数テーブル）</span></h2>



<p class="wp-block-paragraph">ここからは、実務やデータ分析で使える応用パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc22">応用1：九九表を1関数で作る</span></h3>



<p class="wp-block-paragraph">MAKEARRAYの定番中の定番が九九表（掛け算表）です。行番号と列番号を掛けるだけで完成します。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(9, 9, LAMBDA(r, c, r*c))</code></pre>



<p class="wp-block-paragraph">出力結果（一部）は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th></tr></thead><tbody><tr><td>2</td><td>4</td><td>6</td><td>8</td><td>10</td><td>12</td><td>14</td><td>16</td><td>18</td></tr><tr><td>3</td><td>6</td><td>9</td><td>12</td><td>15</td><td>18</td><td>21</td><td>24</td><td>27</td></tr><tr><td>&#8230;</td><td>&#8230;</td><td>&#8230;</td><td>&#8230;</td><td>&#8230;</td><td>&#8230;</td><td>&#8230;</td><td>&#8230;</td><td>&#8230;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LAMBDA内の <code>r*c</code> を <code>r+c</code> に変えれば「足し算表」、<code>r^c</code> にすれば「累乗表」も作れます。</p>



<h3 class="wp-block-heading"><span id="toc23">応用2：単位変換テーブル（kg ⇔ ポンド）</span></h3>



<p class="wp-block-paragraph">縦方向にkg、横方向に変換係数を並べた変換テーブルも簡単に作れます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(10, 2, LAMBDA(r, c, IF(c=1, r, ROUND(r*2.20462, 2))))</code></pre>



<p class="wp-block-paragraph">出力は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>kg</th><th>ポンド</th></tr></thead><tbody><tr><td>1</td><td>2.20</td></tr><tr><td>2</td><td>4.41</td></tr><tr><td>3</td><td>6.61</td></tr><tr><td>&#8230;</td><td>&#8230;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>c=1</code> のときは行番号（kg）を返します。<code>c=2</code> のときはkg×2.20462（ポンド）を返します。ヘッダー行は別途追加します。</p>



<h3 class="wp-block-heading"><span id="toc24">応用3：距離行列を一発で作る</span></h3>



<p class="wp-block-paragraph">複数地点間の距離（コスト）行列も、行番号と列番号の組み合わせから生成できます。等差で配置された5地点の距離行列は次のとおりです。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(5, 5, LAMBDA(r, c, ABS(r-c)*10))</code></pre>



<p class="wp-block-paragraph"><code>r-c</code> の絶対値に10kmを掛けています。対角線は0、隣り合う地点は10、2つ離れると20…という具合に並びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>0</th><th>10</th><th>20</th><th>30</th><th>40</th></tr></thead><tbody><tr><td>10</td><td>0</td><td>10</td><td>20</td><td>30</td></tr><tr><td>20</td><td>10</td><td>0</td><td>10</td><td>20</td></tr><tr><td>30</td><td>20</td><td>10</td><td>0</td><td>10</td></tr><tr><td>40</td><td>30</td><td>20</td><td>10</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">シミュレーションや配送計画のたたき台に使えます。</p>



<h3 class="wp-block-heading"><span id="toc25">応用4：三角関数テーブル（sin / cos / tan）</span></h3>



<p class="wp-block-paragraph">角度0〜90度のsin値テーブルを10度刻みで作る例です。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(10, 2, LAMBDA(r, c, IF(c=1, (r-1)*10, ROUND(SIN(RADIANS((r-1)*10)), 4))))</code></pre>



<p class="wp-block-paragraph">出力は次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>角度（度）</th><th>sin値</th></tr></thead><tbody><tr><td>0</td><td>0.0000</td></tr><tr><td>10</td><td>0.1736</td></tr><tr><td>20</td><td>0.3420</td></tr><tr><td>30</td><td>0.5000</td></tr><tr><td>&#8230;</td><td>&#8230;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>SIN</code>・<code>COS</code>・<code>TAN</code> を切り替えるだけで他の三角関数テーブルも作れます。</p>



<h3 class="wp-block-heading"><span id="toc26">応用5：複利計算テーブル</span></h3>



<p class="wp-block-paragraph">行を年数、列を金利として複利後の元利合計を一気に計算するパターンです。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(10, 5, LAMBDA(r, c, ROUND(100*(1+c*0.01)^r, 2)))</code></pre>



<p class="wp-block-paragraph">100万円を元手に、年利1〜5%で1〜10年複利運用した結果が一発で並びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>年  利率</th><th>1%</th><th>2%</th><th>3%</th><th>4%</th><th>5%</th></tr></thead><tbody><tr><td>1</td><td>101.00</td><td>102.00</td><td>103.00</td><td>104.00</td><td>105.00</td></tr><tr><td>2</td><td>102.01</td><td>104.04</td><td>106.09</td><td>108.16</td><td>110.25</td></tr><tr><td>3</td><td>103.03</td><td>106.12</td><td>109.27</td><td>112.49</td><td>115.76</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">シナリオ分析のシミュレーターとして使えます。</p>



<h3 class="wp-block-heading"><span id="toc27">応用6：ヒートマップ用のスコア行列</span></h3>



<p class="wp-block-paragraph">条件付き書式と組み合わせれば、ヒートマップの素材も作れます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(7, 24, LAMBDA(r, c, RANDBETWEEN(0, 100)))</code></pre>



<p class="wp-block-paragraph">7日×24時間のランダムなアクセス数を生成します。セルの値で色分けすればヒートマップの完成です。実データの構造を模したテンプレ作成に重宝します。</p>



<h2 class="wp-block-heading"><span id="toc28">MAKEARRAY関数でよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">MAKEARRAYは引数の型に厳密です。よく出るエラーと対処法を整理します。</p>



<h3 class="wp-block-heading"><span id="toc29">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">関数名が認識されない場合に発生します。主な原因は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処</th></tr></thead><tbody><tr><td>Excel 2019以前で使用</td><td>Microsoft 365 / Excel 2021に更新</td></tr><tr><td>関数名のスペルミス</td><td><code>MAKEARRAY</code> を正しく入力</td></tr><tr><td>LAMBDAヘルパー未対応の旧ビルド</td><td>Officeを最新ビルドに更新</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">利用環境がMicrosoft 365でも、Officeのバージョンが古いと未対応なケースがあります。「ファイル → アカウント → 更新オプション」から最新化してください。</p>



<h3 class="wp-block-heading"><span id="toc30">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph">引数の型・値が不正な場合に発生します。主な原因は次のとおりです。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(0, 5, LAMBDA(r, c, r*c))     ' rowsが0
=MAKEARRAY(3.5, 4, LAMBDA(r, c, r*c))   ' rowsが小数
=MAKEARRAY(3, 4, LAMBDA(r, r*c))        ' LAMBDA仮引数が1つ</code></pre>



<p class="wp-block-paragraph">対処は次のとおりです。</p>



<ul class="wp-block-list"><li><code>rows</code> <code>cols</code> は1以上の整数を指定</li><li>LAMBDAの仮引数は必ず2つ</li><li>文字列や論理値を <code>rows</code> <code>cols</code> に渡さない</li></ul>



<h3 class="wp-block-heading"><span id="toc31">#CALC! エラー</span></h3>



<p class="wp-block-paragraph">配列の計算が完了できない場合に発生します。MAKEARRAYで多いケースは次のとおりです。</p>



<ul class="wp-block-list"><li>配列が大きすぎてメモリ不足（数十万行など）</li><li>LAMBDA内で自己参照や循環参照を発生させた</li></ul>



<p class="wp-block-paragraph">対処として、まずは <code>rows</code> <code>cols</code> を小さくして動作確認します。問題なければ徐々に拡大していきましょう。</p>



<h3 class="wp-block-heading"><span id="toc32">#SPILL! エラー</span></h3>



<p class="wp-block-paragraph">結果のスピル先に既存の値があるとこのエラーになります。出力範囲を空けておくか、新しいシートで試してください。</p>



<h3 class="wp-block-heading"><span id="toc33">「LAMBDA関数が単独で使えない」と言われる場合</span></h3>



<p class="wp-block-paragraph">MAKEARRAYの第3引数に渡すLAMBDAは、呼び出しカッコを付けません。</p>



<pre class="wp-block-code"><code>' 正しい例
=MAKEARRAY(3, 3, LAMBDA(r, c, r*c))

' 誤った例（LAMBDAを単独呼び出ししている）
=MAKEARRAY(3, 3, LAMBDA(r, c, r*c)(1, 1))</code></pre>



<p class="wp-block-paragraph">LAMBDA本体だけを「関数の値」として渡すのがポイントです。</p>



<h2 class="wp-block-heading"><span id="toc34">MAKEARRAY・SEQUENCE・MAP・BYROW/BYCOLの使い分け</span></h2>



<p class="wp-block-paragraph">LAMBDAヘルパー系・配列生成系の関数は似て非なる関数です。役割を整理しておくと迷いません。</p>



<h3 class="wp-block-heading"><span id="toc35">全体比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>役割</th><th>出力サイズ</th><th>LAMBDAの仮引数</th></tr></thead><tbody><tr><td>MAKEARRAY</td><td>なし（rows×cols指定）</td><td>ゼロから配列を生成</td><td>指定サイズ</td><td>2つ（r, c）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE</a></td><td>なし（rows×cols指定）</td><td>等差数列を生成</td><td>指定サイズ</td><td>不要</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-map/">MAP</a></td><td>既存配列</td><td>各要素にLAMBDA適用</td><td>同サイズ</td><td>1つ以上</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-reduce/">REDUCE</a></td><td>既存配列</td><td>累積処理して1値に集約</td><td>スカラー</td><td>2つ（累積値, 要素）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-scan/">SCAN</a></td><td>既存配列</td><td>累積処理（途中結果含む）</td><td>同サイズ</td><td>2つ</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-byrow/">BYROW</a></td><td>既存配列</td><td>行ごとにLAMBDA適用</td><td>列ベクトル</td><td>1つ（行配列）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-bycol/">BYCOL</a></td><td>既存配列</td><td>列ごとにLAMBDA適用</td><td>行ベクトル</td><td>1つ（列配列）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc36">MAKEARRAY vs SEQUENCE</span></h3>



<p class="wp-block-paragraph">両者ともゼロから配列を作りますが、得意分野が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>MAKEARRAY</th><th>SEQUENCE</th></tr></thead><tbody><tr><td>生成方法</td><td>LAMBDAで自由計算</td><td>等差数列（開始値+ステップ）</td></tr><tr><td>柔軟性</td><td>各セルで異なる計算が可能</td><td>規則的な連番のみ</td></tr><tr><td>LAMBDA</td><td>必須</td><td>不要</td></tr><tr><td>構文の複雑さ</td><td>やや複雑</td><td>シンプル</td></tr><tr><td>典型用途</td><td>九九表・単位行列・三角関数表</td><td>連番・日付連番・通し番号</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>判断基準</strong>：等差数列（1,2,3&#8230;）ならSEQUENCE。位置に応じた自由な計算が必要ならMAKEARRAY。この2択で判断できます。</p>



<p class="wp-block-paragraph">たとえば <code>1, 2, 3, 4, 5</code> ならSEQUENCEの一発で十分です。<code>1, 4, 9, 16, 25</code>（平方数）はMAKEARRAYが必要です。</p>



<pre class="wp-block-code"><code>' 連番 → SEQUENCEが最適
=SEQUENCE(5)

' 平方数 → MAKEARRAYが最適
=MAKEARRAY(5, 1, LAMBDA(r, c, r^2))</code></pre>



<h3 class="wp-block-heading"><span id="toc37">MAKEARRAY vs MAP</span></h3>



<p class="wp-block-paragraph">MAPは「既存の配列の各要素にLAMBDAを適用する」関数です。MAKEARRAYと混同しがちですが、入力が違います。</p>



<pre class="wp-block-code"><code>' MAP：A2:A10の値を2倍にする
=MAP(A2:A10, LAMBDA(x, x*2))

' MAKEARRAY：1〜9の2倍を新規生成
=MAKEARRAY(9, 1, LAMBDA(r, c, r*2))</code></pre>



<p class="wp-block-paragraph"><strong>判断基準</strong>：既存のデータを加工したいならMAP。ゼロから値を生成したいならMAKEARRAY。</p>



<h3 class="wp-block-heading"><span id="toc38">MAKEARRAY vs BYROW / BYCOL</span></h3>



<p class="wp-block-paragraph">BYROW / BYCOLは「既存配列を行ごと・列ごとにLAMBDAで処理する」関数です。集計に向いています。</p>



<pre class="wp-block-code"><code>' BYROW：各行の合計を縦に並べる
=BYROW(A2:E10, LAMBDA(行, SUM(行)))

' MAKEARRAY：行ごとに何かを生成
=MAKEARRAY(10, 1, LAMBDA(r, c, SUM(OFFSET(A2, r-1, 0, 1, 5))))</code></pre>



<p class="wp-block-paragraph">集計目的ならBYROW / BYCOLが素直で読みやすいです。MAKEARRAYで同じことをしようとすると回りくどくなりがちです。</p>



<h3 class="wp-block-heading"><span id="toc39">使い分けフローチャート</span></h3>



<p class="wp-block-paragraph">迷ったら次の順で考えます。</p>



<ol class="wp-block-list"><li><strong>既存配列を加工したい？</strong> → Yes：MAP / BYROW / BYCOL / SCAN / REDUCE</li><li><strong>ゼロから等差数列を作りたい？</strong> → Yes：SEQUENCE</li><li><strong>ゼロから位置依存の計算をしたい？</strong> → Yes：MAKEARRAY</li></ol>



<p class="wp-block-paragraph">この3問でほぼ判別できます。</p>



<h2 class="wp-block-heading"><span id="toc40">ExcelのMAKEARRAY関数 よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc41">Q1. MAKEARRAY関数はGoogleスプレッドシートでも使えますか？</span></h3>



<p class="wp-block-paragraph">A. 現時点では使えません。MAKEARRAYはMicrosoft 365 / Excel 2021以降の専用関数です。Googleスプレッドシートにはこれに直接対応する関数はありません。代替として <code>ARRAYFORMULA</code> + <code>SEQUENCE</code> + <code>ROW</code>/<code>COLUMN</code> の組み合わせで似たことができます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(SEQUENCE(9)*TRANSPOSE(SEQUENCE(9)))</code></pre>



<p class="wp-block-paragraph">このパターンで九九表をスプレッドシートでも作れます。</p>



<h3 class="wp-block-heading"><span id="toc42">Q2. MAKEARRAYの結果を別の関数に渡せますか？</span></h3>



<p class="wp-block-paragraph">A. はい、できます。MAKEARRAYの戻り値は通常の配列です。<code>SUM</code>・<code>AVERAGE</code>・<code>MAX</code>・<code>SORT</code> などに直接渡せます。</p>



<pre class="wp-block-code"><code>=SUM(MAKEARRAY(10, 10, LAMBDA(r, c, r*c)))</code></pre>



<p class="wp-block-paragraph">これで「10×10の掛け算表の合計」が1つの数式で求まります。MAKEARRAYは式の途中部品としても優秀です。</p>



<h3 class="wp-block-heading"><span id="toc43">Q3. LAMBDA内でセル参照（A1など）は使えますか？</span></h3>



<p class="wp-block-paragraph">A. 使えます。次のように外部のセル参照を計算式に含められます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(5, 5, LAMBDA(r, c, $A$1*r+c))</code></pre>



<p class="wp-block-paragraph">ただし、参照するセルが変わるたびに配列全体が再計算されます。大きな配列だとパフォーマンスに影響するため、必要最小限にとどめましょう。</p>



<h3 class="wp-block-heading"><span id="toc44">Q4. MAKEARRAYで作った配列を値として固定したいときは？</span></h3>



<p class="wp-block-paragraph">A. 数式バーで <code>F9</code> を押すと、計算結果が配列リテラルに置き換わります。あるいは <code>Ctrl+C</code> でコピーし、「形式を選択して貼り付け → 値」で値貼り付けする方法もあります。ハードコードされた値の表になるため、テンプレート化したいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc45">Q5. なぜLAMBDAの仮引数は2つ固定なのですか？</span></h3>



<p class="wp-block-paragraph">A. MAKEARRAYは「行番号」と「列番号」の2つを必ず内部で渡す仕様だからです。引数が1つだけだと列番号を受け取れません。3つ以上だと余分な引数への値の渡し方が定義されていません。仮引数は必ず2個と覚えておきましょう。</p>



<p class="wp-block-paragraph">なお、片方を使わない場合（例：常に固定値）でも、仮引数の宣言は省略できません。</p>



<pre class="wp-block-code"><code>' 仮引数cを使わなくても、宣言は必須
=MAKEARRAY(5, 5, LAMBDA(r, c, r))</code></pre>



<h3 class="wp-block-heading"><span id="toc46">Q6. 配列のサイズを動的に変えられますか？</span></h3>



<p class="wp-block-paragraph">A. はい。<code>rows</code> と <code>cols</code> にセル参照や式を渡せば、入力値に応じて配列サイズが変わります。</p>



<pre class="wp-block-code"><code>=MAKEARRAY($B$1, $B$2, LAMBDA(r, c, r*c))</code></pre>



<p class="wp-block-paragraph">B1とB2に入力した値で九九表のサイズが変わります。ダッシュボードの動的テンプレートに応用できます。</p>



<h2 class="wp-block-heading"><span id="toc47">まとめ</span></h2>



<p class="wp-block-paragraph">ExcelのMAKEARRAY関数は、LAMBDAと組み合わせてゼロから配列を自由に生成できる強力な関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=MAKEARRAY(rows, cols, LAMBDA(r, c, 計算式))</code></li><li>行番号 <code>r</code> と列番号 <code>c</code> は1から始まる</li><li>LAMBDAの仮引数は必ず2つ</li><li>等差数列ならSEQUENCE、自由計算ならMAKEARRAY</li><li>既存配列の加工はMAP / BYROW / BYCOLが適任</li><li>対応環境はMicrosoft 365 / Excel 2021以降</li></ul>



<p class="wp-block-paragraph">まずは「九九表」「単位行列」「通し番号」など、シンプルな例で動かしてみてください。<code>r</code> と <code>c</code> の動きが体感できれば、距離行列・三角関数表・複利計算テーブルといった応用も自然と書けるようになります。</p>



<p class="wp-block-paragraph">LAMBDAヘルパー関数は単独で覚えるよりも、まとめて学ぶと違いが明確になります。MAP・BYROW・BYCOL・REDUCE・SCANと並べて使い分けの感覚を掴んでください。</p>



<p class="wp-block-paragraph"><strong>関連記事</strong>:</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-lambda/">LAMBDA関数の使い方｜カスタム関数を自作する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数の使い方｜連番・日付・2次元配列を1関数で</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-map/">MAP関数の使い方｜BYROWとの違いと使い分け</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-reduce/">REDUCE関数の使い方｜配列を1つの値に集約する方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-scan/">SCAN関数の使い方｜REDUCEとの違いと累計・残高推移への活用法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-byrow/">BYROW関数の使い方｜行ごとに関数を適用</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-bycol/">BYCOL関数の使い方｜列ごとに関数適用</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数の使い方｜条件分岐の基本</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-makearray/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
