<?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>SEQUENCE関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/sequence%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sun, 22 Mar 2026 01:37:45 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>SEQUENCE関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのMAKEARRAY関数の使い方｜計算で配列を自在に生成</title>
		<link>https://mashukabu.com/spreadsheet-makearray-function/</link>
					<comments>https://mashukabu.com/spreadsheet-makearray-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:32:45 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LAMBDA系関数]]></category>
		<category><![CDATA[LAMBDA関数]]></category>
		<category><![CDATA[MAKEARRAY関数]]></category>
		<category><![CDATA[SEQUENCE関数]]></category>
		<category><![CDATA[配列生成]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4813</guid>

					<description><![CDATA[スプレッドシートのMAKEARRAY関数で行×列の計算配列を生成する方法を解説。九九表や距離行列の作成例、SEQUENCE関数との違い、LAMBDA系関数の使い分けまでわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「行と列の位置に応じて、計算した値で配列を作りたい」。スプレッドシートで表を作っていると、こんな場面に出くわすことがあります。</p>



<p class="wp-block-paragraph">九九表やランダムデータの生成、距離行列の作成など、「行×列の計算結果で埋めた表」を手作業で作るのはかなりの手間です。</p>



<p class="wp-block-paragraph">MAKEARRAY関数を使えば、行数と列数を指定して、各セルの値をLAMBDA関数で自由に計算できます。この記事では、基本から実務活用パターン、SEQUENCE関数との違いまでわかりやすく解説します。</p>




  <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">MAKEARRAY関数とは？</a><ol><li><a href="#toc2" tabindex="0">MAKEARRAY関数の基本構文</a></li><li><a href="#toc3" tabindex="0">LAMBDA関数のおさらい</a></li></ol></li><li><a href="#toc4" tabindex="0">MAKEARRAY関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">九九表を作る</a></li><li><a href="#toc6" tabindex="0">固定値で埋めた配列を作る</a></li><li><a href="#toc7" tabindex="0">行番号・列番号を使った計算で配列を作る</a></li></ol></li><li><a href="#toc8" tabindex="0">MAKEARRAY関数の実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">パターン1: 対角線だけ1の単位行列を作る</a></li><li><a href="#toc10" tabindex="0">パターン2: ランダムなテストデータを生成する</a></li><li><a href="#toc11" tabindex="0">パターン3: 上三角行列を作る</a></li><li><a href="#toc12" tabindex="0">パターン4: セルの値を参照して動的なサイズの配列を作る</a></li><li><a href="#toc13" tabindex="0">パターン5: 連番に名前付きのラベルを付ける</a></li></ol></li><li><a href="#toc14" tabindex="0">SEQUENCE関数との違い・使い分け</a><ol><li><a href="#toc15" tabindex="0">SEQUENCE関数で十分なケース</a></li><li><a href="#toc16" tabindex="0">MAKEARRAY関数でないとできないケース</a></li></ol></li><li><a href="#toc17" tabindex="0">LAMBDA系関数の全体像</a></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">MAKEARRAY関数とは？</span></h2>



<p class="wp-block-paragraph">MAKEARRAY関数（読み方: メイクアレイ関数）は、指定した行数×列数の<strong>配列をLAMBDA関数の計算結果で生成する</strong>関数です。「make array（配列を作る）」が名前の由来で、ゼロから計算で配列を作り出すイメージですね。</p>



<p class="wp-block-paragraph">たとえば、3行×3列の九九表を作りたいとき、MAKEARRAY関数で「行番号×列番号」という計算を指定するだけで、9マスすべてが自動で埋まります。セルをひとつずつ入力する必要はありません。</p>



<p class="wp-block-paragraph">MAKEARRAY関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>行数×列数を指定して、任意のサイズの配列を一発で生成する</li><li>各セルの値をLAMBDA関数の計算で自由に決められる</li><li>LAMBDAには行番号と列番号が渡されるため、位置に応じた計算が可能</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>MAKEARRAY関数はGoogleスプレッドシート独自の関数です。Excelには同じ名前の関数がないため、Excelで同様の処理をしたい場合は、SEQUENCE関数やINDEX関数を組み合わせてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">MAKEARRAY関数の基本構文</span></h3>



<pre class="wp-block-code"><code>=MAKEARRAY(行数, 列数, LAMBDA(行, 列, 処理))</code></pre>



<p class="wp-block-paragraph">カッコの中に、生成する配列の行数・列数と、各セルに適用するLAMBDA関数を指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>行数</td><td>必須</td><td>生成する配列の行数（1以上の整数）</td></tr><tr><td>列数</td><td>必須</td><td>生成する配列の列数（1以上の整数）</td></tr><tr><td>LAMBDA(行, 列, 処理)</td><td>必須</td><td>各セルに適用する関数。「行」は行番号、「列」は列番号を受け取る仮引数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LAMBDA関数の仮引数（上の例では「行」「列」）には好きな名前を付けられます。<code>r</code>と<code>c</code>や<code>row</code>と<code>col</code>でもOKです。この仮引数に行番号（1から始まる）と列番号（1から始まる）が渡されて、処理が実行されます。</p>



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



<p class="wp-block-paragraph">MAKEARRAY関数を理解するには、LAMBDA関数の基本を知っておく必要があります。LAMBDA関数については<a href="https://mashukabu.com/spreadsheet-bycol-function/">BYCOL関数の記事</a>で詳しく解説していますので、ここではポイントだけおさらいします。</p>



<p class="wp-block-paragraph">LAMBDA関数は「自分だけの関数を作れる」関数です。引数と処理内容を自分で定義できます。</p>



<pre class="wp-block-code"><code>=LAMBDA(引数1, 引数2, 処理)(値1, 値2)</code></pre>



<p class="wp-block-paragraph">たとえば <code>=LAMBDA(x, y, x<em>y)(3, 4)</code> と書くと、xに3、yに4が入って「3</em>4=12」が返ります。MAKEARRAY関数の中では、このLAMBDA関数に行番号と列番号が自動的に渡される仕組みです。</p>



<h2 class="wp-block-heading"><span id="toc4">MAKEARRAY関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">ここでは、MAKEARRAY関数でさまざまな配列を生成する基本パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc5">九九表を作る</span></h3>



<p class="wp-block-paragraph">MAKEARRAY関数のもっともわかりやすい例が九九表です。任意のセル（たとえばA1）に以下の数式を入力します。</p>



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



<p class="wp-block-paragraph">結果が9行×9列に展開されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th><th>H</th><th>I</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td></tr><tr><td>2</td><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>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></tbody></table></figure>



<p class="wp-block-paragraph">1行目×1列目=1、2行目×3列目=6、9行目×9列目=81。行番号と列番号をかけ算しているだけですが、たった1つの数式で九九表が完成しますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">固定値で埋めた配列を作る</span></h3>



<p class="wp-block-paragraph">すべてのセルを同じ値で埋めた配列を作ることもできます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>3</td><td>0</td><td>0</td><td>0</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3行×4列のゼロ埋め配列が生成されます。LAMBDAの処理部分で<code>r</code>や<code>c</code>を使わずに固定値を返しているだけですね。テンプレートの雛形を作りたいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc7">行番号・列番号を使った計算で配列を作る</span></h3>



<p class="wp-block-paragraph">行番号と列番号を組み合わせれば、位置に応じた計算結果で配列を埋められます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr><td>2</td><td>3</td><td>4</td><td>5</td></tr><tr><td>3</td><td>4</td><td>5</td><td>6</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1行1列目は1+1=2、2行3列目は2+3=5です。足し算・引き算・べき乗など、自由に計算式を組み立てられるのがMAKEARRAY関数の強みですね。</p>



<h2 class="wp-block-heading"><span id="toc8">MAKEARRAY関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc9">パターン1: 対角線だけ1の単位行列を作る</span></h3>



<p class="wp-block-paragraph">数値分析で使う単位行列（対角成分が1、それ以外が0）をワンステップで作れます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>0</td><td>0</td><td>0</td></tr><tr><td>2</td><td>0</td><td>1</td><td>0</td><td>0</td></tr><tr><td>3</td><td>0</td><td>0</td><td>1</td><td>0</td></tr><tr><td>4</td><td>0</td><td>0</td><td>0</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行番号と列番号が同じなら1、違えば0を返しています。<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>と組み合わせれば、条件に応じた値を配置できますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン2: ランダムなテストデータを生成する</span></h3>



<p class="wp-block-paragraph">動作確認用のダミーデータを一括で作りたいときに便利です。</p>



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



<p class="wp-block-paragraph">5行×3列に、1から100までのランダムな整数が入ります。シートを再計算するたびに値が変わるので、固定したい場合は結果をコピーして「値のみ貼り付け」してください。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン3: 上三角行列を作る</span></h3>



<p class="wp-block-paragraph">行番号が列番号以下の部分だけ値を入れ、残りを空白にする上三角行列です。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(4, 4, LAMBDA(r, c, IF(r&lt;=c, r*c, &quot;&quot;)))</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr><td>2</td><td>&nbsp;</td><td>4</td><td>6</td><td>8</td></tr><tr><td>3</td><td>&nbsp;</td><td>&nbsp;</td><td>9</td><td>12</td></tr><tr><td>4</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>16</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行番号が列番号以下のセルだけ計算結果を入れ、それ以外は空文字を返しています。マトリクス表の作成に応用できるパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン4: セルの値を参照して動的なサイズの配列を作る</span></h3>



<p class="wp-block-paragraph">行数や列数をセル参照にすれば、配列のサイズを動的に変えられます。</p>



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



<p class="wp-block-paragraph">A1に5、B1に3と入力すると、5行×3列の九九表が生成されます。A1やB1の値を変えるだけで配列のサイズが自動で変わるため、可変サイズのテンプレートを作りたいときに重宝します。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン5: 連番に名前付きのラベルを付ける</span></h3>



<p class="wp-block-paragraph">MAKEARRAY関数の中で文字列を返すこともできます。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(5, 1, LAMBDA(r, c, &quot;項目&quot;&amp;r))</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th></tr></thead><tbody><tr><td>1</td><td>項目1</td></tr><tr><td>2</td><td>項目2</td></tr><tr><td>3</td><td>項目3</td></tr><tr><td>4</td><td>項目4</td></tr><tr><td>5</td><td>項目5</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「項目1」「項目2」&#8230;と連番付きのラベルが自動生成されます。列方向に展開したい場合は行数と列数を入れ替えてください。</p>



<h2 class="wp-block-heading"><span id="toc14">SEQUENCE関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">MAKEARRAY関数と混同しやすいのが<a href="https://mashukabu.com/spreadsheet-sequence-function/">SEQUENCE関数</a>です。どちらも「配列を生成する」関数ですが、生成できる配列の自由度が異なります。</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>行数, 列数, 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></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けの目安はこうです。</strong></p>



<ul class="wp-block-list"><li><strong>規則的な連番を作りたい</strong> → SEQUENCE関数（シンプルで高速）</li><li><strong>位置に応じた計算で配列を作りたい</strong> → MAKEARRAY関数（柔軟性が高い）</li></ul>



<h3 class="wp-block-heading"><span id="toc15">SEQUENCE関数で十分なケース</span></h3>



<p class="wp-block-paragraph">1, 2, 3&#8230;のような等差数列や、日付の連番ならSEQUENCE関数のほうが適しています。</p>



<pre class="wp-block-code"><code>=SEQUENCE(5, 1, 1, 1)</code></pre>



<p class="wp-block-paragraph">この数式は1から始まる5行の連番を返します。MAKEARRAY関数でも <code>=MAKEARRAY(5, 1, LAMBDA(r, c, r))</code> と書けば同じ結果になりますが、SEQUENCE関数のほうが簡潔ですよね。</p>



<h3 class="wp-block-heading"><span id="toc16">MAKEARRAY関数でないとできないケース</span></h3>



<p class="wp-block-paragraph">九九表のように「行番号×列番号」で値を決めたい場合や、条件に応じてセルの値を変えたい場合は、MAKEARRAY関数の出番です。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(5, 5, LAMBDA(r, c, IF(r=c, &quot;X&quot;, &quot;-&quot;)))</code></pre>



<p class="wp-block-paragraph">この数式は対角線に「X」、それ以外に「-」を入れた5×5のマトリクスを返します。SEQUENCE関数にはこうした条件分岐の機能がないため、MAKEARRAY関数が必要になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>「連番ならSEQUENCE、計算ならMAKEARRAY」と覚えておくと迷いません。迷ったときは、LAMBDAの中で行番号・列番号を使った計算が必要かどうかで判断してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">LAMBDA系関数の全体像</span></h2>



<p class="wp-block-paragraph">スプレッドシートには、LAMBDA関数と組み合わせて使う関数が複数あります。全体像を把握しておくと、どの場面でどの関数を使うか判断しやすくなりますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>処理単位</th><th>結果の形</th><th>主な用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-bycol-function/">BYCOL</a></td><td>列ごと</td><td>横1行</td><td>列ごとの集計</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-byrow-function/">BYROW</a></td><td>行ごと</td><td>縦1列</td><td>行ごとの集計</td></tr><tr><td>MAP</td><td>セルごと</td><td>元と同じ形</td><td>セルごとの変換・加工</td></tr><tr><td>REDUCE</td><td>配列全体</td><td>1つの値</td><td>全体を1つに集約</td></tr><tr><td>SCAN</td><td>累積</td><td>縦1列</td><td>累積計算の中間結果</td></tr><tr><td>MAKEARRAY</td><td>行×列</td><td>新しい配列</td><td>計算で配列を生成</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">MAKEARRAY関数は他の5関数と性質が異なります。BYCOL・BYROW・MAP・REDUCE・SCANが「既存のデータに処理を適用する」のに対し、MAKEARRAY関数は「ゼロからデータを生成する」関数です。そのぶん用途が明確で、「配列を計算で作りたい」ときはMAKEARRAY一択ですよ。</p>



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



<p class="wp-block-paragraph">MAKEARRAY関数はLAMBDA関数と組み合わせるため、構文のミスが起こりやすいです。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#NAME?</code></td><td>関数名のスペルミス</td><td>「MAKEARRAY」のスペルを確認してください</td></tr><tr><td><code>#NAME?</code></td><td>Excelで使用しようとした</td><td>MAKEARRAY関数はGoogleスプレッドシート専用です</td></tr><tr><td><code>#NAME?</code></td><td>LAMBDA関数の仮引数名が不正</td><td>仮引数名にセル参照（A1等）やスペースは使えません</td></tr><tr><td><code>#VALUE!</code></td><td>LAMBDAの引数が2つでない</td><td>MAKEARRAY関数のLAMBDAは行番号と列番号の2つの仮引数が必要です</td></tr><tr><td><code>#ERROR!</code></td><td>行数または列数が0以下</td><td>行数・列数には1以上の整数を指定してください</td></tr><tr><td><code>#REF!</code></td><td>出力先のセルにデータがある</td><td>結果が展開されるため、出力先の周囲のセルを空にしてください</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に多いのが「LAMBDAの引数が2つでない」エラーです。BYCOL関数やBYROW関数のLAMBDAは仮引数が1つですが、MAKEARRAY関数では行番号と列番号の2つが必要です。<code>LAMBDA(r, c, r*c)</code> のように必ず2つの仮引数を指定してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>LAMBDA関数の仮引数名で迷ったら、<code>r</code>（row の略）と<code>c</code>（column の略）を使うのがおすすめです。BYCOL関数では<code>col</code>、BYROW関数では<code>row</code>を使うと、どの関数を使っているか一目でわかります。</p></blockquote>



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



<p class="wp-block-paragraph">MAKEARRAY関数は、指定した行数×列数の配列をLAMBDA関数の計算結果で生成する関数です。位置に応じた自由な計算ができるので、九九表・単位行列・条件付きマトリクスなどを一発で作成できます。</p>



<p class="wp-block-paragraph">この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>MAKEARRAY関数は<code>=MAKEARRAY(行数, 列数, LAMBDA(r, c, 処理))</code>で、計算結果の配列を生成する</li><li>LAMBDAの仮引数には行番号と列番号が渡されるため、位置に応じた計算が可能</li><li>連番の生成ならSEQUENCE関数のほうがシンプル。計算が必要な配列にはMAKEARRAY関数を使う</li><li>LAMBDAの仮引数は必ず2つ（行番号と列番号）を指定する</li><li>Googleスプレッドシート独自の関数で、Excelでは使えない</li></ul>



<p class="wp-block-paragraph">まずは<code>=MAKEARRAY(9, 9, LAMBDA(r, c, r*c))</code>の九九表から試してみてください。一度使い方を覚えれば、IF関数やRANDBETWEEN関数と組み合わせて、さまざまな配列を自在に生成できますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc20">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-bycol-function/">スプレッドシートのBYCOL関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-byrow-function/">スプレッドシートのBYROW関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sequence-function/">スプレッドシートのSEQUENCE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-makearray-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのSEQUENCE関数の使い方｜連番・日付・2次元配列を1関数で</title>
		<link>https://mashukabu.com/excel-function-howto-use-sequence/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-sequence/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 27 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[SEQUENCE関数]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[動的配列]]></category>
		<category><![CDATA[日付連番]]></category>
		<category><![CDATA[連番]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2907</guid>

					<description><![CDATA[ExcelのSEQUENCE関数の使い方を実務目線で解説。連番・日付・2次元配列の生成方法とROW関数との違いを比較表で整理。スピルを活用して作業を大幅に効率化できます。M365/Excel2021以降対応。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで連番を振りたいとき、セルを選択してオートフィルでドラッグしていませんか。数件ならそれでも十分ですが、100件を超えるとなかなか大変ですよね。しかもデータの追加・削除のたびに振り直すのは手間がかかります。</p>



<p class="wp-block-paragraph">そんなときに使いたいのがSEQUENCE関数です。たった1つの数式で連番を自動生成できます。日付や2次元配列にも対応しているので、知っておくと作業が一気にラクになりますよ。この記事では、ExcelのSEQUENCE関数の基本から実務で役立つ活用パターンまでわかりやすく解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">SEQUENCE関数とは？動的配列で連番を自動生成するExcelの関数</a><ol><li><a href="#toc2" tabindex="0">使える環境：Microsoft 365 / Excel 2021以降</a></li><li><a href="#toc3" tabindex="0">スピル（自動展開）の仕組み</a></li></ol></li><li><a href="#toc4" tabindex="0">SEQUENCE関数の基本構文と引数</a><ol><li><a href="#toc5" tabindex="0">4つの引数：行数・列数・開始値・増分</a></li><li><a href="#toc6" tabindex="0">引数を省略した場合の動作</a></li></ol></li><li><a href="#toc7" tabindex="0">ROW関数との違い・使い分け早見表</a><ol><li><a href="#toc8" tabindex="0">ROW関数のメリットとデメリット</a></li><li><a href="#toc9" tabindex="0">SEQUENCEが向いているケース・向いていないケース</a></li></ol></li><li><a href="#toc10" tabindex="0">基本の使い方：縦方向・横方向の連番</a><ol><li><a href="#toc11" tabindex="0">縦に連番を並べる（基本形）</a></li><li><a href="#toc12" tabindex="0">横方向に連番を並べる</a></li></ol></li><li><a href="#toc13" tabindex="0">実務活用例1：日付・時刻の連番を自動生成する</a><ol><li><a href="#toc14" tabindex="0">月間カレンダーを1関数で作る</a></li><li><a href="#toc15" tabindex="0">1時間おきの時刻リストを作る</a></li></ol></li><li><a href="#toc16" tabindex="0">実務活用例2：2次元配列で表のひな形を作る</a><ol><li><a href="#toc17" tabindex="0">月×週のマトリクス表を自動生成</a></li><li><a href="#toc18" tabindex="0">TRANSPOSE関数と組み合わせて行列を入れ替える</a></li></ol></li><li><a href="#toc19" tabindex="0">よくあるエラーとトラブルシューティング</a><ol><li><a href="#toc20" tabindex="0">#SPILL! エラーの原因と対処</a></li><li><a href="#toc21" tabindex="0">古いExcelで使えないときの代替方法（ROW関数）</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">SEQUENCE関数とは？動的配列で連番を自動生成するExcelの関数</span></h2>



<p class="wp-block-paragraph">SEQUENCE（シーケンス）関数は、連続した数値の配列を自動生成するExcelの関数です。英語の「sequence」は「連続・順序」という意味があります。</p>



<p class="wp-block-paragraph">たとえば「1から10までの連番」や「4月1日から30日分の日付」を、数式ひとつで作成できます。結果は複数のセルに自動展開されるため、セルをひとつずつ埋める必要はありません。</p>



<h3 class="wp-block-heading"><span id="toc2">使える環境：Microsoft 365 / Excel 2021以降</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数が使えるバージョンは以下のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Microsoft 365（Windows / Mac）</td><td>対応</td></tr><tr><td>Excel 2021 / 2024</td><td>対応</td></tr><tr><td>Excel for the web</td><td>対応</td></tr><tr><td>Excel 2019以前</td><td>非対応（#NAME? エラー）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">お使いのExcelが2019以前の場合は、記事後半で紹介する<a href="https://mashukabu.com/excel-function-howto-use-row/">ROW関数</a>での代替方法を参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc3">スピル（自動展開）の仕組み</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数は「動的配列関数」のひとつです。数式をひとつのセルに入力するだけで、結果が隣接するセルへ自動的にあふれ出ます。この動作を「スピル」と呼びます。</p>



<p class="wp-block-paragraph">スピルで展開された範囲は薄い青枠で表示されます。元の数式を修正すると、展開範囲も自動で更新されるのが便利なポイントです。</p>



<h2 class="wp-block-heading"><span id="toc4">SEQUENCE関数の基本構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc5">4つの引数：行数・列数・開始値・増分</span></h3>



<pre class="wp-block-code"><code>=SEQUENCE(行, [列], [開始], [増分])</code></pre>



<p class="wp-block-paragraph">引数は4つあり、必須は「行」だけです。残りの3つは省略できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>デフォルト</th><th>説明</th></tr></thead><tbody><tr><td>行</td><td>必須</td><td>—</td><td>生成する行数</td></tr><tr><td>列</td><td>任意</td><td>1</td><td>生成する列数</td></tr><tr><td>開始</td><td>任意</td><td>1</td><td>連番の最初の値</td></tr><tr><td>増分</td><td>任意</td><td>1</td><td>値の増加量（負の値で降順）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">公式ヘルプでは第4引数を「目盛り」と表記していますが、実質的には「増分（ステップ）」の意味です。この記事では「増分」と呼びます。</p>



<h3 class="wp-block-heading"><span id="toc6">引数を省略した場合の動作</span></h3>



<p class="wp-block-paragraph">引数を省略すると、すべてデフォルト値の1が使われます。</p>



<pre class="wp-block-code"><code>=SEQUENCE(5)</code></pre>



<p class="wp-block-paragraph">この数式は「5行1列、1から1ずつ増える連番」を生成します。結果は縦方向に 1, 2, 3, 4, 5 と展開されます。</p>



<h2 class="wp-block-heading"><span id="toc7">ROW関数との違い・使い分け早見表</span></h2>



<p class="wp-block-paragraph">連番を振る方法として、<a href="https://mashukabu.com/excel-function-howto-use-row/">ROW関数</a>を使うケースも多いですよね。どちらを使うべきか、以下の比較表で整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SEQUENCE関数</th><th>ROW関数</th></tr></thead><tbody><tr><td>対応バージョン</td><td>M365 / Excel 2021以降</td><td>全バージョン</td></tr><tr><td>入力方法</td><td>1セルに数式を入力</td><td>各セルにコピーが必要</td></tr><tr><td>2次元配列</td><td>対応（行×列を指定可）</td><td>非対応（1列のみ）</td></tr><tr><td>開始値・増分の指定</td><td>引数で自由に設定</td><td>計算式で調整が必要</td></tr><tr><td>スピル</td><td>自動展開</td><td>なし</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">ROW関数のメリットとデメリット</span></h3>



<p class="wp-block-paragraph">ROW関数の最大のメリットはバージョン互換性です。Excel 2010でも2016でも動きます。一方で、2次元の連番は作れません。横方向に連番を振りたい場合はCOLUMN関数が必要になります。</p>



<h3 class="wp-block-heading"><span id="toc9">SEQUENCEが向いているケース・向いていないケース</span></h3>



<p class="wp-block-paragraph"><strong>SEQUENCEが向いているケース</strong></p>



<ul class="wp-block-list"><li>M365 / Excel 2021以降を使っている</li><li>日付や時刻の連番を一括生成したい</li><li>行×列の2次元配列を作りたい</li></ul>



<p class="wp-block-paragraph"><strong>ROW関数で十分なケース</strong></p>



<ul class="wp-block-list"><li>旧バージョンとの互換性が必要</li><li>シンプルな縦1列の連番だけでよい</li></ul>



<h2 class="wp-block-heading"><span id="toc10">基本の使い方：縦方向・横方向の連番</span></h2>



<h3 class="wp-block-heading"><span id="toc11">縦に連番を並べる（基本形）</span></h3>



<p class="wp-block-paragraph">もっともシンプルな使い方です。A1セルに以下の数式を入力すると、A1:A10に1〜10の連番が生成されます。</p>



<pre class="wp-block-code"><code>=SEQUENCE(10)</code></pre>



<p class="wp-block-paragraph">開始値を変えたい場合は第3引数を指定します。100から始まる10個の連番は次のとおりです。</p>



<pre class="wp-block-code"><code>=SEQUENCE(10,1,100,1)</code></pre>



<p class="wp-block-paragraph">結果は 100, 101, 102, &#8230; , 109 と展開されます。</p>



<h3 class="wp-block-heading"><span id="toc12">横方向に連番を並べる</span></h3>



<p class="wp-block-paragraph">横方向に並べたい場合は、行数を1、列数を必要な数に設定します。</p>



<pre class="wp-block-code"><code>=SEQUENCE(1,12)</code></pre>



<p class="wp-block-paragraph">1行12列の連番（1〜12）が横方向に展開されます。月番号のヘッダーなどに便利ですよ。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-transpose/">TRANSPOSE関数</a>で縦横を入れ替える方法もあります。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(SEQUENCE(12))</code></pre>



<p class="wp-block-paragraph">結果は同じく横方向の1〜12です。お好みの方法で使い分けてください。</p>



<h2 class="wp-block-heading"><span id="toc13">実務活用例1：日付・時刻の連番を自動生成する</span></h2>



<h3 class="wp-block-heading"><span id="toc14">月間カレンダーを1関数で作る</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数は数値だけでなく、日付の連番も生成できます。Excelの日付はシリアル値（数値）なので、増分1で1日ずつ進みます。</p>



<pre class="wp-block-code"><code>=SEQUENCE(30,1,DATE(2025,4,1),1)</code></pre>



<p class="wp-block-paragraph">この数式で2025年4月1日から30日分の日付が縦に展開されます。ただし、結果はシリアル値（数値）で表示されます。セルの表示形式を「日付」に変更してください。</p>



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



<ol class="wp-block-list"><li>スピル範囲を選択する</li><li>右クリック →「セルの書式設定」を開く</li><li>「日付」カテゴリを選び、好みの形式を指定する</li></ol>



<h3 class="wp-block-heading"><span id="toc15">1時間おきの時刻リストを作る</span></h3>



<p class="wp-block-paragraph">時刻の連番も同じ考え方です。TIME関数で開始時刻と増分を指定します。</p>



<pre class="wp-block-code"><code>=SEQUENCE(9,1,TIME(9,0,0),TIME(1,0,0))</code></pre>



<p class="wp-block-paragraph">9時から17時まで、1時間おきの時刻リストが生成されます。こちらもセルの表示形式を「時刻」に変更してくださいね。会議室の予約表やタイムスケジュール作成に使えるテクニックです。</p>



<h2 class="wp-block-heading"><span id="toc16">実務活用例2：2次元配列で表のひな形を作る</span></h2>



<h3 class="wp-block-heading"><span id="toc17">月×週のマトリクス表を自動生成</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数は行数と列数の両方を指定すると、2次元の配列を生成します。</p>



<pre class="wp-block-code"><code>=SEQUENCE(3,4)</code></pre>



<p class="wp-block-paragraph">この数式の結果は以下のとおりです。</p>



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



<p class="wp-block-paragraph">値は<strong>行優先</strong>で埋まります。左から右へ進み、右端に達したら次の行の左端に移ります。本を読む順番と同じです。</p>



<h3 class="wp-block-heading"><span id="toc18">TRANSPOSE関数と組み合わせて行列を入れ替える</span></h3>



<p class="wp-block-paragraph">2次元配列の縦横を入れ替えたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-transpose/">TRANSPOSE関数</a>で囲みます。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(SEQUENCE(3,4))</code></pre>



<p class="wp-block-paragraph">元の3行4列が4行3列に変換されます。行と列どちらを基準にするかで使い分けてみてください。</p>



<p class="wp-block-paragraph">SEQUENCE関数は<a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-expand/">EXPAND関数</a>と同じ「動的配列関数」のファミリーです。組み合わせることで、さらに柔軟なデータ処理ができますよ。</p>



<h2 class="wp-block-heading"><span id="toc19">よくあるエラーとトラブルシューティング</span></h2>



<h3 class="wp-block-heading"><span id="toc20">#SPILL! エラーの原因と対処</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数で最も多いエラーが <code>#SPILL!</code> です。スピル先のセルにデータや結合セルが存在すると発生します。</p>



<p class="wp-block-paragraph"><strong>対処法</strong></p>



<ol class="wp-block-list"><li>エラーセルをクリックする</li><li>表示される青い点線の範囲を確認する</li><li>範囲内のデータを移動または削除する</li><li>結合セルがあれば結合を解除する</li></ol>



<p class="wp-block-paragraph">スピル先を空にすれば、エラーは解消されます。</p>



<h3 class="wp-block-heading"><span id="toc21">古いExcelで使えないときの代替方法（ROW関数）</span></h3>



<p class="wp-block-paragraph">Excel 2019以前では <code>#NAME?</code> エラーが表示されます。この場合は<a href="https://mashukabu.com/excel-function-howto-use-row/">ROW関数</a>で代替しましょう。</p>



<pre class="wp-block-code"><code>=ROW()-ROW($A$1)+1</code></pre>



<p class="wp-block-paragraph">この数式を下方向にコピーすると、1から始まる連番になります。ただし2次元配列や日付の連番には対応できません。あくまで縦1列の連番の代替手段として使ってください。</p>



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーが出る場合は、引数に文字列など無効な値が入っていないか確認してみてくださいね。</p>



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



<p class="wp-block-paragraph">この記事では、ExcelのSEQUENCE関数の使い方を解説しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>機能</td><td>連続した数値の配列を自動生成</td></tr><tr><td>構文</td><td>=SEQUENCE(行, [列], [開始], [増分])</td></tr><tr><td>対応バージョン</td><td>M365 / Excel 2021以降</td></tr><tr><td>日付・時刻</td><td>シリアル値で生成、表示形式の変更が必要</td></tr><tr><td>2次元配列</td><td>行数と列数を両方指定（行優先で展開）</td></tr><tr><td>ROW関数との違い</td><td>バージョン互換性 vs 多機能さ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">オートフィルや手入力で連番を作っていた方は、SEQUENCE関数に切り替えるだけで作業時間を大幅に短縮できます。日付やマトリクス表も1つの数式で完結するので、ぜひ日常業務に取り入れてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-sequence/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのROW関数の使い方｜行の増減に強い連番と5つの実務パターン</title>
		<link>https://mashukabu.com/excel-function-howto-use-row/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-row/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 27 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[INDEX関数]]></category>
		<category><![CDATA[INDIRECT関数]]></category>
		<category><![CDATA[ROW関数]]></category>
		<category><![CDATA[SEQUENCE関数]]></category>
		<category><![CDATA[SMALL関数]]></category>
		<category><![CDATA[行番号]]></category>
		<category><![CDATA[連番]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2063</guid>

					<description><![CDATA[ExcelのROW関数の使い方を基本から応用まで解説。行の追加・削除に強い崩れない連番の作り方、INDEX×ROWで行を動的参照する方法、SMALL+IFの配列数式、FILTERやSEQUENCEとの使い分けまで実務5パターンを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで連番を手入力していて、行を挿入したら番号がズレた経験ありませんか？　1つ2つならすぐ直せますが、100行を超えるリストだと修正漏れが出てきますよね。そんな悩みを解決するのが、ExcelのROW関数です。</p>



<p class="wp-block-paragraph">この記事では、ROW関数の基本から崩れない連番の作り方まで解説します。INDEX・SMALL・INDIRECTとの組み合わせなど、実務で使える5つのパターンを紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ROW関数とは？基本の使い方をおさらい</a><ol><li><a href="#toc2" tabindex="0">引数なし：入力セル自身の行番号を返す</a></li><li><a href="#toc3" tabindex="0">引数あり：任意のセルの行番号を取得する</a></li><li><a href="#toc4" tabindex="0">COLUMN関数との対称パターン表（行と列の整理）</a></li></ol></li><li><a href="#toc5" tabindex="0">崩れない連番｜行の増減に強い自動ナンバリング</a><ol><li><a href="#toc6" tabindex="0">手入力の連番が壊れる場面（行挿入・削除のあるある）</a></li><li><a href="#toc7" tabindex="0">ROW()-Nで1から始める思考ステップ</a></li><li><a href="#toc8" tabindex="0">ROW()-ROW(見出しセル)で開始行フリーにする</a></li><li><a href="#toc9" tabindex="0">M365スピル対応：SEQUENCE関数との比較</a></li></ol></li><li><a href="#toc10" tabindex="0">INDEX + ROW｜行番号を動的に切り替える</a><ol><li><a href="#toc11" tabindex="0">基本形：行番号をキーにした縦展開</a></li><li><a href="#toc12" tabindex="0">実際の数式：複数行を一括取得するサンプル</a></li></ol></li><li><a href="#toc13" tabindex="0">SMALL + IF + ROW｜条件付きデータ抽出の配列数式</a><ol><li><a href="#toc14" tabindex="0">ROWが行番号配列を生成する役割</a></li><li><a href="#toc15" tabindex="0">M365ではFILTER関数に置き換え</a></li></ol></li><li><a href="#toc16" tabindex="0">INDIRECT + ROWで動的セル参照</a></li><li><a href="#toc17" tabindex="0">FILTER・SEQUENCEでROW関数が不要になるケース</a><ol><li><a href="#toc18" tabindex="0">ROW関数が担っていた役割と現代的な代替</a></li><li><a href="#toc19" tabindex="0">それでもROW関数が必要な場面</a></li></ol></li><li><a href="#toc20" tabindex="0">ROW関数 よくある質問・エラー対処</a><ol><li><a href="#toc21" tabindex="0">#VALUE!・#REF!が出たときの確認ポイント</a></li><li><a href="#toc22" tabindex="0">ROWS関数との違いは？</a></li></ol></li><li><a href="#toc23" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ROW関数とは？基本の使い方をおさらい</span></h2>



<p class="wp-block-paragraph">ROW関数（読み：ロウ）は、セルの行番号を数値で返す関数です。1行目なら1、2行目なら2、10行目なら10を返します。名前のとおり「行（Row）」の番号を取得する、シンプルな関数です。</p>



<p class="wp-block-paragraph">構文はこちらです。</p>



<pre class="wp-block-code"><code>=ROW([参照])</code></pre>



<p class="wp-block-paragraph">引数は1つだけで、しかも省略もできます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>参照</td><td>省略可</td><td>行番号を知りたいセルまたは範囲</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">それでは、具体的な使い方を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">引数なし：入力セル自身の行番号を返す</span></h3>



<p class="wp-block-paragraph">引数を省略すると、数式を入力したセル自身の行番号を返します。</p>



<pre class="wp-block-code"><code>=ROW()</code></pre>



<p class="wp-block-paragraph">たとえば、A3セルにこの数式を入れると「3」が返ります。A5なら「5」、A10なら「10」です。「いま自分がどの行にいるか」を取得したいときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">引数あり：任意のセルの行番号を取得する</span></h3>



<p class="wp-block-paragraph">引数にセル参照を指定すると、そのセルの行番号を返します。</p>



<pre class="wp-block-code"><code>=ROW(A1)    → 1
=ROW(D10)   → 10
=ROW(G5)    → 5</code></pre>



<p class="wp-block-paragraph">範囲を指定した場合は、先頭の行番号を返します。たとえば =ROW(A1:A5) は「1」です。Microsoft 365環境では、スピルで {1;2;3;4;5} と複数の行番号を返します。</p>



<h3 class="wp-block-heading"><span id="toc4">COLUMN関数との対称パターン表（行と列の整理）</span></h3>



<p class="wp-block-paragraph">ROW関数には、列番号を返す<a href="https://mashukabu.com/excel-function-howto-use-column/">COLUMN関数</a>という対になる関数があります。この2つは完全に対称です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ROW()</th><th>COLUMN()</th></tr></thead><tbody><tr><td>返す値</td><td>行番号（縦方向）</td><td>列番号（横方向）</td></tr><tr><td>省略時</td><td>数式セルの行番号</td><td>数式セルの列番号</td></tr><tr><td>連番の方向</td><td>下にコピーで増える</td><td>右にコピーで増える</td></tr><tr><td>典型パターン</td><td>=ROW()-ROW($A$1)</td><td>=COLUMN()-COLUMN($A$1)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">COLUMN関数で横方向の連番を振った経験があれば、ROW関数はその縦方向バージョンだと考えてください。</p>



<h2 class="wp-block-heading"><span id="toc5">崩れない連番｜行の増減に強い自動ナンバリング</span></h2>



<p class="wp-block-paragraph">ROW関数が最も活躍するのは、縦方向の連番を自動生成する場面です。手入力の連番は、行の追加・削除であっさり壊れます。</p>



<h3 class="wp-block-heading"><span id="toc6">手入力の連番が壊れる場面（行挿入・削除のあるある）</span></h3>



<p class="wp-block-paragraph">連番を「1, 2, 3, 4&#8230;」と手入力していると、こんな問題が起きます。</p>



<ul class="wp-block-list"><li>途中に行を挿入すると、番号が飛ぶ</li><li>行を削除すると、番号が欠番になる</li><li>並べ替えをすると、連番がバラバラになる</li></ul>



<p class="wp-block-paragraph">10行程度ならすぐ振り直せます。でも数百行のリストだと、修正漏れが確実に発生しますよね。</p>



<h3 class="wp-block-heading"><span id="toc7">ROW()-Nで1から始める思考ステップ</span></h3>



<p class="wp-block-paragraph">ROW関数を使えば、連番が自動で更新されます。考え方は次の3ステップです。</p>



<ol class="wp-block-list"><li>ROW() で数式セルの行番号を取得する</li><li>見出し行の行数を引いて、1から始まるように調整する</li><li>下にコピーすれば自動で2, 3, 4&#8230;と増える</li></ol>



<p class="wp-block-paragraph">たとえば、1行目が見出しでA2セルからデータが始まる場合はこうなります。</p>



<pre class="wp-block-code"><code>=ROW()-1</code></pre>



<p class="wp-block-paragraph">A2セルでは ROW() が2を返します。2 &#8211; 1 = 1です。A3なら3 &#8211; 1 = 2、A4なら4 &#8211; 1 = 3と、自動で連番になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">ROW()-ROW(見出しセル)で開始行フリーにする</span></h3>



<p class="wp-block-paragraph">=ROW()-1 には弱点があります。データの開始行が2行目以外だと、引く数を変えなければなりません。見出しが2行あれば =ROW()-2、5行目から始まるなら =ROW()-4 と、毎回計算が必要です。</p>



<p class="wp-block-paragraph">そこで、汎用的なのがこの書き方です。</p>



<pre class="wp-block-code"><code>=ROW()-ROW($A$1)</code></pre>



<p class="wp-block-paragraph">$A$1 は見出し行（連番の1つ上の行）を絶対参照で指定しています。データが何行目から始まっても、見出しセルを変えるだけで正しい連番になります。</p>



<p class="wp-block-paragraph">見出しが2行ある場合は、参照を $A$2 にするだけです。</p>



<pre class="wp-block-code"><code>=ROW()-ROW($A$2)</code></pre>



<p class="wp-block-paragraph">A3セルに入力すると、3 &#8211; 2 = 1。A4なら4 &#8211; 2 = 2と、正しく連番が振られます。開始行を気にしなくてよいので、テンプレートの使い回しにも向いていますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">M365スピル対応：SEQUENCE関数との比較</span></h3>



<p class="wp-block-paragraph">Microsoft 365をお使いなら、<a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数</a>でも縦方向の連番を生成できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>目的</th><th>ROW()（※M365）</th><th>SEQUENCE()</th></tr></thead><tbody><tr><td>1から10の連番</td><td>=ROW(A1:A10) → {1;2;&#8230;;10}</td><td>=SEQUENCE(10)</td></tr><tr><td>100から始まる連番</td><td>計算が必要</td><td>=SEQUENCE(10,1,100)</td></tr><tr><td>偶数だけの連番</td><td>直接指定できない</td><td>=SEQUENCE(5,1,2,2)</td></tr><tr><td>全バージョンで動作</td><td>ROW()-N なら全対応</td><td>Excel 2021以降のみ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">※ ROW()のスピル展開はMicrosoft 365（またはExcel 2021以降）のみ対応です。</p>



<p class="wp-block-paragraph">連番を振ることが目的で、開始値や増分を自由に設定したいならSEQUENCE関数が便利です。一方、すべてのExcelバージョンで動作する連番が必要な場面では、ROW関数が安定した選択肢になります。</p>



<h2 class="wp-block-heading"><span id="toc10">INDEX + ROW｜行番号を動的に切り替える</span></h2>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>の行引数にROW関数を使うと、行番号を動的に変えられます。</p>



<h3 class="wp-block-heading"><span id="toc11">基本形：行番号をキーにした縦展開</span></h3>



<p class="wp-block-paragraph">INDEX関数の基本形はこちらです。</p>



<pre class="wp-block-code"><code>=INDEX(範囲, 行番号, [列番号])</code></pre>



<p class="wp-block-paragraph">この「行番号」の部分にROW関数を組み込むと、数式をコピーするだけで参照行が自動で変わります。</p>



<h3 class="wp-block-heading"><span id="toc12">実際の数式：複数行を一括取得するサンプル</span></h3>



<p class="wp-block-paragraph">たとえば、B列からE列のデータ表があり、別の場所に縦方向に展開したい場合です。</p>



<pre class="wp-block-code"><code>=INDEX($B$2:$B$20, ROW()-ROW($A$1))</code></pre>



<p class="wp-block-paragraph">この数式をA2セルに入力すると、ROW()-ROW($A$1) は 2-1 = 1で、範囲の1行目を返します。A3にコピーすれば2行目、A4なら3行目と、順番にデータを取得できます。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>と組み合わせれば、検索値に一致した行を柔軟に取得できますよ。</p>



<pre class="wp-block-code"><code>=INDEX($B$2:$E$20, MATCH($A2,$B$2:$B$20,0), COLUMN()-COLUMN($G$1))</code></pre>



<p class="wp-block-paragraph">この数式をH列以降に横にコピーすると、列番号が自動で変わります。INDEX + MATCH + COLUMNの3関数で、縦横どちらにも展開できる柔軟な数式になります。</p>



<h2 class="wp-block-heading"><span id="toc13">SMALL + IF + ROW｜条件付きデータ抽出の配列数式</span></h2>



<p class="wp-block-paragraph">ROW関数は、配列数式の中で行番号の配列を生成する役割も担います。レガシーExcel（Excel 2019以前）で条件に合うデータを順番に抽出する定番テクニックです。</p>



<h3 class="wp-block-heading"><span id="toc14">ROWが行番号配列を生成する役割</span></h3>



<p class="wp-block-paragraph">次の配列数式は、A列が「東京」の行のB列の値を上から順に取り出します。</p>



<pre class="wp-block-code"><code>=IFERROR(INDEX($B$2:$B$20, SMALL(IF($A$2:$A$20=&quot;東京&quot;, ROW($A$2:$A$20)-ROW($A$2)+1), ROW()-1)), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">※ Excel 2019以前では Ctrl + Shift + Enter で確定する必要があります。</p>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。</p>



<ol class="wp-block-list"><li>ROW($A$2:$A$20)-ROW($A$2)+1 で1から始まる連番配列を生成</li><li>IF関数で条件に合う行だけ番号を残し、それ以外はFALSEにする</li><li><a href="https://mashukabu.com/excel-function-howto-use-small/">SMALL関数</a>で小さい順に番号を取り出す</li><li>INDEX関数でその番号の行のデータを返す</li></ol>



<p class="wp-block-paragraph">ROW関数が「行番号の配列を作る」という裏方の仕事を担っているわけです。<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で該当データがなくなったときの #NUM! エラーを空文字に変換しています。</p>



<h3 class="wp-block-heading"><span id="toc15">M365ではFILTER関数に置き換え</span></h3>



<p class="wp-block-paragraph">Microsoft 365をお使いなら、上記の配列数式はFILTER関数1つで置き換えられます。</p>



<pre class="wp-block-code"><code>=FILTER($B$2:$B$20, $A$2:$A$20=&quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph">SMALL + IF + ROWの配列数式に比べて、圧倒的にシンプルですよね。M365環境であれば、新しく数式を書くときはFILTER関数を使うのがおすすめです。</p>



<p class="wp-block-paragraph">ただし、既存のブックがExcel 2019以前で運用されている場合は、ROW関数を使った配列数式が現役で活躍します。</p>



<h2 class="wp-block-heading"><span id="toc16">INDIRECT + ROWで動的セル参照</span></h2>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-indirect/">INDIRECT関数</a>と組み合わせると、行番号から動的にセル参照を生成できます。</p>



<p class="wp-block-paragraph">たとえば、ROW関数で行番号を取得し、ADDRESS関数でセル参照文字列に変換します。その参照文字列をINDIRECTで実際のセル参照に変えるパターンです。</p>



<pre class="wp-block-code"><code>=INDIRECT(ADDRESS(ROW()-1, COLUMN(), 4))</code></pre>



<p class="wp-block-paragraph">3つの関数を重ねていますが、処理の流れはシンプルです。ROW関数で行番号を取得し、ADDRESS関数でセル参照文字列（例: &#8220;A2&#8243;）に変換します。INDIRECTで、その文字列を実際のセル参照にしています。A3セルに入力した場合、「1行上のセル＝A2」の値を返します。</p>



<p class="wp-block-paragraph">もう1つの定番が、位置に依存しない固定配列を生成するパターンです。</p>



<pre class="wp-block-code"><code>=ROW(INDIRECT(&quot;1:10&quot;))</code></pre>



<p class="wp-block-paragraph">この数式は、どのセルに入力しても {1;2;3;4;5;6;7;8;9;10} の配列を返します。セルの位置に左右されない点が、SMALL + IF の配列数式で重宝されるポイントです。</p>



<h2 class="wp-block-heading"><span id="toc17">FILTER・SEQUENCEでROW関数が不要になるケース</span></h2>



<p class="wp-block-paragraph">Microsoft 365や Excel 2021以降では、ROW関数が担っていた役割の多くを新しい関数で代替できます。</p>



<h3 class="wp-block-heading"><span id="toc18">ROW関数が担っていた役割と現代的な代替</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>ROW関数の用途</th><th>代替関数</th><th>メリット</th></tr></thead><tbody><tr><td>連番の自動生成</td><td>SEQUENCE</td><td>開始値・増分を引数で指定できる</td></tr><tr><td>条件付きデータ抽出</td><td>FILTER</td><td>配列数式が不要でシンプル</td></tr><tr><td>行番号配列の生成</td><td>SEQUENCE</td><td>ROW(INDIRECT(&#8230;)) より直感的</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">新しく数式を書くときは、SEQUENCE・FILTERを優先した方が読みやすい数式になります。</p>



<h3 class="wp-block-heading"><span id="toc19">それでもROW関数が必要な場面</span></h3>



<p class="wp-block-paragraph">新しい関数を使っていても、ROW関数の出番がなくなるわけではありません。</p>



<ul class="wp-block-list"><li>Excel 2019以前の環境で連番や配列数式を使いたいとき</li><li>条件付き書式で「行番号が偶数なら色を付ける」判定をしたいとき</li><li>数式セル自身の位置を取得して、動的に処理を分岐させたいとき</li><li>VBAやマクロに行番号を渡したいとき</li></ul>



<p class="wp-block-paragraph">新しい関数で連番や抽出を処理しつつ、行番号の取得が必要な場面ではROW関数を使う。この使い分けがポイントですよ。</p>



<h2 class="wp-block-heading"><span id="toc20">ROW関数 よくある質問・エラー対処</span></h2>



<h3 class="wp-block-heading"><span id="toc21">#VALUE!・#REF!が出たときの確認ポイント</span></h3>



<p class="wp-block-paragraph">ROW関数でエラーが出るケースは多くありません。ただし、次の場面では注意が必要です。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>引数にテキスト文字列を指定した</td><td>セル参照に修正する</td></tr><tr><td>#REF!</td><td>参照先の行が削除された</td><td>数式を再入力する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">=ROW(&#8220;A1&#8221;) のようにダブルクォーテーションで囲むと、文字列として扱われ #VALUE! エラーになります。正しくは =ROW(A1) です。引用符なしのセル参照を使ってください。</p>



<p class="wp-block-paragraph">また、非連続範囲（例：=ROW((A1,A5))）は指定できません。連続した範囲で指定するようにしましょう。</p>



<h3 class="wp-block-heading"><span id="toc22">ROWS関数との違いは？</span></h3>



<p class="wp-block-paragraph">名前が似ている<a href="https://mashukabu.com/excel-function-howto-use-rows/">ROWS関数</a>は、まったく別の関数です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>機能</th><th>例</th></tr></thead><tbody><tr><td>ROW</td><td>指定セルの行番号を返す</td><td>=ROW(A3) → 3</td></tr><tr><td>ROWS</td><td>範囲の行数を返す</td><td>=ROWS(A1:A3) → 3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ROW関数は「位置」を返し、ROWS関数は「個数」を返します。末尾にSが付くかどうかで意味が変わるので、混同しないように気をつけてくださいね。</p>



<p class="wp-block-paragraph">同じ関係がCOLUMN関数と<a href="https://mashukabu.com/excel-function-howto-use-columns/">COLUMNS関数</a>にもあります。</p>



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



<p class="wp-block-paragraph">ROW関数は、セルの行番号を返すシンプルな関数です。単体ではあまり目立ちませんが、他の関数と組み合わせることで真価を発揮します。</p>



<p class="wp-block-paragraph">この記事で紹介した活用パターンをおさらいします。</p>



<ul class="wp-block-list"><li>ROW()-ROW(見出しセル) で行の増減に強い連番を作る</li><li>INDEX + ROWで行番号を動的に切り替えて縦展開する</li><li>SMALL + IF + ROWで条件付きデータを順番に抽出する（レガシー環境向け）</li><li>INDIRECT + ROWで位置に依存しない固定配列を生成する</li><li>M365ではSEQUENCE・FILTERが代替になるが、行番号の取得にはROWが現役</li></ul>



<p class="wp-block-paragraph">まずは手入力の連番を =ROW()-ROW($A$1) に置き換えるところから試してみてください。行を挿入しても連番が崩れないので、リストのメンテナンスがぐっと楽になりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-row/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
