<?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/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:10:47 +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>スプレッドシートのUNIQUE・SEQUENCE・SORT関数で動的リストを作る方法｜データ追加しても自動更新</title>
		<link>https://mashukabu.com/sheets-unique-sequence-sort-dynamic-list/</link>
					<comments>https://mashukabu.com/sheets-unique-sequence-sort-dynamic-list/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 21:31:31 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[SEQUENCE]]></category>
		<category><![CDATA[SORT]]></category>
		<category><![CDATA[UNIQUE]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[動的リスト]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6434</guid>

					<description><![CDATA[GoogleスプレッドシートのUNIQUE・SEQUENCE・SORT関数を組み合わせて動的リストを作る方法。担当者一覧の自動更新など実務3シナリオを解説。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「担当者リストを更新するたびに、重複削除を手で何度もやっている」「行を増やしたら連番が飛んでしまった」。Googleスプレッドシートで管理表を作っていると、こんな手作業に悩まされますよね。</p>



<p class="wp-block-paragraph">実は、4つの関数を組み合わせるだけで、データが増減しても自動で更新される「動的リスト」を簡単に作れます。使うのはUNIQUE・SEQUENCE・SORT・ARRAYFORMULAの4つです。</p>



<p class="wp-block-paragraph">この記事では、動的リスト作りの中核になる4関数の役割を1ページで整理します。実務でよく使う3つの組み合わせシナリオも数式付きで紹介しますよ。ExcelとSheetsの互換性差異もまとめてあるので、ExcelからSheetsに移ってきた方にもおすすめです。</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">スプレッドシートで動的リストを作る関数の全体像</a><ol><li><a href="#toc2" tabindex="0">動的リストを支える4つの関数</a></li><li><a href="#toc3" tabindex="0">なぜ「組み合わせ」が前提なのか</a></li></ol></li><li><a href="#toc4" tabindex="0">UNIQUE・SEQUENCE・SORT・ARRAYFORMULAの役割比較表</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">シナリオA：UNIQUE+SORTで担当者のユニーク一覧を自動更新</a><ol><li><a href="#toc8" tabindex="0">元データと完成イメージ</a></li><li><a href="#toc9" tabindex="0">数式を3層で読み解く</a></li><li><a href="#toc10" tabindex="0">データ検証（プルダウン）の入力範囲に使う</a></li></ol></li><li><a href="#toc11" tabindex="0">シナリオB：SEQUENCE+COUNTAで行数可変の自動連番を作る</a><ol><li><a href="#toc12" tabindex="0">元データと完成イメージ</a></li><li><a href="#toc13" tabindex="0">COUNTAで「データのある行数」を数える理由</a></li><li><a href="#toc14" tabindex="0">動作のポイント</a></li><li><a href="#toc15" tabindex="0">行ごとの条件付き連番</a></li></ol></li><li><a href="#toc16" tabindex="0">シナリオC：ARRAYFORMULAで全行に条件付き数式を展開する</a><ol><li><a href="#toc17" tabindex="0">元データと完成イメージ</a></li><li><a href="#toc18" tabindex="0">数式の構造を読み解く</a></li><li><a href="#toc19" tabindex="0">ARRAYFORMULA内ではAND・ORが使えない</a></li><li><a href="#toc20" tabindex="0">VLOOKUPと組み合わせて全行に展開する</a></li></ol></li><li><a href="#toc21" tabindex="0">ExcelのUNIQUE・SEQUENCEとの互換性差異</a><ol><li><a href="#toc22" tabindex="0">Excel 365/2021との互換性表</a></li><li><a href="#toc23" tabindex="0">Sheets→Excelに数式を持っていくときの書き換え</a></li><li><a href="#toc24" tabindex="0">Excel 2019以前を意識するときは配列数式に書き換え</a></li></ol></li><li><a href="#toc25" tabindex="0">スプレッドシートの動的リスト関数のよくあるエラーと対処法</a><ol><li><a href="#toc26" tabindex="0">#REF! エラー（スピル先にデータあり）</a></li><li><a href="#toc27" tabindex="0">UNIQUEの結果に空白行が混じる問題</a></li><li><a href="#toc28" tabindex="0">ARRAYFORMULAでANDが効かない問題</a></li></ol></li><li><a href="#toc29" tabindex="0">スプレッドシートの動的リスト関数の使い分けまとめ</a><ol><li><a href="#toc30" tabindex="0">「目的→関数」の早見ガイド</a></li><li><a href="#toc31" tabindex="0">個別記事への深掘り誘導</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートで動的リストを作る関数の全体像</span></h2>



<p class="wp-block-paragraph">スプレッドシートの「動的リスト」とは、元データが増減すると参照先も自動で更新されるリストのことです。手動で範囲を広げ直したり、コピペで連番を振り直したりする手間がなくなります。</p>



<h3 class="wp-block-heading"><span id="toc2">動的リストを支える4つの関数</span></h3>



<p class="wp-block-paragraph">動的リスト作りに登場する関数は、突き詰めると次の4つだけです。</p>



<ul class="wp-block-list"><li><strong>UNIQUE</strong>：重複を取り除いて、一意の値だけを返す</li><li><strong>SEQUENCE</strong>：連続した番号を一気に生成する</li><li><strong>SORT / SORTN</strong>：範囲を並び替える（SORTNは上位N件だけ取り出す）</li><li><strong>ARRAYFORMULA</strong>：1つの数式を範囲全体に展開する</li></ul>



<p class="wp-block-paragraph">このうちUNIQUE・SEQUENCE・SORTはExcel 365にもあります。一方、SORTNとARRAYFORMULAはGoogleスプレッドシート固有の関数です。</p>



<h3 class="wp-block-heading"><span id="toc3">なぜ「組み合わせ」が前提なのか</span></h3>



<p class="wp-block-paragraph">これらの関数は単独でも便利ですが、本領を発揮するのは組み合わせて使ったときです。たとえば「担当者の一覧を作りたい」場面を考えてみます。UNIQUEで重複を消し、SORTで並べ替え、FILTERで空白を除く、という3つの動きを1つの数式にまとめられます。</p>



<p class="wp-block-paragraph">実務では「ユニーク化＋並び替え」「連番＋データ件数連動」「全行に条件適用」といった複合ニーズが多いんですよね。複数の処理を1つの数式にまとめると、メンテナンスもラクになります。</p>



<p class="wp-block-paragraph">各関数の詳しい構文や引数は、それぞれの個別記事に詳しくまとまっています。本記事では「実務でどう組み合わせるか」に絞って解説していきます。</p>



<h2 class="wp-block-heading"><span id="toc4">UNIQUE・SEQUENCE・SORT・ARRAYFORMULAの役割比較表</span></h2>



<p class="wp-block-paragraph">最初に、4関数の機能を1枚にまとめた比較表を見てみましょう。「どの関数が何の役割を担うか」を判断する早見表として使ってください。</p>



<h3 class="wp-block-heading"><span id="toc5">4関数の機能比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>主な目的</th><th>戻り値の形</th><th>Excel互換</th><th>Sheets固有機能</th></tr></thead><tbody><tr><td>UNIQUE</td><td>重複除去</td><td>動的配列</td><td>あり（365・2021）</td><td>第3引数の「1回だけ登場」抽出</td></tr><tr><td>SEQUENCE</td><td>連番生成</td><td>動的配列</td><td>あり（365・2021）</td><td>なし</td></tr><tr><td>SORT</td><td>並び替え</td><td>動的配列</td><td>あり（365・2021）</td><td>なし</td></tr><tr><td>SORTN</td><td>並び替え+上位N件</td><td>動的配列</td><td>なし</td><td>Sheets専用関数</td></tr><tr><td>ARRAYFORMULA</td><td>数式の全行展開</td><td>動的配列</td><td>なし（暗黙スピルで代替）</td><td>Sheets専用関数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">UNIQUE・SEQUENCE・SORTはExcel 365でも同じ構文で使えます。一方、SORTNとARRAYFORMULAはSheets限定の関数です。Excelに数式を持ち出すときは、この2つを別の関数で書き換える必要があります。</p>



<h3 class="wp-block-heading"><span id="toc6">「重複除去」「連番」「並び替え」「全行展開」の役割分担</span></h3>



<p class="wp-block-paragraph">4関数を実務目的で並べ替えると、次のように整理できます。</p>



<ol class="wp-block-list"><li><strong>重複を消したい</strong> → UNIQUE</li><li><strong>連番を振りたい</strong> → SEQUENCE</li><li><strong>並び替えたい</strong> → SORT（上位N件ならSORTN）</li><li><strong>全行に同じ判定をしたい</strong> → ARRAYFORMULA</li></ol>



<p class="wp-block-paragraph">この4つの役割を組み合わせるだけで、ほとんどの動的リストが作れます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ARRAYFORMULAは「他の関数を全行に広げる接着剤」として機能します。単独で使うことはほぼなく、IFやVLOOKUPと組み合わせるのが基本です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc7">シナリオA：UNIQUE+SORTで担当者のユニーク一覧を自動更新</span></h2>



<p class="wp-block-paragraph">ここからは、実務でよく登場する3つの組み合わせシナリオを紹介します。最初は「担当者のユニーク一覧を自動更新する」パターンです。</p>



<h3 class="wp-block-heading"><span id="toc8">元データと完成イメージ</span></h3>



<p class="wp-block-paragraph">A列に担当者名が並んでいる受注管理表があるとします。同じ担当者が複数行に登場するため、別シートで「担当者の一覧」を自動生成したい、という場面ですね。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<p class="wp-block-paragraph">完成形の数式はシンプルです。</p>



<pre class="wp-block-code"><code>=SORT(UNIQUE(FILTER(A2:A, A2:A&lt;&gt;&quot;&quot;)))</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_unique-sort-basic.png" alt="02 formula unique sort basic" /></figure>



<p class="wp-block-paragraph">A列に担当者を追加したら、別シートのリストも自動で更新されます。手動でドロップダウンの選択肢を増やす必要はありません。</p>



<h3 class="wp-block-heading"><span id="toc9">数式を3層で読み解く</span></h3>



<p class="wp-block-paragraph">この数式は内側から読むのがコツです。</p>



<ol class="wp-block-list"><li><strong>FILTER(A2:A, A2:A<>&#8220;&#8221;)</strong>：A列の空白以外を抽出</li><li><strong>UNIQUE(&#8230;)</strong>：抽出結果から重複を除いて一意の値だけ残す</li><li><strong>SORT(&#8230;)</strong>：結果を昇順に並び替える</li></ol>



<p class="wp-block-paragraph">FILTERで空白を先に除外しているのがポイントです。UNIQUE単体だと空白行も「1つの空白」として一覧に残ってしまうため、FILTERでラップしてから渡しています。</p>



<h3 class="wp-block-heading"><span id="toc10">データ検証（プルダウン）の入力範囲に使う</span></h3>



<p class="wp-block-paragraph">このユニーク一覧をデータ検証（入力規則）の選択肢として使うと、便利な動的プルダウンが完成します。</p>



<ol class="wp-block-list"><li>プルダウンを設定したいセルを選択</li><li>メニューから「データ」→「データの入力規則」</li><li>条件で「リストを範囲で指定」を選ぶ</li><li>範囲に <code>'マスタ'!A2:A100</code> のように、ユニーク一覧のスピル範囲を指定する</li></ol>



<p class="wp-block-paragraph">A列に新しい担当者が追加されたら、プルダウンの選択肢にも自動で反映されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>プルダウンの参照範囲は余裕をもたせて100行や1000行で指定しておくと、ユニーク数が増えても対応できます。スピル範囲を超える指定をしても空白セルが選ばれるだけで害はありません。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc11">シナリオB：SEQUENCE+COUNTAで行数可変の自動連番を作る</span></h2>



<p class="wp-block-paragraph">2つ目のシナリオは「行数が変わっても自動で連番を振り直す」パターンです。</p>



<h3 class="wp-block-heading"><span id="toc12">元データと完成イメージ</span></h3>



<p class="wp-block-paragraph">B列にデータが並んでいて、A列に1から始まる連番を自動で振りたい、という場面です。データが増えたり減ったりしても、A列の連番が常に正しい状態に保たれるのが目標です。</p>



<p class="wp-block-paragraph">完成形の数式は、A2セル1つに次のように書きます。</p>



<pre class="wp-block-code"><code>=SEQUENCE(COUNTA(B2:B))</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_formula_sequence-counta.png" alt="04 formula sequence counta" /></figure>



<p class="wp-block-paragraph">A2に入れるだけで、B列のデータ数に応じた連番がA2から自動で展開されます。データを増やせば連番も伸び、削除すれば連番も縮みます。</p>



<h3 class="wp-block-heading"><span id="toc13">COUNTAで「データのある行数」を数える理由</span></h3>



<p class="wp-block-paragraph">SEQUENCEの第1引数は「生成する行数」です。これにB列のデータ件数を渡せば、データ数ぴったりの連番が作れます。</p>



<p class="wp-block-paragraph">COUNTAは「空白でないセルの数」を返す関数です。B列にデータが10行入っていれば10、20行に増えれば20を返します。SEQUENCEがその数を受け取って、1〜10や1〜20の連番を返してくれる、という仕組みですね。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/sheets-unique-sequence-sort-dynamic-list/05_result_sequence-counta.png/">_images/sheets-unique-sequence-sort-dynamic-list/05_result_sequence-counta.png</a></p>



<h3 class="wp-block-heading"><span id="toc14">動作のポイント</span></h3>



<ul class="wp-block-list"><li>A2セルにだけ数式を書き、ほかの行はSEQUENCEのスピルで自動的に埋まる</li><li>B列が空白行を含む場合は、COUNTAではなく <code>COUNTIF(B2:B, "?*")</code> などで条件を変える</li><li>開始番号を変えたいなら <code>SEQUENCE(COUNTA(B2:B), 1, 10)</code> で10からスタートできる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>オートフィルで連番を作ると、行を挿入したときに番号が飛びます。SEQUENCE+COUNTAなら、行の挿入・削除に強い自動連番が作れますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc15">行ごとの条件付き連番</span></h3>



<p class="wp-block-paragraph">「ステータスが完了の行だけ連番を振りたい」のような応用も可能です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(C2:C=&quot;完了&quot;, COUNTIFS(C$2:C2, &quot;完了&quot;), &quot;&quot;))</code></pre>



<p class="wp-block-paragraph">この場合はSEQUENCEではなくCOUNTIFSの累積カウントを使います。シナリオCで紹介するARRAYFORMULAの応用例ですね。</p>



<h2 class="wp-block-heading"><span id="toc16">シナリオC：ARRAYFORMULAで全行に条件付き数式を展開する</span></h2>



<p class="wp-block-paragraph">3つ目のシナリオは「全行に同じ判定を一気に適用する」パターンです。</p>



<h3 class="wp-block-heading"><span id="toc17">元データと完成イメージ</span></h3>



<p class="wp-block-paragraph">B列にテストの点数が並んでいて、C列に「合格」「不合格」を判定したいとします。</p>



<p class="wp-block-paragraph">通常なら、C2セルに <code>=IF(B2>=80, "合格", "不合格")</code> を入れて、下までドラッグでコピーしますよね。ところが、データが増えるたびに数式をコピーし直すのは面倒です。</p>



<p class="wp-block-paragraph">ARRAYFORMULAを使うと、C2セル1つに数式を書くだけで、B列のデータがある行すべてに判定を展開できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B=&quot;&quot;, &quot;&quot;, IF(B2:B&gt;=80, &quot;合格&quot;, &quot;不合格&quot;)))</code></pre>



<p class="wp-block-paragraph">B列に新しい点数を追加すると、C列の判定も自動で広がります。</p>



<h3 class="wp-block-heading"><span id="toc18">数式の構造を読み解く</span></h3>



<p class="wp-block-paragraph">二重のIFを入れているのには理由があります。</p>



<ul class="wp-block-list"><li><strong>外側のIF</strong>：B列が空白なら何も表示しない（空白行に「不合格」と出るのを防ぐ）</li><li><strong>内側のIF</strong>：B列に値があれば、80点以上で「合格」、それ未満で「不合格」と判定</li></ul>



<p class="wp-block-paragraph">外側のIFを省くと、空白行にも「不合格」と表示されて見栄えが悪くなります。空白行の制御はARRAYFORMULAを書くときの定番テクニックです。</p>



<h3 class="wp-block-heading"><span id="toc19">ARRAYFORMULA内ではAND・ORが使えない</span></h3>



<p class="wp-block-paragraph">ここで注意点が1つあります。ARRAYFORMULA内ではAND・OR関数が動きません。複数条件を組み合わせたいときは、<code>*</code>（積）と<code>+</code>（和）の演算子を使います。</p>



<p class="wp-block-paragraph"><strong>「80点以上 かつ 出席率80%以上」（ANDの代替）</strong></p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B=&quot;&quot;, &quot;&quot;, IF((B2:B&gt;=80)*(C2:C&gt;=0.8), &quot;合格&quot;, &quot;不合格&quot;)))</code></pre>



<p class="wp-block-paragraph"><strong>「80点以上 または 加点あり」（ORの代替）</strong></p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B=&quot;&quot;, &quot;&quot;, IF((B2:B&gt;=80)+(D2:D&gt;0), &quot;合格&quot;, &quot;不合格&quot;)))</code></pre>



<p class="wp-block-paragraph"><code>*</code>はTRUE×TRUEのときだけ1（合格判定）になり、<code>+</code>はどちらかがTRUEなら1以上になる仕組みです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p><code>*</code>はAND、<code>+</code>はOR、と覚えると簡単です。ARRAYFORMULAをマスターすると、IFの3段ネストやVLOOKUPの全行展開も同じパターンで自動化できます。</p></blockquote>



<p class="wp-block-paragraph">条件分岐の関数選びで迷う場合は、関連記事も参考にしてみてください。詳しい使い分けは <a href="https://mashukabu.com/sheets-if-ifs-iferror-ifna/">スプレッドシートのIF・IFS・IFERROR・IFNAの使い分け</a> にまとまっています。</p>



<h3 class="wp-block-heading"><span id="toc20">VLOOKUPと組み合わせて全行に展開する</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULAはVLOOKUPやXLOOKUPと組み合わせると、列全体の参照を1つの数式で書けます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A=&quot;&quot;, &quot;&quot;, VLOOKUP(A2:A, マスタ!A:B, 2, FALSE)))</code></pre>



<p class="wp-block-paragraph">A列に商品コードを追加すると、B列に単価が自動で入ります。VLOOKUPやXLOOKUPの使い分けは、 <a href="https://mashukabu.com/sheets-vlookup-xlookup-index-match/">VLOOKUP・XLOOKUP・INDEX/MATCH 使い分けガイド</a> にまとめてありますよ。</p>



<h2 class="wp-block-heading"><span id="toc21">ExcelのUNIQUE・SEQUENCEとの互換性差異</span></h2>



<p class="wp-block-paragraph">スプレッドシートで作った動的リストの数式を、Excelに持っていって動かしたい場面もありますよね。ここではExcel側との互換性を整理しておきます。</p>



<h3 class="wp-block-heading"><span id="toc22">Excel 365/2021との互換性表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>Excel 365/2021</th><th>Excel 2019以前</th><th>Sheetsとの違い</th></tr></thead><tbody><tr><td>UNIQUE</td><td>使える</td><td>使えない</td><td>構文ほぼ同一</td></tr><tr><td>SEQUENCE</td><td>使える</td><td>使えない</td><td>構文同一</td></tr><tr><td>SORT</td><td>使える</td><td>使えない</td><td>構文同一</td></tr><tr><td>SORTN</td><td>使えない</td><td>使えない</td><td>Sheets専用</td></tr><tr><td>ARRAYFORMULA</td><td>使えない</td><td>使えない</td><td>Excelは暗黙のスピルで代替</td></tr><tr><td>FILTER</td><td>使える</td><td>使えない</td><td>構文同一</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">UNIQUE・SEQUENCE・SORTはExcel 365なら同じ構文で動きます。一方、SORTN・ARRAYFORMULAはSheets専用なので注意が必要です。</p>



<h3 class="wp-block-heading"><span id="toc23">Sheets→Excelに数式を持っていくときの書き換え</span></h3>



<p class="wp-block-paragraph">Excel 365に数式をコピーするときは、次のように書き換えます。</p>



<ul class="wp-block-list"><li><strong>SORTN(範囲, n)</strong> → SORTで並び替えてからINDEXやTAKEで上位n件を取り出す</li><li><strong>ARRAYFORMULA(&#8230;)</strong> → 関数自体を外して、Excel 365の暗黙スピルに任せる</li><li><strong>AND/ORの代替<code>*</code>・<code>+</code></strong> → そのままで動く（ExcelもSheetsと同じ挙動）</li></ul>



<p class="wp-block-paragraph">たとえば <code>=ARRAYFORMULA(IF(B2:B>=80, "合格", "不合格"))</code> をExcel 365で動かすには、<code>=IF(B2:B100>=80, "合格", "不合格")</code> のように範囲を明示するだけで動きます。</p>



<h3 class="wp-block-heading"><span id="toc24">Excel 2019以前を意識するときは配列数式に書き換え</span></h3>



<p class="wp-block-paragraph">Excel 2019以前を使う環境にデータを渡すなら、UNIQUE・SEQUENCE・SORTそのものが使えません。次のように書き換えます。</p>



<ul class="wp-block-list"><li><strong>UNIQUE</strong> → 配列数式 <code>{=IFERROR(INDEX(...), "")}</code> パターン、またはピボットテーブルで重複削除</li><li><strong>SEQUENCE</strong> → ROW関数で代替（<code>=ROW(A1)</code> を下にコピー）</li><li><strong>SORT</strong> → LARGE/SMALL関数の組み合わせで配列数式</li></ul>



<p class="wp-block-paragraph">Excel 2019以前は動的配列に対応していないので、Ctrl+Shift+Enterで配列数式として入力する必要があります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>配布先の環境がExcel 2019以前なら、SheetsからCSVでエクスポートする前に「値だけ貼り付け」で確定値に変えてから渡すのが確実です。数式を渡す必要がないケースも多いですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc25">スプレッドシートの動的リスト関数のよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">最後に、UNIQUE・SEQUENCE・SORT・ARRAYFORMULAを使い始めたときに陥りがちな落とし穴を3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc26">#REF! エラー（スピル先にデータあり）</span></h3>



<p class="wp-block-paragraph">UNIQUEやSEQUENCEを入力したら <code>#REF!</code> と表示される問題です。</p>



<pre class="wp-block-code"><code>=UNIQUE(A2:A)</code></pre>



<p class="wp-block-paragraph">この数式が #REF! になるのは、結果が展開される下のセルに別のデータが入っているからです。動的配列はスピル先が空でないと展開できません。</p>



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



<ul class="wp-block-list"><li>スピル先に入っているデータを削除する</li><li>数式を入れるセル位置を、空き行が十分にある場所に変える</li><li>結合セルがスピル先にある場合は結合を解除する</li></ul>



<h3 class="wp-block-heading"><span id="toc27">UNIQUEの結果に空白行が混じる問題</span></h3>



<p class="wp-block-paragraph">UNIQUEを使ったら、空白の値が一覧に1つ残ってしまうケースです。</p>



<pre class="wp-block-code"><code>=UNIQUE(A2:A)</code></pre>



<p class="wp-block-paragraph">A列の途中に空白行があると、UNIQUEは「空白も1つの値」として扱うので、結果に空白が混じります。</p>



<p class="wp-block-paragraph">対処法はFILTERで空白を除外することです。</p>



<pre class="wp-block-code"><code>=UNIQUE(FILTER(A2:A, A2:A&lt;&gt;&quot;&quot;))</code></pre>



<p class="wp-block-paragraph">シナリオAでも紹介した定番パターンですね。SORTでくるむと並び替えも一緒にできます。</p>



<h3 class="wp-block-heading"><span id="toc28">ARRAYFORMULAでANDが効かない問題</span></h3>



<p class="wp-block-paragraph">複数条件を組み合わせようとして、次のように書いたら結果が変になるケースです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(AND(B2:B&gt;=80, C2:C&gt;=0.8), &quot;合格&quot;, &quot;不合格&quot;))</code></pre>



<p class="wp-block-paragraph">ARRAYFORMULA内ではAND関数が範囲全体に対して1つの結果しか返しません。全行が同じ判定になってしまうんですよね。</p>



<p class="wp-block-paragraph">対処法は <code>*</code>（積）演算子に書き換えることです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF((B2:B&gt;=80)*(C2:C&gt;=0.8), &quot;合格&quot;, &quot;不合格&quot;))</code></pre>



<p class="wp-block-paragraph">OR関数も同じ理由で動かないので、<code>+</code>（和）演算子で代替します。シナリオCでも触れたとおり、ARRAYFORMULAを書くときの基本ルールとして覚えておくと便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc29">スプレッドシートの動的リスト関数の使い分けまとめ</span></h2>



<p class="wp-block-paragraph">スプレッドシートの動的リストは、UNIQUE・SEQUENCE・SORT・ARRAYFORMULAの4関数で必要十分です。</p>



<h3 class="wp-block-heading"><span id="toc30">「目的→関数」の早見ガイド</span></h3>



<p class="wp-block-paragraph">実務での選び方をまとめると、次のようになります。</p>



<ol class="wp-block-list"><li><strong>重複を消したい</strong> → UNIQUE（空白除外はFILTERでラップ）</li><li><strong>連番を振りたい</strong> → SEQUENCE（行数はCOUNTAで動的に取得）</li><li><strong>並び替えたい</strong> → SORT、上位N件だけ取り出すならSORTN</li><li><strong>全行に同じ判定をしたい</strong> → ARRAYFORMULA（AND/ORは<code>*</code>/<code>+</code>で代替）</li></ol>



<p class="wp-block-paragraph">この4ステップに従えば、動的リスト作りで関数選びに迷うことはほぼなくなります。</p>



<h3 class="wp-block-heading"><span id="toc31">個別記事への深掘り誘導</span></h3>



<p class="wp-block-paragraph">それぞれの関数の構文や引数、応用パターンは個別記事にもっと詳しくまとめています。</p>



<ul class="wp-block-list"><li>重複除去の基本: スプレッドシートのUNIQUE関数の使い方</li><li>連番生成の基本: スプレッドシートのSEQUENCE関数の使い方</li><li>並び替えの基本: スプレッドシートのSORT関数の使い方</li><li>上位N件の取り出し: スプレッドシートのSORTN関数の使い方</li><li>全行展開の基本: スプレッドシートのARRAYFORMULA関数の使い方</li></ul>



<p class="wp-block-paragraph">条件分岐とエラー処理を組み合わせる場合は、 <a href="https://mashukabu.com/sheets-if-ifs-iferror-ifna/">スプレッドシートのIF・IFS・IFERROR・IFNAの使い分け</a> や <a href="https://mashukabu.com/sheets-vlookup-xlookup-index-match/">VLOOKUP・XLOOKUP・INDEX/MATCH 使い分けガイド</a> もあわせて参照してください。</p>



<p class="wp-block-paragraph">「マスタを更新するたびに参照先を直しに行くのが面倒」「連番がいつも飛ぶ」状態は、UNIQUE+SORTやSEQUENCE+COUNTAで一気に解消できます。まずは手元の管理表で1つだけ、動的リストに置き換えてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/sheets-unique-sequence-sort-dynamic-list/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのUNIQUE・FILTER・SORT・SEQUENCE関数入門｜スピル（動的配列）で集計・抽出を自動化する</title>
		<link>https://mashukabu.com/excel-unique-filter-sort-sequence-spill/</link>
					<comments>https://mashukabu.com/excel-unique-filter-sort-sequence-spill/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 21:31:28 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[FILTER]]></category>
		<category><![CDATA[SEQUENCE]]></category>
		<category><![CDATA[SORT]]></category>
		<category><![CDATA[UNIQUE]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[動的配列]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6432</guid>

					<description><![CDATA[ExcelのUNIQUE・FILTER・SORT・SEQUENCE関数とスピル（動的配列）の基本を、中級者向けにハンズオンで解説。重複削除・条件抽出・並び替え・連番生成を数式1本で自動化する方法と、#SPILL!エラー対処、Excel 2021/Microsoft 365での対応状況をまとめます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「同じデータが何度も出てくるリストから、ユニークな項目だけ取り出したい」「条件に合う行だけ別シートに抽出したい」。こんなとき、ピボットや手作業のフィルタコピペで対応していませんか。</p>



<p class="wp-block-paragraph">Excel 2021 / Microsoft 365 では<strong>スピル（動的配列）</strong>が使えます。スピルを活用すると、これらの作業を<strong>数式1本で自動化</strong>できます。元データを更新すれば、抽出結果も自動で追随します。</p>



<p class="wp-block-paragraph">この記事ではスピルの基本概念と、入門で押さえたい4関数の使い方を解説します。UNIQUE・FILTER・SORT・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">Excelのスピル（動的配列）とは？従来の数式との違い</a><ol><li><a href="#toc2" tabindex="0">スピルの特徴</a></li><li><a href="#toc3" tabindex="0"># 演算子（スピル範囲演算子）の使い方</a></li></ol></li><li><a href="#toc4" tabindex="0">ExcelのUNIQUE関数で重複を一発削除する</a><ol><li><a href="#toc5" tabindex="0">UNIQUE関数の構文</a></li><li><a href="#toc6" tabindex="0">基本的な使い方</a></li><li><a href="#toc7" tabindex="0">「1回しか出現しない値」だけ取り出す</a></li></ol></li><li><a href="#toc8" tabindex="0">ExcelのFILTER関数で条件に合う行だけ抽出する</a><ol><li><a href="#toc9" tabindex="0">FILTER関数の構文</a></li><li><a href="#toc10" tabindex="0">基本的な使い方</a></li><li><a href="#toc11" tabindex="0">AND条件とOR条件</a></li></ol></li><li><a href="#toc12" tabindex="0">ExcelのSORT関数で並び替えを数式化する</a><ol><li><a href="#toc13" tabindex="0">SORT関数の構文</a></li><li><a href="#toc14" tabindex="0">基本的な使い方</a></li><li><a href="#toc15" tabindex="0">SORTBY関数で別範囲を基準に並び替える</a></li></ol></li><li><a href="#toc16" tabindex="0">ExcelのSEQUENCE関数で連番・行番号を自動生成する</a><ol><li><a href="#toc17" tabindex="0">SEQUENCE関数の構文</a></li><li><a href="#toc18" tabindex="0">基本的な使い方</a></li><li><a href="#toc19" tabindex="0">日付の連番を作る</a></li></ol></li><li><a href="#toc20" tabindex="0">UNIQUE・FILTER・SORT・SEQUENCEを組み合わせた実務テクニック</a><ol><li><a href="#toc21" tabindex="0">パターン1: 重複削除＋並び替え</a></li><li><a href="#toc22" tabindex="0">パターン2: 条件抽出＋並び替え＋上位N件</a></li><li><a href="#toc23" tabindex="0">パターン3: 動的に伸び縮みするドロップダウンリスト</a></li><li><a href="#toc24" tabindex="0">パターン4: ピボット代替のクロス集計ひな形</a></li></ol></li><li><a href="#toc25" tabindex="0">スピル特有のエラー（#SPILL!・#CALC!）と対処法</a><ol><li><a href="#toc26" tabindex="0">#SPILL! エラー</a></li><li><a href="#toc27" tabindex="0">#CALC! エラー</a></li></ol></li><li><a href="#toc28" tabindex="0">UNIQUE・FILTER・SORT・SEQUENCE関数の対応バージョンと互換性</a><ol><li><a href="#toc29" tabindex="0">Excelバージョンごとの対応</a></li><li><a href="#toc30" tabindex="0">Excel 2019以前で開いたときの挙動</a></li><li><a href="#toc31" tabindex="0">Googleスプレッドシートとの互換性</a></li><li><a href="#toc32" tabindex="0">LibreOffice Calcとの互換性</a></li></ol></li><li><a href="#toc33" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Excelのスピル（動的配列）とは？従来の数式との違い</span></h2>



<p class="wp-block-paragraph"><strong>スピル（spill）</strong>は「あふれ出す」という意味の英語です。Excelの数式が複数の値を返すとき、その結果が周辺セルへ自動的にあふれ出す動作を指します。</p>



<p class="wp-block-paragraph">従来のExcelでは、配列を返す数式に <code>Ctrl + Shift + Enter</code> で「配列数式」として確定する必要がありました。スピル対応のExcelなら、普通に <code>Enter</code> するだけで結果が複数セルに展開されます。</p>



<h3 class="wp-block-heading"><span id="toc2">スピルの特徴</span></h3>



<ul class="wp-block-list"><li>数式は<strong>左上の1セルにだけ</strong>入力する</li><li>結果が展開された範囲を「<strong>スピル範囲</strong>」と呼ぶ</li><li>スピル範囲全体を参照したいときは <code>A2#</code> のように <code>#</code>（スピル範囲演算子）を付ける</li><li>元データの行数が変わっても、スピル範囲は自動で伸び縮みする</li></ul>



<pre class="wp-block-code"><code>=UNIQUE(A2:A100)</code></pre>



<p class="wp-block-paragraph">この数式を <code>D2</code> に入れると、結果が <code>D2</code> から下方向に自動展開されます。これがスピルです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>スピル機能はMicrosoft 365 / Excel 2021 / Excel for the web / Excel 2024で利用できます。Excel 2019・2016・2013以前では動作しません。詳しくは記事末尾の互換性セクションを参照してください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc3"># 演算子（スピル範囲演算子）の使い方</span></h3>



<p class="wp-block-paragraph">スピル範囲を別の数式で参照するときは、左上セルの後ろに <code>#</code> を付けます。</p>



<pre class="wp-block-code"><code>=COUNTA(D2#)</code></pre>



<p class="wp-block-paragraph">これで <code>D2</code> から始まるスピル範囲全体の個数をカウントできます。元データが増減してスピル範囲が変わっても、自動的に追随するのが便利なポイントです。</p>



<h2 class="wp-block-heading"><span id="toc4">ExcelのUNIQUE関数で重複を一発削除する</span></h2>



<p class="wp-block-paragraph">UNIQUE関数は、指定範囲から<strong>重複を取り除いた一意のリスト</strong>を返します。「データ→重複の削除」と違い、元データを変更せずに集計用の一覧を作れます。</p>



<h3 class="wp-block-heading"><span id="toc5">UNIQUE関数の構文</span></h3>



<pre class="wp-block-code"><code>=UNIQUE(配列, [列の比較], [回数指定])</code></pre>



<ul class="wp-block-list"><li><strong>配列</strong>（必須）: 一意の値を取り出したい範囲</li><li><strong>列の比較</strong>（省略可）: TRUE で列方向の比較、FALSE/省略で行方向の比較</li><li><strong>回数指定</strong>（省略可）: TRUE で「1回しか出現しない値」だけ返す、FALSE/省略で重複を除いた全種類</li></ul>



<h3 class="wp-block-heading"><span id="toc6">基本的な使い方</span></h3>



<p class="wp-block-paragraph">A列に部署名がランダムに並んでいるとき、ユニークな部署名のリストを取り出します。</p>



<pre class="wp-block-code"><code>=UNIQUE(A2:A100)</code></pre>



<p class="wp-block-paragraph">部署名が「営業」「開発」「総務」「営業」「開発」…と並んでいても、「営業」「開発」「総務」の3つだけが返ります。</p>



<h3 class="wp-block-heading"><span id="toc7">「1回しか出現しない値」だけ取り出す</span></h3>



<p class="wp-block-paragraph">第3引数を <code>TRUE</code> にすると、複数回登場する値は除外されます。<strong>1回しか登場しない値のみ</strong>が返ります。</p>



<pre class="wp-block-code"><code>=UNIQUE(A2:A100, FALSE, TRUE)</code></pre>



<p class="wp-block-paragraph">「異常値が1件だけ混入していないか」「ユニークな顧客だけ抽出したい」といった用途で重宝します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>UNIQUE関数の詳しい使い方や応用例は、個別記事「<a href="https://mashukabu.com/excel-function-howto-use-unique/">ExcelのUNIQUE関数で重複データを除外する方法</a>」も参考にしてください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">ExcelのFILTER関数で条件に合う行だけ抽出する</span></h2>



<p class="wp-block-paragraph">FILTER関数は、<strong>条件に合致する行だけ</strong>を抽出してスピル展開する関数です。オートフィルタの「数式版」と考えると分かりやすいです。</p>



<h3 class="wp-block-heading"><span id="toc9">FILTER関数の構文</span></h3>



<pre class="wp-block-code"><code>=FILTER(配列, 含む, [空の場合])</code></pre>



<ul class="wp-block-list"><li><strong>配列</strong>（必須）: フィルタしたい元データの範囲</li><li><strong>含む</strong>（必須）: 「配列」と同じ高さのTRUE/FALSE配列。条件式 <code>(範囲=値)</code> で自動生成される</li><li><strong>空の場合</strong>（省略可）: 該当行が0件の場合に返す代替値</li></ul>



<h3 class="wp-block-heading"><span id="toc10">基本的な使い方</span></h3>



<p class="wp-block-paragraph">A〜C列の表から、B列が「営業」の行だけ抽出します。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C100, B2:B100=&quot;営業&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">第3引数に <code>"該当なし"</code> を入れておくと、ヒットがゼロでも <code>#CALC!</code> エラーになりません。代わりに指定した文字列が表示されます。</p>



<h3 class="wp-block-heading"><span id="toc11">AND条件とOR条件</span></h3>



<p class="wp-block-paragraph">複数条件を組み合わせるときは、<strong>AND は <code>*</code></strong>、<strong>OR は <code>+</code></strong> で連結します。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C100, (B2:B100=&quot;営業&quot;)*(C2:C100&gt;=100), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">「営業部署」かつ「数値が100以上」の行を抽出するAND条件の例です。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C100, (B2:B100=&quot;営業&quot;)+(B2:B100=&quot;開発&quot;), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">「営業」または「開発」を抽出するOR条件の例です。<code>*</code> と <code>+</code> の使い分けがFILTER関数の肝になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SUMIFSやCOUNTIFSと違い、FILTER関数は条件をかけ算・足し算で表現します。慣れないうちは違和感がありますが、TRUE=1、FALSE=0として扱われるルールから来ています。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>FILTER関数の応用パターンは、個別記事「<a href="https://mashukabu.com/excel-function-howto-use-filter/">ExcelのFILTER関数で条件に合うデータだけ抽出する方法</a>」で詳しく解説しています。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc12">ExcelのSORT関数で並び替えを数式化する</span></h2>



<p class="wp-block-paragraph">SORT関数は、<strong>並び替え結果を数式で取得</strong>する関数です。元データを並び替えずに、別の場所にソート済みリストを作れるのが強みです。</p>



<h3 class="wp-block-heading"><span id="toc13">SORT関数の構文</span></h3>



<pre class="wp-block-code"><code>=SORT(配列, [並び替えインデックス], [並び替え順序], [並び替え基準])</code></pre>



<ul class="wp-block-list"><li><strong>配列</strong>（必須）: 並び替えたい範囲</li><li><strong>並び替えインデックス</strong>（省略可）: 並び替えに使う列番号（1から開始、省略時は1列目）</li><li><strong>並び替え順序</strong>（省略可）: 1=昇順（既定）、-1=降順</li><li><strong>並び替え基準</strong>（省略可）: FALSE/省略で行方向、TRUE で列方向</li></ul>



<h3 class="wp-block-heading"><span id="toc14">基本的な使い方</span></h3>



<p class="wp-block-paragraph">A〜C列の表全体を、C列（売上）の降順で並び替えます。</p>



<pre class="wp-block-code"><code>=SORT(A2:C100, 3, -1)</code></pre>



<p class="wp-block-paragraph">数式を入れた場所にC列降順で並んだ表が展開されます。元データはそのままです。</p>



<h3 class="wp-block-heading"><span id="toc15">SORTBY関数で別範囲を基準に並び替える</span></h3>



<p class="wp-block-paragraph">似た関数に <strong>SORTBY関数</strong> があります。並び替え対象と並び替え基準を別範囲にしたいときに便利です。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:B100, C2:C100, -1)</code></pre>



<p class="wp-block-paragraph">A〜B列の範囲を、C列の値を基準に降順で並び替えます。「表示したい列」と「並び替えに使う列」を分けられるのがポイントです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>SORT関数とSORTBY関数の使い分けは、個別記事「<a href="https://mashukabu.com/excel-function-howto-use-sort/">ExcelのSORT関数の使い方</a>」で詳しく扱っています。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">ExcelのSEQUENCE関数で連番・行番号を自動生成する</span></h2>



<p class="wp-block-paragraph">SEQUENCE関数は、<strong>連番や行番号を自動生成</strong>する関数です。一見地味ですが、他のスピル関数と組み合わせるととても強力になります。</p>



<h3 class="wp-block-heading"><span id="toc17">SEQUENCE関数の構文</span></h3>



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



<ul class="wp-block-list"><li><strong>行</strong>（必須）: 生成する行数</li><li><strong>列</strong>（省略可）: 生成する列数（既定は1）</li><li><strong>開始値</strong>（省略可）: 開始する数値（既定は1）</li><li><strong>増分</strong>（省略可）: 増加する間隔（既定は1）</li></ul>



<h3 class="wp-block-heading"><span id="toc18">基本的な使い方</span></h3>



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



<p class="wp-block-paragraph">1から10まで縦に並んだ連番が展開されます。</p>



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



<p class="wp-block-paragraph">5行3列の数値表が展開されます。100始まり10刻みなので、1行目は100・110・120、2行目は130・140・150…と続きます。</p>



<h3 class="wp-block-heading"><span id="toc19">日付の連番を作る</span></h3>



<p class="wp-block-paragraph">開始値に日付を渡せば、日付の連番も作れます。</p>



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



<p class="wp-block-paragraph">今日から7日分の日付がスピル展開されます。表示形式を「日付」に変えれば、週次の予定表のひな形が一瞬で完成します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>SEQUENCE関数の活用パターンは、個別記事「<a href="https://mashukabu.com/excel-function-howto-use-sequence/">ExcelのSEQUENCE関数で連続した数値を生成する方法</a>」も参考にしてください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc20">UNIQUE・FILTER・SORT・SEQUENCEを組み合わせた実務テクニック</span></h2>



<p class="wp-block-paragraph">4関数の真価は<strong>組み合わせ</strong>にあります。実務でよく使うパターンを4つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc21">パターン1: 重複削除＋並び替え</span></h3>



<p class="wp-block-paragraph">ユニークな部署一覧を昇順で取得します。</p>



<pre class="wp-block-code"><code>=SORT(UNIQUE(A2:A100))</code></pre>



<p class="wp-block-paragraph">UNIQUEで重複を除いた結果を、SORTでそのまま並び替えています。スピル関数同士はネストできるのが特徴です。</p>



<h3 class="wp-block-heading"><span id="toc22">パターン2: 条件抽出＋並び替え＋上位N件</span></h3>



<p class="wp-block-paragraph">営業部署の行だけ抽出し、売上（C列）の降順で並べます。</p>



<pre class="wp-block-code"><code>=SORT(FILTER(A2:C100, B2:B100=&quot;営業&quot;, &quot;該当なし&quot;), 3, -1)</code></pre>



<p class="wp-block-paragraph">さらに「上位5件だけ」に絞りたい場合は、Microsoft 365 の <code>TAKE</code> 関数が便利です。</p>



<pre class="wp-block-code"><code>=TAKE(SORT(FILTER(A2:C100, B2:B100=&quot;営業&quot;), 3, -1), 5)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>TAKE関数はMicrosoft 365で利用できる比較的新しい関数です。Excel 2021では未対応のため、上位N件の抽出はINDEXとSEQUENCEで代替してください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc23">パターン3: 動的に伸び縮みするドロップダウンリスト</span></h3>



<p class="wp-block-paragraph">データ追加で自動拡張するプルダウンを作るには、入力規則のリスト元に<strong>スピル範囲演算子 <code>#</code></strong> を使います。</p>



<ol class="wp-block-list"><li>任意の作業セル（例: <code>Z2</code>）に <code>=UNIQUE(A2:A100)</code> を入力</li><li>入力規則のリスト元に <code>=$Z$2#</code> と指定</li></ol>



<p class="wp-block-paragraph">A列にデータを追加すると、プルダウンの選択肢も自動で増えます。<code>OFFSET</code> と <code>COUNTA</code> で組んでいた動的リストが、スピルなら一発で実現できます。</p>



<h3 class="wp-block-heading"><span id="toc24">パターン4: ピボット代替のクロス集計ひな形</span></h3>



<p class="wp-block-paragraph">UNIQUE で集計軸を作り、SUMIFS で値を埋めるとピボット不要のクロス集計が作れます。</p>



<pre class="wp-block-code"><code>=UNIQUE(A2:A100)       ' D2 に入力（部署一覧がスピル展開）
=SUMIFS(C:C, A:A, D2#) ' E2 に入力（D2のスピル範囲に対して集計がスピル展開）</code></pre>



<p class="wp-block-paragraph"><code>D2</code> にUNIQUEの結果を出し、<code>E2</code> にSUMIFSを入れます。<code>D2#</code> のスピル範囲に対してSUMIFSもスピル展開されるため、元データが増えても集計表が自動で伸び縮みします。</p>



<h2 class="wp-block-heading"><span id="toc25">スピル特有のエラー（#SPILL!・#CALC!）と対処法</span></h2>



<p class="wp-block-paragraph">スピル関数を使い始めると、見慣れないエラーに遭遇することがあります。代表的な2つを覚えておきましょう。</p>



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



<p class="wp-block-paragraph">スピル範囲に<strong>何かが入っている</strong>ためにあふれ出せないときに発生します。原因と対処は次のとおりです。</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>セル結合を解除する</td></tr><tr><td>Excelの「テーブル」内にスピル数式を入れた</td><td>テーブル外で使うか、テーブルを通常の範囲に変換する</td></tr><tr><td>スピル範囲がワークシートの端を超えている</td><td>行・列の参照範囲を絞る</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p><code>#SPILL!</code> セルを選択すると、エラー三角マークの横に「障害物のあるセルを選択」リンクが表示されます。クリックすると原因セルを特定できます。</p></blockquote>



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



<p class="wp-block-paragraph">FILTER関数で<strong>該当データが0件</strong>のときに最もよく見ます。第3引数（空の場合）を指定すれば回避できます。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C100, B2:B100=&quot;営業&quot;, &quot;データなし&quot;)</code></pre>



<p class="wp-block-paragraph">ほかに、スピル関数同士のサイズ不整合や、空の配列を返す関数を渡したときにも発生します。FILTERの第3引数を習慣的に書く癖をつけると安全です。</p>



<h2 class="wp-block-heading"><span id="toc28">UNIQUE・FILTER・SORT・SEQUENCE関数の対応バージョンと互換性</span></h2>



<p class="wp-block-paragraph">スピル関数は新しい機能のため、環境によって動作が大きく変わります。</p>



<h3 class="wp-block-heading"><span id="toc29">Excelバージョンごとの対応</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>バージョン</th><th>対応状況</th></tr></thead><tbody><tr><td>Microsoft 365</td><td>完全対応</td></tr><tr><td>Excel 2024</td><td>完全対応</td></tr><tr><td>Excel 2021</td><td>UNIQUE/FILTER/SORT/SEQUENCE 対応</td></tr><tr><td>Excel for the web</td><td>完全対応</td></tr><tr><td>Excel 2019・2016・2013</td><td>未対応（<code>#NAME?</code> または暗黙的交差で動かない）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc30">Excel 2019以前で開いたときの挙動</span></h3>



<p class="wp-block-paragraph">スピル数式を含むxlsxファイルをExcel 2019以前で開くと、数式は自動変換されます。<code>@</code> 演算子付きの「暗黙的な交差」形式になり、結果は1セルだけでスピル展開しません。複数人で共有するファイルでは、開く側の環境を事前に確認しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc31">Googleスプレッドシートとの互換性</span></h3>



<p class="wp-block-paragraph">GoogleスプレッドシートにはUNIQUE / FILTER / SORT / SEQUENCEがすべて存在します。ただし<strong>引数の仕様が一部異なります</strong>。特にFILTER関数のAND/OR表現が違うため、Excel数式をそのままコピペしても動かないケースがあります。両方使うなら、関数ごとに動作確認をおすすめします。</p>



<h3 class="wp-block-heading"><span id="toc32">LibreOffice Calcとの互換性</span></h3>



<p class="wp-block-paragraph">LibreOffice Calcは7.x以降でスピル関連関数の対応を進めています。古いバージョン（6.x以前）では未対応です。</p>



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



<p class="wp-block-paragraph">ExcelのUNIQUE・FILTER・SORT・SEQUENCE関数とスピル（動的配列）を使えば、集計・抽出作業を<strong>数式1本で自動化</strong>できます。ピボットや手作業でやっていた工程を一気に省けます。</p>



<ul class="wp-block-list"><li><strong>UNIQUE</strong>: 重複削除でユニークなリストを作る</li><li><strong>FILTER</strong>: 条件に合う行だけ抽出する</li><li><strong>SORT</strong>: 並び替えを数式化する（元データを汚さない）</li><li><strong>SEQUENCE</strong>: 連番・行番号・日付連番を自動生成する</li></ul>



<p class="wp-block-paragraph">4関数は単独でも便利ですが、<strong>組み合わせる</strong>ことで真価を発揮します。「UNIQUE→SORT」「FILTER→SORT」のネストや、<code>#</code> 演算子を使った動的範囲参照をぜひ試してみてください。毎日のExcel作業が一段速くなります。</p>



<p class="wp-block-paragraph">ピボットを使うほどではないけれど集計したい。フィルタを毎回設定し直すのが面倒。そんなときはスピル関数を試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-unique-filter-sort-sequence-spill/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのSEQUENCE関数の使い方｜連番・日付・2次元配列を自動生成</title>
		<link>https://mashukabu.com/spreadsheet-sequence-function/</link>
					<comments>https://mashukabu.com/spreadsheet-sequence-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:30:37 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ROW関数]]></category>
		<category><![CDATA[SEQUENCE]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[日付連番]]></category>
		<category><![CDATA[連番]]></category>
		<category><![CDATA[配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4765</guid>

					<description><![CDATA[スプレッドシートのSEQUENCE関数の使い方を解説します。縦・横・2次元の連番生成、日付の連番、ROW関数との使い分けまで、実務ですぐ使えるサンプルで丁寧に説明します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「1, 2, 3…と連番を手入力するのが面倒」「日付の一覧をサッと作りたい」。スプレッドシートで表を作っていると、こんな場面は多いですよね。</p>



<p class="wp-block-paragraph">オートフィルで引っ張る方法もありますが、行の追加・削除のたびにズレてしまいます。数が多いと確認も大変です。</p>



<p class="wp-block-paragraph">そんなときに便利なのが <strong>SEQUENCE関数</strong> です。行数と開始値を指定するだけで、連番や日付の一覧を自動生成してくれます。</p>



<p class="wp-block-paragraph">この記事では、SEQUENCE関数の基本から、日付・時刻連番の作り方、FILTER・SORTとの組み合わせまで実例つきで紹介します。</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">SEQUENCE関数とは？</a></li><li><a href="#toc2" tabindex="0">SEQUENCE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">構文</a></li><li><a href="#toc4" tabindex="0">引数の意味と省略ルール</a></li></ol></li><li><a href="#toc5" tabindex="0">SEQUENCE関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">縦方向の連番を作る</a></li><li><a href="#toc7" tabindex="0">横方向の連番を作る</a></li><li><a href="#toc8" tabindex="0">2次元配列の連番を作る</a></li></ol></li><li><a href="#toc9" tabindex="0">実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">パターン1：日付の連番を自動生成する</a></li><li><a href="#toc11" tabindex="0">パターン2：時刻連番で予定表を作る</a></li><li><a href="#toc12" tabindex="0">パターン3：降順・ステップ付き連番</a></li><li><a href="#toc13" tabindex="0">パターン4：FILTER・SORTとの組み合わせ</a></li></ol></li><li><a href="#toc14" tabindex="0">ROW関数との違い・使い分け</a></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc16" tabindex="0">まとめ</a><ol><li><a href="#toc17" tabindex="0">この記事を書いた人</a></li><li><a href="#toc18" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">SEQUENCE関数は、指定した行数・列数に応じて <strong>連続した数値の配列を自動生成する</strong> 関数です。<br>読み方は「シーケンス関数」で、英語の「sequence（連続・順序）」が語源です。</p>



<p class="wp-block-paragraph">たとえば <code>=SEQUENCE(5)</code> と入力すれば、1〜5の連番が縦方向に一括で出力されます。</p>



<p class="wp-block-paragraph">先頭セルに数式を入力するだけで、結果が自動で展開されます。<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>を使う必要はありません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SEQUENCE関数はGoogleスプレッドシートと Excel（Microsoft 365 / Excel 2021 以降）で使えます。<a href="https://mashukabu.com/excel-function-howto-use-sequence/">ExcelのSEQUENCE関数</a>も構文は同じです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">SEQUENCE関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">構文</span></h3>



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



<h3 class="wp-block-heading"><span id="toc4">引数の意味と省略ルール</span></h3>



<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>生成する行数（例: <code>5</code>）</td><td>—</td></tr><tr><td>列数</td><td>任意</td><td>生成する列数（例: <code>3</code>）</td><td>1</td></tr><tr><td>開始値</td><td>任意</td><td>最初の値（例: <code>0</code> や <code>100</code>）</td><td>1</td></tr><tr><td>増分量</td><td>任意</td><td>値の増え幅（例: <code>10</code>）</td><td>1</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>必須は「行数」だけです。<code>=SEQUENCE(5)</code> なら、1列・開始値1・増分1で「1, 2, 3, 4, 5」が縦に並びます。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc6">縦方向の連番を作る</span></h3>



<p class="wp-block-paragraph">もっともシンプルな使い方です。空いているセル（たとえばA2）に次の数式を入力します。</p>



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



<p class="wp-block-paragraph">結果はこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列</th></tr></thead><tbody><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr><tr><td>4</td></tr><tr><td>5</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行数に <code>5</code> を指定しただけで、1〜5の連番が自動で展開されました。</p>



<h3 class="wp-block-heading"><span id="toc7">横方向の連番を作る</span></h3>



<p class="wp-block-paragraph">列数を指定して行数を <code>1</code> にすると、横方向に展開されます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>A列</th><th>B列</th><th>C列</th><th>D列</th><th>E列</th></tr></thead><tbody><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">月ごとのヘッダーや曜日ラベルを並べたいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc8">2次元配列の連番を作る</span></h3>



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



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



<figure class="wp-block-table"><table><thead><tr><th>A列</th><th>B列</th><th>C列</th><th>D列</th></tr></thead><tbody><tr><td>1</td><td>2</td><td>3</td><td>4</td></tr><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">左から右、上から下へと行優先で番号が埋まります。3行×4列で合計12個の連番ですね。</p>



<h2 class="wp-block-heading"><span id="toc9">実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">パターン1：日付の連番を自動生成する</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数は日付の連番にも使えます。開始値にDATE関数を指定しましょう。</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>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>日付は <code>"2025/04/01"</code> のように引用符つきの文字列でも指定できます。<code>=SEQUENCE(5,1,"2025/04/01")</code> のように書けばOKです。引用符を忘れると <code>2025/04/01</code> の <code>/</code> が除算演算子として扱われ、数値として計算されてしまうので注意してください。</p></blockquote>



<p class="wp-block-paragraph">月初日の一覧を作りたい場合は、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせます。</p>



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



<p class="wp-block-paragraph">この数式で2025年1〜12月の月初日が一覧で出力されます。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン2：時刻連番で予定表を作る</span></h3>



<p class="wp-block-paragraph">タイムスケジュールを作るときに便利な使い方です。</p>



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



<p class="wp-block-paragraph">8:00から1時間刻みで、16個の時刻が生成されます。8:00〜23:00のタイムテーブルが一発で完成です。</p>



<p class="wp-block-paragraph">日付と同じく、結果はシリアル値になります。「表示形式」→「時刻」に変更してください。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3：降順・ステップ付き連番</span></h3>



<p class="wp-block-paragraph">増分量に負の値を指定すると、降順の連番を作れます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>A列</th></tr></thead><tbody><tr><td>10</td></tr><tr><td>9</td></tr><tr><td>8</td></tr><tr><td>7</td></tr><tr><td>6</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">カウントダウンやランキング番号に使えます。</p>



<p class="wp-block-paragraph">増分量を変えれば、飛び飛びの数値も簡単です。</p>



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



<p class="wp-block-paragraph">結果は「0, 10, 20, 30, 40」です。10刻みの連番が生成されます。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4：FILTER・SORTとの組み合わせ</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数は他の配列関数と組み合わせると、さらに活用の幅が広がります。</p>



<p class="wp-block-paragraph"><strong>SEQUENCE + FILTERで偶数だけを抽出する例です。</strong></p>



<p class="wp-block-paragraph">まず、SEQUENCE関数で1〜20の連番を作ります。そこから<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>で偶数だけを抽出します。</p>



<pre class="wp-block-code"><code>=FILTER(SEQUENCE(20), MOD(SEQUENCE(20),2)=0)</code></pre>



<p class="wp-block-paragraph">結果は「2, 4, 6, 8, 10, 12, 14, 16, 18, 20」です。</p>



<p class="wp-block-paragraph"><strong>SEQUENCE + SORTでランダム順のリストを作る例です。</strong></p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>とRANDARRAY関数を組み合わせて、連番をシャッフルできます。</p>



<pre class="wp-block-code"><code>=SORT(SEQUENCE(10), RANDARRAY(10), TRUE)</code></pre>



<p class="wp-block-paragraph">抽選やランダム出題など、順序をランダムにしたい場面で使えます。</p>



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



<p class="wp-block-paragraph">連番を作る方法としては、<a href="https://mashukabu.com/spreadsheet-row-function/">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>指定した件数の配列を一括生成</td><td>セルの行番号を取得</td></tr><tr><td>行の追従</td><td>しない（固定件数）</td><td>する（行の挿入・削除に自動対応）</td></tr><tr><td>ARRAYFORMULA</td><td>不要（自動で展開）</td><td>複数行に展開するには必要</td></tr><tr><td>2次元配列</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> → ROW関数が向いています。データ行に1対1で連番を振るケースです</li><li><strong>決まった件数を一括で生成したい</strong> → SEQUENCE関数が向いています。日付一覧やタイムテーブルなど、固定の連番が欲しいケースです</li></ul>



<p class="wp-block-paragraph">迷ったら、「データの行数に依存するか」で判断してみてください。依存するならROW関数、依存しないならSEQUENCE関数です。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#REF!</code></td><td>結果を展開するセルにデータがある</td><td>展開先のセルをクリアするか、数式を空き領域に移動する</td></tr><tr><td><code>#NUM!</code></td><td>行数に0や負の数を指定した</td><td>行数・列数には1以上の正の整数を指定する</td></tr><tr><td><code>#VALUE!</code></td><td>引数に文字列など無効な値がある</td><td>数値・日付以外の値が入っていないか確認する</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p><code>#REF!</code> エラーは配列関数で最もよくあるエラーです。SEQUENCE関数の結果が展開される先にデータがあると発生します。出力先の下方向・右方向に十分な空きを確保してください。</p></blockquote>



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



<p class="wp-block-paragraph">この記事では、GoogleスプレッドシートのSEQUENCE関数の使い方を解説しました。</p>



<ul class="wp-block-list"><li><strong>SEQUENCE関数</strong>: 指定した行数・列数の連番を自動生成する</li><li><strong>基本の使い方</strong>: <code>=SEQUENCE(5)</code> で1〜5の縦方向連番</li><li><strong>横方向</strong>: <code>=SEQUENCE(1,5)</code> で横に展開</li><li><strong>2次元配列</strong>: <code>=SEQUENCE(3,4)</code> で3行4列のグリッド連番</li><li><strong>日付連番</strong>: <code>=SEQUENCE(30,1,DATE(2025,4,1),1)</code> で日付一覧</li><li><strong>ROW関数との違い</strong>: 固定件数の一括生成はSEQUENCE、行追従はROW</li></ul>



<p class="wp-block-paragraph">まずは <code>=SEQUENCE(5)</code> から試してみてください。連番の手入力から解放されますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc17">この記事を書いた人</span></h3>



<p class="wp-block-paragraph">biz-tactics編集部。事務職の現場で本当に使えるExcel・スプレッドシート・AIの技を発信しています。</p>



<h3 class="wp-block-heading"><span id="toc18">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-row-function/">スプレッドシートのROW関数の使い方｜連番を自動作成</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方｜範囲に一括適用</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方｜条件抽出を自動化する方法</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT・SORTN・SORTBY関数の使い方｜データを自動で並べ替える</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方｜重複を瞬時に除去</a></li><li><a href="https://mashukabu.com/spreadsheet-expand-function/">スプレッドシートのEXPAND関数の使い方｜配列のサイズを拡張する</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sequence/">ExcelのSEQUENCE関数の使い方｜連番・日付・2次元配列を1関数で</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-sequence-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Excel】CHOOSEROWS関数の使い方｜配列から指定した行を取り出す方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-chooserows/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-chooserows/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 14 Nov 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CHOOSECOLS]]></category>
		<category><![CDATA[CHOOSEROWS]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[FILTER]]></category>
		<category><![CDATA[INDEX]]></category>
		<category><![CDATA[SEQUENCE]]></category>
		<category><![CDATA[動的配列関数]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3007</guid>

					<description><![CDATA[ExcelのCHOOSEROWS関数の使い方を解説。基本構文から負の数による最終行取得、SEQUENCE組み合わせ、INDEX・CHOOSECOLSとの違い、エラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「この表の2行目と5行目だけ取り出したいんだけど、いちいちコピペするしかないの？」「最終行のデータだけサッと抜き出す方法はないかな？」そんな悩み、ありますよね。</p>



<p class="wp-block-paragraph">ExcelのCHOOSEROWS関数を使えば、配列やセル範囲から好きな行を自由に取り出せます。行番号を指定するだけで、複数行の抽出も順番の入れ替えも一発です。この記事では、基本構文から実務で使える応用パターンまで、わかりやすく解説していきますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのCHOOSEROWS関数とは</a><ol><li><a href="#toc2" tabindex="0">読み方・意味</a></li><li><a href="#toc3" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc4" tabindex="0">CHOOSEROWS関数の基本構文と引数</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">CHOOSEROWS関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">特定の行を1行取り出す</a></li><li><a href="#toc10" tabindex="0">複数行をまとめて取り出す</a></li><li><a href="#toc11" tabindex="0">行の順番を入れ替えて取り出す</a></li></ol></li><li><a href="#toc12" tabindex="0">CHOOSEROWS関数の実務活用パターン</a><ol><li><a href="#toc13" tabindex="0">最終行のデータを取り出す（負の数）</a></li><li><a href="#toc14" tabindex="0">SEQUENCEと組み合わせて逆順に並べ替える</a></li><li><a href="#toc15" tabindex="0">テーブルと組み合わせる</a></li><li><a href="#toc16" tabindex="0">FILTER・SORTとの組み合わせ</a></li></ol></li><li><a href="#toc17" tabindex="0">INDEX関数との違い・使い分け</a></li><li><a href="#toc18" tabindex="0">TAKE関数・DROP関数との使い分け</a><ol><li><a href="#toc19" tabindex="0">TAKE関数：先頭・末尾から連続して取り出す</a></li><li><a href="#toc20" tabindex="0">DROP関数：不要な行を除いて残りを返す</a></li><li><a href="#toc21" tabindex="0">3つの使い分け基準</a></li></ol></li><li><a href="#toc22" tabindex="0">CHOOSEROWSとCHOOSECOLSの違い</a><ol><li><a href="#toc23" tabindex="0">行と列の違い</a></li><li><a href="#toc24" tabindex="0">組み合わせて使う方法</a></li></ol></li><li><a href="#toc25" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc26" tabindex="0">#VALUE!エラー</a></li><li><a href="#toc27" tabindex="0">スピルエラー（#SPILL!）</a></li></ol></li><li><a href="#toc28" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc29" tabindex="0">Q1. Googleスプレッドシートでも使えますか？</a></li><li><a href="#toc30" tabindex="0">Q2. SEQUENCEと組み合わせて偶数行・奇数行を抽出できますか？</a></li><li><a href="#toc31" tabindex="0">Q3. 行番号の指定は最大いくつですか？</a></li><li><a href="#toc32" tabindex="0">Q4. TAKE/DROPと何が違いますか？</a></li><li><a href="#toc33" tabindex="0">Q5. 行番号に0を指定するとエラーになりますか？</a></li></ol></li><li><a href="#toc34" tabindex="0">まとめ</a><ol><li><a href="#toc35" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのCHOOSEROWS関数とは</span></h2>



<p class="wp-block-paragraph">CHOOSEROWS関数は、<strong>配列やセル範囲から指定した行を取り出す関数</strong>です。動的配列関数（数式の結果が複数セルに自動展開される関数群）の1つで、取り出した結果はスピル（自動展開）で表示されます。</p>



<p class="wp-block-paragraph">たとえば10行のデータから3行目と7行目だけを抜き出す、といった操作がワンクリックでできます。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方・意味</span></h3>



<p class="wp-block-paragraph">読み方は「チューズロウズ」です。「choose」は「選ぶ」、「rows」は「行」という意味ですね。名前のとおり「行を選ぶ」関数です。</p>



<p class="wp-block-paragraph">姉妹関数として、列を選ぶ<a href="https://mashukabu.com/excel-function-howto-use-choosecols/">CHOOSECOLS関数</a>があります。</p>



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



<p class="wp-block-paragraph">CHOOSEROWS関数が使えるのは以下の環境です。</p>



<ul class="wp-block-list"><li>Microsoft 365</li><li>Excel 2024</li><li>Excel for the web</li></ul>



<p class="wp-block-paragraph">Excel 2021以前のバージョンでは使えません。お使いのExcelのバージョンを確認してみてくださいね。</p>



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



<pre class="wp-block-code"><code>=CHOOSEROWS(配列, 行番号1, [行番号2], ...)</code></pre>



<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><tr><td>行番号1</td><td>必須</td><td>取り出したい行の番号を指定します。配列の先頭行が「1」です</td></tr><tr><td>行番号2, &#8230;</td><td>省略可</td><td>追加で取り出したい行番号を指定します。複数指定できます</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">引数「配列」</span></h3>



<p class="wp-block-paragraph">行を取り出す対象の配列やセル範囲を指定します。テーブル名やセル範囲（A1:D10など）を渡せます。他の関数の結果を配列として渡すことも可能です。</p>



<h3 class="wp-block-heading"><span id="toc6">引数「行番号」</span></h3>



<p class="wp-block-paragraph">配列の中から何行目を取り出すかを数値で指定します。先頭行が「1」、2行目が「2」です。</p>



<p class="wp-block-paragraph">複数の行を取り出したい場合は、カンマで区切って指定します。たとえば 2, 5 と書けば2行目と5行目を取り出せます。</p>



<p class="wp-block-paragraph">同じ行番号を複数回指定することもできます。1, 1, 3 と書けば、1行目が2回と3行目が返されます。</p>



<h3 class="wp-block-heading"><span id="toc7">負の数で末尾から指定</span></h3>



<p class="wp-block-paragraph">行番号に<strong>負の数</strong>を使うと、末尾からカウントできます。</p>



<ul class="wp-block-list"><li><strong>-1</strong>: 最後の行</li><li><strong>-2</strong>: 最後から2番目の行</li><li><strong>-3</strong>: 最後から3番目の行</li></ul>



<p class="wp-block-paragraph">データの行数がわからなくても、末尾のデータを取り出せるのが便利なポイントです。</p>



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



<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>名前</td><td>部署</td><td>売上</td><td>評価</td></tr><tr><td>2</td><td>田中</td><td>営業</td><td>500</td><td>A</td></tr><tr><td>3</td><td>鈴木</td><td>企画</td><td>320</td><td>B</td></tr><tr><td>4</td><td>佐藤</td><td>営業</td><td>450</td><td>A</td></tr><tr><td>5</td><td>山田</td><td>総務</td><td>280</td><td>C</td></tr><tr><td>6</td><td>高橋</td><td>企画</td><td>410</td><td>B</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">特定の行を1行取り出す</span></h3>



<p class="wp-block-paragraph">2行目（田中さんのデータ）を取り出してみましょう。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, 2)</code></pre>



<p class="wp-block-paragraph">結果は 田中 | 営業 | 500 | A です。配列の2行目がそのまま返されます。</p>



<h3 class="wp-block-heading"><span id="toc10">複数行をまとめて取り出す</span></h3>



<p class="wp-block-paragraph">2行目と4行目をまとめて取り出す場合はこうです。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, 2, 4)</code></pre>



<p class="wp-block-paragraph">結果は以下の2行が返されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>田中</th><th>営業</th><th>500</th><th>A</th></tr></thead><tbody><tr><td>佐藤</td><td>営業</td><td>450</td><td>A</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">営業部だけ抜き出したいときなどに使えますね。</p>



<h3 class="wp-block-heading"><span id="toc11">行の順番を入れ替えて取り出す</span></h3>



<p class="wp-block-paragraph">指定した順番どおりに結果が返されるのもポイントです。4行目→2行目の順で指定してみましょう。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, 4, 2)</code></pre>



<p class="wp-block-paragraph">結果は佐藤さんが先、田中さんが後になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>佐藤</th><th>営業</th><th>450</th><th>A</th></tr></thead><tbody><tr><td>田中</td><td>営業</td><td>500</td><td>A</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行番号の指定順がそのまま出力順になります。並べ替えにも応用できますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc13">最終行のデータを取り出す（負の数）</span></h3>



<p class="wp-block-paragraph">「表の最後のデータだけ見たい」という場面で便利です。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, -1)</code></pre>



<p class="wp-block-paragraph">結果は 高橋 | 企画 | 410 | B です。最後から2行分を取り出す場合は -1, -2 と指定します。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, -1, -2)</code></pre>



<p class="wp-block-paragraph">データが追加されても常に末尾から取り出せます。行数を数える必要がないのが便利ですね。</p>



<h3 class="wp-block-heading"><span id="toc14">SEQUENCEと組み合わせて逆順に並べ替える</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数</a>を使うと、行番号を動的に生成できます。これを利用してデータを逆順に並べ替えてみましょう。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, SEQUENCE(6,,6,-1))</code></pre>



<p class="wp-block-paragraph">SEQUENCE(6,,6,-1) は {6,5,4,3,2,1} を生成します。つまり6行目から1行目の順に取り出すわけです。</p>



<p class="wp-block-paragraph">古いデータが上にある表を、新しい順に並べ替えたいときに重宝します。</p>



<p class="wp-block-paragraph">偶数行だけを取り出すことも可能です。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, SEQUENCE(3,,2,2))</code></pre>



<p class="wp-block-paragraph">SEQUENCE(3,,2,2) は {2,4,6} を生成します。2行目・4行目・6行目が返されますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">テーブルと組み合わせる</span></h3>



<p class="wp-block-paragraph">Excelのテーブルを直接指定することもできます。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(テーブル1, 1, 3)</code></pre>



<p class="wp-block-paragraph">テーブルの場合、見出し行は含まれません。テーブルの1行目はデータの先頭行を指します。テーブルにデータが追加されると、負の数を使った指定も自動的に更新されます。</p>



<h3 class="wp-block-heading"><span id="toc16">FILTER・SORTとの組み合わせ</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-sort/">SORT関数</a>の結果をCHOOSEROWSに渡すパターンも実務で便利です。</p>



<p class="wp-block-paragraph">たとえば、FILTER関数で絞り込んだ結果の先頭3行を取り出す場合はこうなります。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(FILTER(A2:D6, C2:C6&gt;=400), 1, 2)</code></pre>



<p class="wp-block-paragraph">FILTER関数で売上400以上を抽出し、その結果の1行目と2行目を取り出します。条件抽出と行選択を1つの数式で完結できるのがメリットです。</p>



<p class="wp-block-paragraph">SORT関数で並べ替えた結果から上位だけ取り出す、といった使い方もできますよ。</p>



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



<p class="wp-block-paragraph">「行を取り出すなら<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>でもできるのでは？」と思った方もいるかもしれませんね。たしかに似ていますが、大きな違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>CHOOSEROWS関数</th><th>INDEX関数</th></tr></thead><tbody><tr><td>複数行の取り出し</td><td>できる（カンマで行番号を列挙）</td><td>基本は1行ずつ</td></tr><tr><td>負の数（末尾指定）</td><td>使える（-1で最終行）</td><td>使えない</td></tr><tr><td>行順序の入れ替え</td><td>できる（指定順で返す）</td><td>できない</td></tr><tr><td>対応バージョン</td><td>Microsoft 365 / Excel 2024</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>1行だけ取り出す・古いバージョンを使っている場合</strong>: INDEX関数が確実です</li><li><strong>複数行をまとめて取り出す・末尾から指定したい場合</strong>: CHOOSEROWS関数が便利です</li><li><strong>行と列を同時に絞り込みたい場合</strong>: INDEX関数か、CHOOSEROWSとCHOOSECOLSの組み合わせを使います</li></ul>



<p class="wp-block-paragraph">Microsoft 365やExcel 2024を使っているなら、複数行の抽出にはCHOOSEROWSのほうがシンプルに書けますよ。</p>



<h2 class="wp-block-heading"><span id="toc18">TAKE関数・DROP関数との使い分け</span></h2>



<p class="wp-block-paragraph">行を取り出す動的配列関数には、CHOOSEROWS以外にもTAKE関数とDROP関数があります。この3つは目的が少しずつ違うので、整理しておくと迷わなくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">TAKE関数：先頭・末尾から連続して取り出す</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-take/">TAKE関数</a>は、配列の<strong>先頭または末尾から連続した行</strong>を取り出す関数です。</p>



<pre class="wp-block-code"><code>=TAKE(A1:D6, 3)</code></pre>



<p class="wp-block-paragraph">これで先頭の3行（見出し・田中・鈴木）が返されます。行数に負の数を指定すると、末尾から取り出せます。</p>



<pre class="wp-block-code"><code>=TAKE(A1:D6, -2)</code></pre>



<p class="wp-block-paragraph">末尾の2行（山田・高橋）が返されますよ。「上から何件」「下から何件」を取り出すシンプルな場面で活躍します。</p>



<h3 class="wp-block-heading"><span id="toc20">DROP関数：不要な行を除いて残りを返す</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-drop/">DROP関数</a>は、TAKEとは逆に、<strong>先頭または末尾から指定した行を除外して残りを返す</strong>関数です。</p>



<pre class="wp-block-code"><code>=DROP(A1:D6, 1)</code></pre>



<p class="wp-block-paragraph">先頭1行（見出し行）を除いた、データ部分だけが返されます。見出しを取り除いて本体データだけを扱いたいときに便利ですね。</p>



<h3 class="wp-block-heading"><span id="toc21">3つの使い分け基準</span></h3>



<p class="wp-block-paragraph">同じ「行を取り出す」でも、考え方が次のように分かれます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>取り出し方</th><th>向いている場面</th></tr></thead><tbody><tr><td>TAKE</td><td>先頭/末尾から連続して取得</td><td>上位5件・直近3件など連続した範囲</td></tr><tr><td>DROP</td><td>先頭/末尾を除いて残りを取得</td><td>見出し行を除く・末尾の合計行を除く</td></tr><tr><td>CHOOSEROWS</td><td>バラバラの行を任意の順で取得</td><td>2行目と5行目だけ・順番を入れ替える</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">判断はシンプルです。<strong>連続する先頭・末尾ならTAKE</strong>、<strong>不要な行を除くならDROP</strong>、<strong>バラバラの行を選ぶならCHOOSEROWS</strong>と覚えておきましょう。目的に合った関数を選ぶと、数式がぐっと読みやすくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc22">CHOOSEROWSとCHOOSECOLSの違い</span></h2>



<h3 class="wp-block-heading"><span id="toc23">行と列の違い</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-choosecols/">CHOOSECOLS関数</a>はCHOOSEROWSの姉妹関数です。違いはシンプルで、<strong>取り出す方向</strong>が異なります。</p>



<ul class="wp-block-list"><li><strong>CHOOSEROWS</strong>: 指定した<strong>行</strong>を取り出す（横方向のデータ）</li><li><strong>CHOOSECOLS</strong>: 指定した<strong>列</strong>を取り出す（縦方向のデータ）</li></ul>



<p class="wp-block-paragraph">どちらも負の数が使える点や、複数指定・順序変更ができる点は共通しています。</p>



<h3 class="wp-block-heading"><span id="toc24">組み合わせて使う方法</span></h3>



<p class="wp-block-paragraph">CHOOSEROWSとCHOOSECOLSを組み合わせると、行と列の両方を絞り込めます。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(CHOOSECOLS(A1:D6, 1, 3), 2, 4)</code></pre>



<p class="wp-block-paragraph">この数式は以下の2ステップで動作します。</p>



<ol class="wp-block-list"><li>CHOOSECOLS(A1:D6, 1, 3) → A列（名前）とC列（売上）を取り出す</li><li>CHOOSEROWS(&#8230;, 2, 4) → その結果の2行目と4行目を取り出す</li></ol>



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



<figure class="wp-block-table"><table><thead><tr><th>田中</th><th>500</th></tr></thead><tbody><tr><td>山田</td><td>280</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">必要な行と列だけをピンポイントで取り出せます。大きな表から特定のデータだけを抜き出すときに便利ですよ。</p>



<p class="wp-block-paragraph">似た機能を持つ<a href="https://mashukabu.com/excel-function-howto-use-drop/">DROP関数</a>は「不要な行・列を除く」アプローチです。CHOOSEROWSは「必要な行を選ぶ」アプローチなので、目的に応じて使い分けてくださいね。</p>



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



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



<p class="wp-block-paragraph">CHOOSEROWS関数で最も発生しやすいエラーです。</p>



<p class="wp-block-paragraph"><strong>原因1: 行番号に0を指定している</strong></p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, 0)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">行番号は1以上、または-1以下で指定します。0は使えません。</p>



<p class="wp-block-paragraph"><strong>原因2: 配列の行数を超える番号を指定している</strong></p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A1:D6, 7)  → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">A1:D6は6行しかないため、7を指定するとエラーです。負の数も同様で、-7と指定してもエラーになります。配列の行数を確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc27">スピルエラー（#SPILL!）</span></h3>



<p class="wp-block-paragraph">CHOOSEROWS関数の結果が展開される先のセルに、すでにデータが入っているとスピルエラーになります。</p>



<p class="wp-block-paragraph">結果が展開される範囲のセルを空にすれば解消されますよ。</p>



<h2 class="wp-block-heading"><span id="toc28">よくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph">CHOOSEROWS関数について、よく寄せられる質問をまとめました。</p>



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



<p class="wp-block-paragraph">はい、使えます。Googleスプレッドシートでは2023年2月以降、CHOOSEROWS関数が同一の構文で利用できるようになりました。<code>=CHOOSEROWS(A1:D6, 2, 4)</code> のような書き方がそのまま通用しますよ。Excelで作った数式をスプレッドシートに持ち込んでも、ほぼそのまま動きます。</p>



<h3 class="wp-block-heading"><span id="toc30">Q2. SEQUENCEと組み合わせて偶数行・奇数行を抽出できますか？</span></h3>



<p class="wp-block-paragraph">はい、できます。<a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数</a>で行番号を動的に生成すれば、偶数行・奇数行をまとめて取り出せます。</p>



<p class="wp-block-paragraph">偶数行を取り出す場合はこうです。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A2:D20, SEQUENCE(ROWS(A2:D20)/2, 1, 2, 2))</code></pre>



<p class="wp-block-paragraph">奇数行を取り出す場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=CHOOSEROWS(A2:D20, SEQUENCE((ROWS(A2:D20)+1)/2, 1, 1, 2))</code></pre>



<p class="wp-block-paragraph">ROWS関数でデータの行数を取得しているので、行数が変わっても自動で対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc31">Q3. 行番号の指定は最大いくつですか？</span></h3>



<p class="wp-block-paragraph">最大253個まで指定できます。CHOOSEROWS関数の引数の上限は254個ですが、そのうち1つは対象となる配列が占めるため、実際に指定できる行番号は253個までという計算です。通常の業務でこの上限に達することはほとんどありませんが、覚えておくと安心ですね。</p>



<h3 class="wp-block-heading"><span id="toc32">Q4. TAKE/DROPと何が違いますか？</span></h3>



<p class="wp-block-paragraph">取り出し方の考え方が違います。<a href="https://mashukabu.com/excel-function-howto-use-take/">TAKE関数</a>は先頭または末尾から連続した行を取得し、<a href="https://mashukabu.com/excel-function-howto-use-drop/">DROP関数</a>は先頭または末尾の行を除外して残りを返します。これに対してCHOOSEROWSは、バラバラの行を任意の順番で取り出せるのが特徴です。詳しくは「TAKE関数・DROP関数との使い分け」の章で解説していますよ。</p>



<h3 class="wp-block-heading"><span id="toc33">Q5. 行番号に0を指定するとエラーになりますか？</span></h3>



<p class="wp-block-paragraph">はい、#VALUE!エラーになります。CHOOSEROWS関数の行番号は1以上、または-1以下で指定する必要があります。0は「先頭から0番目」という意味を持たないため、エラーとして扱われます。先頭行を取り出したいときは1を、末尾行を取り出したいときは-1を指定してくださいね。</p>



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



<p class="wp-block-paragraph">ExcelのCHOOSEROWS関数について解説しました。ポイントを整理しておきましょう。</p>



<ul class="wp-block-list"><li>CHOOSEROWS関数は、配列から指定した行を取り出す関数</li><li>構文は <code>=CHOOSEROWS(配列, 行番号1, [行番号2], ...)</code> で、行番号は複数指定できる</li><li>負の数を使うと末尾からカウントできる（-1で最終行）</li><li>行の順番を入れ替えて取り出すことも可能</li><li><a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数</a>と組み合わせると、逆順や偶数行の抽出もできる</li><li><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>は全バージョン対応だが、複数行の取り出しにはCHOOSEROWSが便利</li><li>連続行なら<a href="https://mashukabu.com/excel-function-howto-use-take/">TAKE関数</a>、不要行を除くなら<a href="https://mashukabu.com/excel-function-howto-use-drop/">DROP関数</a>、バラバラの行ならCHOOSEROWSと使い分ける</li><li><a href="https://mashukabu.com/excel-function-howto-use-choosecols/">CHOOSECOLS関数</a>と組み合わせれば、行と列の両方を自由に絞り込める</li></ul>



<p class="wp-block-paragraph">配列から必要なデータだけを取り出す場面で、ぜひ活用してみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc35">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-choosecols/">CHOOSECOLS関数の使い方</a> &#8211; 配列から指定した列を取り出す</li><li><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数の使い方</a> &#8211; 行と列を指定してデータを取り出す</li><li><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数の使い方</a> &#8211; 条件に合うデータを抽出する</li><li><a href="https://mashukabu.com/excel-function-howto-use-sort/">SORT関数の使い方</a> &#8211; データを並べ替える</li><li><a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数の使い方</a> &#8211; 連続する数値の配列を生成する</li><li><a href="https://mashukabu.com/excel-function-howto-use-take/">TAKE関数の使い方</a> &#8211; 配列の先頭や末尾から連続した行・列を取り出す</li><li><a href="https://mashukabu.com/excel-function-howto-use-drop/">DROP関数の使い方</a> &#8211; 配列の先頭や末尾の行・列を除く</li><li><a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数の使い方</a> &#8211; 配列を縦方向に結合する</li><li><a href="https://mashukabu.com/excel-function-howto-use-hstack/">HSTACK関数の使い方</a> &#8211; 配列を横方向に結合する</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-chooserows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
