<?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>SORT関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/sort%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 07:36:37 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>SORT関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのSORTBY関数の使い方｜別列基準で並び替え</title>
		<link>https://mashukabu.com/excel-function-howto-use-sortby/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-sortby/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 04:32:11 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[SORTBY関数]]></category>
		<category><![CDATA[SORT関数]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[並べ替え]]></category>
		<category><![CDATA[動的配列関数]]></category>
		<category><![CDATA[複数条件]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5768</guid>

					<description><![CDATA[ExcelのSORTBY関数の使い方を基本から応用まで解説。別の列を基準に並べ替える方法、複数キーの指定、SORT関数との違い、FILTER関数との組み合わせ、ふりがな順ソートまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelでデータを並べ替えるとき、「この列の値を基準にして並べ替えたいけど、表示するのは別の列も含めた全体」と思ったことはありませんか？</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-sort/">SORT関数</a>でも並べ替えはできます。でも基準を列番号で指定するので、列を挿入・削除すると番号がずれてしまうんですよね。</p>



<p class="wp-block-paragraph">SORTBY関数なら、基準にしたい列を範囲で直接指定できます。列の構成が変わっても数式が壊れにくく、複数キーでの並べ替えもかんたんです。この記事では、SORTBY関数の使い方を基本から応用まで解説します。</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">SORTBY関数とは？別列基準で並べ替える関数</a><ol><li><a href="#toc2" tabindex="0">SORTBY関数が使えるExcelのバージョン</a></li></ol></li><li><a href="#toc3" tabindex="0">SORTBY関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc6" tabindex="0">基本の使い方｜SORTBY関数で別の列を基準に並べ替える</a><ol><li><a href="#toc7" tabindex="0">売上金額の降順で並べ替える</a></li><li><a href="#toc8" tabindex="0">日付の昇順で並べ替える</a></li><li><a href="#toc9" tabindex="0">配列外の列を基準に並べ替える</a></li></ol></li><li><a href="#toc10" tabindex="0">複数キーで並べ替える｜基準と順序をペアで追加</a><ol><li><a href="#toc11" tabindex="0">部署→売上の2キー並べ替え</a></li><li><a href="#toc12" tabindex="0">3キー以上の並べ替え</a></li></ol></li><li><a href="#toc13" tabindex="0">SORT関数との違い｜どちらを使うべきか</a></li><li><a href="#toc14" tabindex="0">実務で使えるSORTBY応用パターン</a><ol><li><a href="#toc15" tabindex="0">FILTER関数と組み合わせる｜抽出＋並べ替えを一発で</a></li><li><a href="#toc16" tabindex="0">SORTBY＋PHONETIC関数で五十音順に並べ替える</a></li><li><a href="#toc17" tabindex="0">VSTACK＋SORTBYで複数シートを統合して並べ替え</a></li></ol></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">SORTBY関数とは？別列基準で並べ替える関数</span></h2>



<p class="wp-block-paragraph">SORTBY関数（読み方：ソートバイ）は、指定した基準列の値をもとにデータを並べ替える関数です。<br>英語の「sort by」は「〜を基準に並べ替える」という意味があります。</p>



<p class="wp-block-paragraph">SORT関数との最大の違いは、基準を「列番号」ではなく「列の範囲」で指定する点です。<br>さらに、基準と順序のペアを追加すれば、複数キーでの並べ替えもできます。</p>



<p class="wp-block-paragraph">たとえば「部署で並べて、同じ部署内では売上が高い順」のような複数条件の並べ替えが、1つの数式で完結しますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">SORTBY関数が使えるExcelのバージョン</span></h3>



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



<ul class="wp-block-list"><li>Microsoft 365（Windows / Mac）</li><li>Excel 2021</li><li>Excel 2024</li><li>Excel for the web</li></ul>



<p class="wp-block-paragraph">Excel 2019以前では使えません。<br>お使いのバージョンがわからない場合は、<a href="https://mashukabu.com/modern-excel-explanation/">モダンExcel解説</a>で確認してみてください。</p>



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



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



<pre class="wp-block-code"><code>=SORTBY(配列, 基準配列1, [並べ替え順序1], [基準配列2, 並べ替え順序2], ...)</code></pre>



<h3 class="wp-block-heading"><span id="toc5">引数の説明</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>並べ替え対象のセル範囲または配列</td><td>&#8211;</td></tr><tr><td>基準配列1</td><td>必須</td><td>並べ替えの基準にする列（1列または1行のみ）</td><td>&#8211;</td></tr><tr><td>並べ替え順序1</td><td>省略可</td><td>1 = 昇順 / -1 = 降順</td><td>1（昇順）</td></tr><tr><td>基準配列2以降</td><td>省略可</td><td>2番目以降の基準と順序のペア（最大126組）</td><td>&#8211;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">必須の引数は「配列」と「基準配列1」の2つです。<br>並べ替え順序を省略すると昇順（1）になります。</p>



<p class="wp-block-paragraph">ポイントは、基準配列に<strong>1列（または1行）のみ</strong>を指定することです。<br>複数列を基準配列に指定するとエラーになるので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc6">基本の使い方｜SORTBY関数で別の列を基準に並べ替える</span></h2>



<p class="wp-block-paragraph">ここから実際の数式を見ていきましょう。<br>以下の売上データ（A1:D8）を使って解説します。</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>480,000</td><td>2024/4/5</td></tr><tr><td>鈴木</td><td>総務部</td><td>320,000</td><td>2024/4/12</td></tr><tr><td>高橋</td><td>営業部</td><td>550,000</td><td>2024/4/3</td></tr><tr><td>田中</td><td>経理部</td><td>280,000</td><td>2024/4/18</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr><tr><td>渡辺</td><td>総務部</td><td>350,000</td><td>2024/4/15</td></tr><tr><td>山本</td><td>経理部</td><td>290,000</td><td>2024/4/22</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">売上金額の降順で並べ替える</span></h3>



<p class="wp-block-paragraph">売上金額が高い順に並べ替えてみます。<br>基準にしたいC列の範囲を直接指定します。</p>



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



<p class="wp-block-paragraph">第1引数がデータ全体（A2:D8）、第2引数が基準列（C2:C8）、第3引数が降順（-1）です。<br>結果は以下のとおりです。</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>550,000</td><td>2024/4/3</td></tr><tr><td>佐藤</td><td>営業部</td><td>480,000</td><td>2024/4/5</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr><tr><td>渡辺</td><td>総務部</td><td>350,000</td><td>2024/4/15</td></tr><tr><td>鈴木</td><td>総務部</td><td>320,000</td><td>2024/4/12</td></tr><tr><td>山本</td><td>経理部</td><td>290,000</td><td>2024/4/22</td></tr><tr><td>田中</td><td>経理部</td><td>280,000</td><td>2024/4/18</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-sort/">SORT関数</a>なら <code>=SORT(A2:D8, 3, -1)</code> と列番号で指定しますが、SORTBY関数は <code>C2:C8</code> と範囲で指定します。<br>列を挿入・削除しても範囲参照が自動調整されるので、数式が壊れにくいのがメリットです。</p>



<h3 class="wp-block-heading"><span id="toc8">日付の昇順で並べ替える</span></h3>



<p class="wp-block-paragraph">日付が古い順に並べ替える場合です。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, D2:D8, 1)</code></pre>



<p class="wp-block-paragraph">第3引数を <code>1</code>（昇順）にします。昇順は既定値なので <code>=SORTBY(A2:D8, D2:D8)</code> と省略してもOKです。</p>



<h3 class="wp-block-heading"><span id="toc9">配列外の列を基準に並べ替える</span></h3>



<p class="wp-block-paragraph">SORTBY関数の大きな特長は、表示するデータの範囲外にある列でも基準に使えることです。<br>たとえば、E列に「優先度」が入っている場合、A:D列のデータをE列基準で並べ替えられます。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, E2:E8, 1)</code></pre>



<p class="wp-block-paragraph">SORT関数ではこれができません。基準列が配列の中に含まれている必要があります。<br>表に表示したくない基準で並べ替えたいときは、SORTBY関数が便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc10">複数キーで並べ替える｜基準と順序をペアで追加</span></h2>



<p class="wp-block-paragraph">SORTBY関数の真骨頂は、複数の基準で並べ替えられることです。<br>基準配列と並べ替え順序のペアを追加するだけで、2段階・3段階の並べ替えが実現します。</p>



<h3 class="wp-block-heading"><span id="toc11">部署→売上の2キー並べ替え</span></h3>



<p class="wp-block-paragraph">部署を昇順で並べて、同じ部署内では売上金額を降順にします。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, B2:B8, 1, C2:C8, -1)</code></pre>



<p class="wp-block-paragraph">第2・3引数が1つ目の基準（部署昇順）、第4・5引数が2つ目の基準（売上降順）です。<br>結果は以下のとおりです。</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>550,000</td><td>2024/4/3</td></tr><tr><td>佐藤</td><td>営業部</td><td>480,000</td><td>2024/4/5</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr><tr><td>山本</td><td>経理部</td><td>290,000</td><td>2024/4/22</td></tr><tr><td>田中</td><td>経理部</td><td>280,000</td><td>2024/4/18</td></tr><tr><td>渡辺</td><td>総務部</td><td>350,000</td><td>2024/4/15</td></tr><tr><td>鈴木</td><td>総務部</td><td>320,000</td><td>2024/4/12</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">部署ごとにまとまり、各部署内では売上が高い順に並んでいますね。</p>



<h3 class="wp-block-heading"><span id="toc12">3キー以上の並べ替え</span></h3>



<p class="wp-block-paragraph">基準と順序のペアは最大126組まで追加できます。<br>たとえば「部署→日付→売上」の3段階で並べ替えるなら、以下のように書きます。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, B2:B8, 1, D2:D8, 1, C2:C8, -1)</code></pre>



<p class="wp-block-paragraph">ペアが増えるほど数式は長くなりますが、やっていることはシンプルです。<br>「基準列, 順序」の組を並べているだけですよ。</p>



<h2 class="wp-block-heading"><span id="toc13">SORT関数との違い｜どちらを使うべきか</span></h2>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-sort/">SORT関数</a>とSORTBY関数は、どちらもデータを並べ替える関数です。<br>用途に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SORT関数</th><th>SORTBY関数</th></tr></thead><tbody><tr><td>基準の指定方法</td><td>列番号（数値）</td><td>列範囲（直接指定）</td></tr><tr><td>複数基準</td><td>不可（1つだけ）</td><td>可（ペアで追加）</td></tr><tr><td>列の挿入・削除</td><td>番号がずれる</td><td>範囲参照なので壊れにくい</td></tr><tr><td>列方向ソート</td><td>TRUE指定で可能</td><td>不可（行方向のみ）</td></tr><tr><td>配列外の列を基準に</td><td>不可</td><td>可能</td></tr><tr><td>数式の簡潔さ</td><td>引数が少なくシンプル</td><td>基準列ごとに範囲指定が必要</td></tr></tbody></table></figure>



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



<ul class="wp-block-list"><li>基準が1つだけでシンプルな並べ替え</li><li>列方向（横方向）に並べ替えたい場合</li><li>配列の先頭列を基準にする場合（<code>=SORT(範囲)</code> だけで済む）</li></ul>



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



<ul class="wp-block-list"><li>複数基準で並べ替えたいとき</li><li>列の挿入・削除が頻繁にある表</li><li>表示範囲の外にある列を基準にしたいとき</li></ul>



<p class="wp-block-paragraph">迷ったらSORTBY関数を選んでおけば、あとから基準を追加しやすいですよ。</p>



<h2 class="wp-block-heading"><span id="toc14">実務で使えるSORTBY応用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc15">FILTER関数と組み合わせる｜抽出＋並べ替えを一発で</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>でデータを絞り込んでから、SORTBY関数で並べ替えるパターンです。</p>



<p class="wp-block-paragraph">営業部のデータだけを売上順に表示してみます。</p>



<pre class="wp-block-code"><code>=SORTBY(FILTER(A2:D8, B2:B8=&quot;営業部&quot;), FILTER(C2:C8, B2:B8=&quot;営業部&quot;), -1)</code></pre>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。<br>FILTER関数で営業部のデータを抽出し、基準列も同じ条件で抽出しています。<br>SORTBY関数は「配列」と「基準配列」の行数が一致する必要があるので、どちらもFILTERで絞るのがポイントです。</p>



<p class="wp-block-paragraph">結果は以下のとおりです。</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>550,000</td><td>2024/4/3</td></tr><tr><td>佐藤</td><td>営業部</td><td>480,000</td><td>2024/4/5</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>SORT関数でも <code>=SORT(FILTER(A2:D8, B2:B8="営業部"), 3, -1)</code> と書けます。基準が1つならこちらのほうがシンプルですよ。</strong></p></blockquote>



<h3 class="wp-block-heading"><span id="toc16">SORTBY＋PHONETIC関数で五十音順に並べ替える</span></h3>



<p class="wp-block-paragraph">SORTBY関数は漢字をUnicodeのコードポイント順で比較します。<br>つまり、日本語の名前を並べ替えても五十音順にはなりません。</p>



<p class="wp-block-paragraph">五十音順にするには、<a href="https://mashukabu.com/excel-function-howto-use-phonetic/">PHONETIC関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, PHONETIC(A2:A8), 1)</code></pre>



<p class="wp-block-paragraph">PHONETIC関数がセルのふりがな情報を取り出します。<br>SORTBY関数がそのふりがなを基準に昇順で並べ替えます。</p>



<p class="wp-block-paragraph">ただし、CSVから取り込んだデータやコピペしたデータにはふりがな情報がありません。<br>その場合は、対象セルを選択して <code>Shift + Alt + ↑</code> を押して手動でふりがなを設定してください。</p>



<h3 class="wp-block-heading"><span id="toc17">VSTACK＋SORTBYで複数シートを統合して並べ替え</span></h3>



<p class="wp-block-paragraph">月ごとにシートが分かれているデータを1つにまとめて並べ替えるパターンです。<br><a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数</a>でデータを縦に結合してからSORTBYで並べ替えます。</p>



<pre class="wp-block-code"><code>=SORTBY(VSTACK(Sheet1!A2:D8, Sheet2!A2:D8), VSTACK(Sheet1!C2:C8, Sheet2!C2:C8), -1)</code></pre>



<p class="wp-block-paragraph">VSTACK関数でデータ全体と基準列の両方を結合するのがポイントです。<br>複数シートのデータを手作業でコピペする必要がなくなりますよ。</p>



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



<p class="wp-block-paragraph">SORTBY関数で困ったときは、以下の表を確認してみてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#SPILL! エラー</td><td>スピル先のセルが空でない</td><td>展開先のセルを空にする。結合セルも解除する</td></tr><tr><td>#VALUE! エラー</td><td>基準配列が複数列になっている</td><td>基準配列は1列（または1行）のみに修正する</td></tr><tr><td>#VALUE! エラー</td><td>並べ替え順序が1/-1以外</td><td>並べ替え順序を1（昇順）か-1（降順）に修正する</td></tr><tr><td>#VALUE! エラー</td><td>配列と基準配列のサイズが不一致</td><td>配列の行数と基準配列の行数を揃える</td></tr><tr><td>#NAME? エラー</td><td>関数が使えないバージョン</td><td>Microsoft 365またはExcel 2021以降にアップデートする</td></tr><tr><td>並び順がおかしい</td><td>数値が文字列として格納されている</td><td><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で数値に変換してから並べ替える</td></tr><tr><td>日本語が五十音順にならない</td><td>ふりがな情報の不在</td><td>SORTBY＋PHONETIC関数を使う（上記参照）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>最も多いのは「配列と基準配列のサイズ不一致」によるエラーです。FILTER関数と組み合わせるときは、データ全体と基準列の両方に同じFILTER条件を適用してください。</strong></p></blockquote>



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



<p class="wp-block-paragraph">この記事では、ExcelのSORTBY関数の使い方を解説しました。<br>ポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>SORTBY関数は、基準にする列を<strong>範囲で直接指定</strong>して並べ替える関数</li><li>基準と順序のペアを追加すれば<strong>複数キー</strong>で並べ替えられる</li><li>配列の外にある列も基準に使える</li><li>列の挿入・削除に強く、数式が壊れにくい</li><li><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>と組み合わせると抽出＋並べ替えが一発</li><li>日本語の五十音順には<a href="https://mashukabu.com/excel-function-howto-use-phonetic/">PHONETIC関数</a>との組み合わせが必要</li><li>Microsoft 365 / Excel 2021以降で利用可能</li></ul>



<p class="wp-block-paragraph">基準が1つだけなら<a href="https://mashukabu.com/excel-function-howto-use-sort/">SORT関数</a>のほうがシンプルです。<br>でも複数条件で並べ替えたいなら、SORTBY関数を使ってください。<br>まずは「部署→売上」のような2キー並べ替えから試してみてくださいね。</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/excel-function-howto-use-sort/">SORT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-phonetic/">PHONETIC関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数の使い方</a></li><li><a href="https://mashukabu.com/modern-excel-explanation/">モダンExcel解説</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-sortby/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのSORTBY関数の使い方｜別列・別シート基準で並べ替えを自動化する完全ガイド</title>
		<link>https://mashukabu.com/spreadsheet-sortby-function/</link>
					<comments>https://mashukabu.com/spreadsheet-sortby-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:30:22 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[FILTER関数]]></category>
		<category><![CDATA[Sheets独自]]></category>
		<category><![CDATA[SORTBY関数]]></category>
		<category><![CDATA[SORT関数]]></category>
		<category><![CDATA[データ整理]]></category>
		<category><![CDATA[並べ替え]]></category>
		<category><![CDATA[配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4759</guid>

					<description><![CDATA[スプレッドシートのSORTBY関数の使い方を実務目線で解説。基本構文から複数条件の並べ替え、別シート基準、FILTERとの合わせ技、ランキング作成、計算結果での並べ替え、列追加に強い書き方、SORTとの違いまで完全網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「売上データを金額順に並べ替えたいけど、基準の列が表の外にある」「別シートにある評価点を基準に社員リストを並べたい」。こういう依頼、急に飛んでくると地味に困りますよね。普通のSORT関数だと、列番号がずれた瞬間に数式が壊れます。表の外の列は基準にできず、別シートにも対応できません。</p>



<p class="wp-block-paragraph">そこで頼りになるのが <strong>SORTBY関数</strong> です。基準列を「範囲」で直接指定するので、列が増減しても壊れにくく、表の外や別シートのデータも基準にできます。ピボットテーブルほど大げさな仕組みを作らなくても、関数1本でランキング表や条件付き並べ替えがサッと書けるのが強みです。</p>



<p class="wp-block-paragraph">この記事では、SORTBY関数の基本構文から、複数条件の並べ替え、SORT関数との違い、FILTERや計算結果との合わせ技、よくあるエラーまで実務パターンをまるごと紹介していきます。</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">スプレッドシートのSORTBY関数とは？基本構文と特徴</a><ol><li><a href="#toc2" tabindex="0">=SORTBY(範囲, 基準範囲1, 順序1, &#8230;) の引数</a></li><li><a href="#toc3" tabindex="0">SORTBY関数が解決する3つの困りごと</a></li></ol></li><li><a href="#toc4" tabindex="0">SORTBY関数の基本的な使い方（金額順・複数条件）</a><ol><li><a href="#toc5" tabindex="0">金額の大きい順に並べ替える</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">SORTBY関数とSORT関数の違い・使い分け</a></li><li><a href="#toc9" tabindex="0">実務で使えるSORTBY活用パターン5選</a><ol><li><a href="#toc10" tabindex="0">パターン1: 別シートの評価点で社員リストを並べ替える</a></li><li><a href="#toc11" tabindex="0">パターン2: FILTER+SORTBYで条件付き並べ替え（東京の売上ランキング）</a></li><li><a href="#toc12" tabindex="0">パターン3: 計算結果（数式の値）を基準に並べ替える</a></li><li><a href="#toc13" tabindex="0">パターン4: SORTBY+INDEXでランキング表の特定列だけ取り出す</a></li><li><a href="#toc14" tabindex="0">パターン5: 複数列のスコア合算で並べ替える（重み付けランキング）</a></li></ol></li><li><a href="#toc15" tabindex="0">SORTBY関数のよくあるエラーと対処法</a><ol><li><a href="#toc16" tabindex="0">#VALUE!エラー: 順序指定の混同</a></li><li><a href="#toc17" tabindex="0">#VALUE!エラー: 行数の不一致</a></li><li><a href="#toc18" tabindex="0">エラーを非表示にする</a></li></ol></li><li><a href="#toc19" tabindex="0">並べ替え機能（メニュー）とSORTBY関数の使い分け</a></li><li><a href="#toc20" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのSORTBY関数とは？基本構文と特徴</span></h2>



<p class="wp-block-paragraph">SORTBY関数（読み方：ソートバイ）は、<strong>指定した「基準範囲」の値で別の範囲を並べ替える</strong> 関数です。関数名は「SORT（並べ替え）+ BY（〜を基準に）」に由来します。</p>



<p class="wp-block-paragraph">SORT関数は「何列目を基準にするか」を番号で指定します。一方SORTBY関数は「この範囲の値で並べ替える」と、範囲そのものを直接渡すのが特徴です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SORTBY関数はGoogleスプレッドシート独自の関数です。Excel 365にも同名のSORTBY関数がありますが、引数の仕様が一部異なります。本記事はGoogleスプレッドシート版の挙動を解説しています。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">=SORTBY(範囲, 基準範囲1, 順序1, &#8230;) の引数</span></h3>



<pre class="wp-block-code"><code>=SORTBY(範囲, 並べ替え基準範囲1, 順序1, [並べ替え基準範囲2, 順序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>並べ替えたいデータ範囲（例: A2:D100）</td></tr><tr><td>並べ替え基準範囲1</td><td>必須</td><td>基準にする1列（または1行）の範囲（例: D2:D100）</td></tr><tr><td>順序1</td><td>任意</td><td>1 = 昇順 / -1 = 降順。省略すると昇順</td></tr><tr><td>並べ替え基準範囲2, 順序2</td><td>任意</td><td>第2基準以降。ペアで何度でも追加できる</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>SORT関数の順序指定は <code>TRUE</code>（昇順）/ <code>FALSE</code>（降順）ですが、SORTBY関数は <strong>1（昇順）/ -1（降順）</strong> です。ここは混同しやすいポイントなので、最初に押さえておいてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc3">SORTBY関数が解決する3つの困りごと</span></h3>



<p class="wp-block-paragraph">普通の並べ替え（メニューの「データ」→「範囲を並べ替え」やSORT関数）では、対応しづらい場面があります。そんなときも、SORTBY関数ならすっきり書けます。</p>



<ul class="wp-block-list"><li><strong>列の追加・削除に強い</strong>: 基準を範囲で指定するので、列番号がずれても壊れにくい</li><li><strong>表の外の列を基準にできる</strong>: 結果に表示しない列でも、並べ替えの基準にだけ使える</li><li><strong>別シートのデータも基準にできる</strong>: 「データはこのシート、評価は別シート」でもOK</li></ul>



<p class="wp-block-paragraph">このあと、それぞれのパターンを実例つきで見ていきます。</p>



<h2 class="wp-block-heading"><span id="toc4">SORTBY関数の基本的な使い方（金額順・複数条件）</span></h2>



<p class="wp-block-paragraph">この記事では、次の売上データを使って説明していきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（担当者）</th><th>B列（支店）</th><th>C列（商品）</th><th>D列（金額）</th></tr></thead><tbody><tr><td>2</td><td>田中</td><td>東京</td><td>ノートPC</td><td>150,000</td></tr><tr><td>3</td><td>佐藤</td><td>大阪</td><td>モニター</td><td>45,000</td></tr><tr><td>4</td><td>鈴木</td><td>東京</td><td>キーボード</td><td>8,000</td></tr><tr><td>5</td><td>高橋</td><td>名古屋</td><td>ノートPC</td><td>140,000</td></tr><tr><td>6</td><td>伊藤</td><td>大阪</td><td>マウス</td><td>3,000</td></tr><tr><td>7</td><td>山本</td><td>東京</td><td>モニター</td><td>45,000</td></tr><tr><td>8</td><td>中村</td><td>名古屋</td><td>ノートPC</td><td>150,000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">金額の大きい順に並べ替える</span></h3>



<p class="wp-block-paragraph">まずは一番シンプルな例から。金額が大きい順に全データを並べ替えてみましょう。空いているセル（たとえばF2）に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, D2:D8, -1)</code></pre>



<p class="wp-block-paragraph">各引数の意味はこうです。</p>



<ul class="wp-block-list"><li>A2:D8 … 並べ替えたいデータ範囲（A〜D列の全体）</li><li>D2:D8 … 基準にする列の範囲（金額列）</li><li>-1 … 降順（大きい順）</li></ul>



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



<figure class="wp-block-table"><table><thead><tr><th>F列</th><th>G列</th><th>H列</th><th>I列</th></tr></thead><tbody><tr><td>田中</td><td>東京</td><td>ノートPC</td><td>150,000</td></tr><tr><td>中村</td><td>名古屋</td><td>ノートPC</td><td>150,000</td></tr><tr><td>高橋</td><td>名古屋</td><td>ノートPC</td><td>140,000</td></tr><tr><td>佐藤</td><td>大阪</td><td>モニター</td><td>45,000</td></tr><tr><td>山本</td><td>東京</td><td>モニター</td><td>45,000</td></tr><tr><td>鈴木</td><td>東京</td><td>キーボード</td><td>8,000</td></tr><tr><td>伊藤</td><td>大阪</td><td>マウス</td><td>3,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">金額の大きい順に7件すべてが並びました。SORT関数で同じ結果を得るなら <code>=SORT(A2:D8, 4, FALSE)</code> です。SORTBY関数は「D2:D8」と範囲で直接指定するので、列の位置が変わっても壊れにくいのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc6">複数条件で並べ替える（支店→金額）</span></h3>



<p class="wp-block-paragraph">SORTBY関数は、基準と順序のペアを追加するだけで複数条件の並べ替えに対応できます。「支店の昇順 → 同じ支店内は金額の降順」で並べ替えるなら、こうです。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, B2:B8, 1, D2:D8, -1)</code></pre>



<ul class="wp-block-list"><li>B2:B8, 1 … 支店列を昇順（第1基準）</li><li>D2:D8, -1 … 金額列を降順（第2基準）</li></ul>



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



<figure class="wp-block-table"><table><thead><tr><th>F列</th><th>G列</th><th>H列</th><th>I列</th></tr></thead><tbody><tr><td>佐藤</td><td>大阪</td><td>モニター</td><td>45,000</td></tr><tr><td>伊藤</td><td>大阪</td><td>マウス</td><td>3,000</td></tr><tr><td>中村</td><td>名古屋</td><td>ノートPC</td><td>150,000</td></tr><tr><td>高橋</td><td>名古屋</td><td>ノートPC</td><td>140,000</td></tr><tr><td>田中</td><td>東京</td><td>ノートPC</td><td>150,000</td></tr><tr><td>山本</td><td>東京</td><td>モニター</td><td>45,000</td></tr><tr><td>鈴木</td><td>東京</td><td>キーボード</td><td>8,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">まず支店名のあいうえお順（大阪→名古屋→東京）に並び、同じ支店のなかでは金額の大きい順に揃いました。基準と順序のペアは3つ・4つと増やせるので、第3キー・第4キーまで指定する複雑な並べ替えにも対応できます。</p>



<h3 class="wp-block-heading"><span id="toc7">範囲指定の注意点（基準範囲は1列限定）</span></h3>



<p class="wp-block-paragraph">ここでひとつ注意点があります。並べ替え基準範囲は <strong>1列（または1行）のみ</strong> です。たとえば <code>=SORTBY(A2:D8, B2:D8, 1)</code> のように複数列をまとめて基準にしようとすると <code>#VALUE!</code> エラーになります。複数列を基準にしたい場合は、基準と順序のペアで分けて書いてください。</p>



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



<p class="wp-block-paragraph">SORTBY関数とSORT関数はどちらも並べ替えの関数ですが、仕組みも得意分野も違います。比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SORT関数</th><th>SORTBY関数</th></tr></thead><tbody><tr><td>基準の指定方法</td><td>列番号（1, 2, 3&#8230;）</td><td>列の範囲（D2:D100）</td></tr><tr><td>順序の指定方法</td><td>TRUE / FALSE</td><td>1 / -1</td></tr><tr><td>列の追加・削除に強いか</td><td>弱い（列番号がずれる）</td><td>強い（範囲で直接指定）</td></tr><tr><td>表の外の列を基準にできるか</td><td>できない</td><td><strong>できる</strong></td></tr><tr><td>別シートの列を基準にできるか</td><td>できない</td><td><strong>できる</strong></td></tr><tr><td>数式の書きやすさ</td><td>短くてシンプル</td><td>やや長いが基準が明示的</td></tr><tr><td>複数条件</td><td>できる</td><td>できる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ざっくり言うと、SORT関数は「短く書けるけどメンテに弱い」。SORTBY関数は「長くなるけど壊れにくい」、というトレードオフです。</p>



<p class="wp-block-paragraph"><strong>迷ったらSORTBY関数を使っておけば安心です。</strong> 列構成の変更に強いので、長期間使い続ける数式や、他の人が触る可能性のあるシートではSORTBY関数のほうが安全です。一時的なソートで列構成も固定なら、SORT関数の短さに利があります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>並べ替え系3関数（SORT・SORTN・SORTBY）の全体像は <a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT・SORTN・SORTBYの比較記事</a> で整理しています。上位N件だけ取り出したいときは <a href="https://mashukabu.com/spreadsheet-sortn-function/">SORTN関数の記事</a> もあわせてご覧ください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc9">実務で使えるSORTBY活用パターン5選</span></h2>



<p class="wp-block-paragraph">ここからは、現場でそのまま使える応用パターンを5つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン1: 別シートの評価点で社員リストを並べ替える</span></h3>



<p class="wp-block-paragraph">SORTBY関数の最大の強みは、<strong>基準列がデータ範囲の外にあっても使える</strong> ことです。たとえば「社員一覧」シートのA2:C10に社員データが、「評価」シートのB2:B10に評価点が入っているとします。評価点の高い順に社員を並べ替えるなら、こう書きます。</p>



<pre class="wp-block-code"><code>=SORTBY('社員一覧'!A2:C10, '評価'!B2:B10, -1)</code></pre>



<p class="wp-block-paragraph">SORT関数では「列番号」しか指定できないので、表の外にある列は基準にできません。SORTBY関数なら別シートの値でも自由に基準として使えます。マスタと評価表を分けて管理しているケースでとても便利です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>別シート参照では、シート名を <code>'シート名'!</code> の形でくくります。シート名に空白や記号が含まれない場合はクォートを省略できますが、つけておくと安全です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">パターン2: FILTER+SORTBYで条件付き並べ替え（東京の売上ランキング）</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>と組み合わせると、条件で絞り込んだうえで並べ替えができます。「東京支店のデータだけを金額順に表示する」場合はこうです。</p>



<pre class="wp-block-code"><code>=SORTBY(FILTER(A2:D8, B2:B8=&quot;東京&quot;), FILTER(D2:D8, B2:B8=&quot;東京&quot;), -1)</code></pre>



<p class="wp-block-paragraph">ポイントは、基準範囲にも同じFILTER条件を適用すること。SORTBY関数は「範囲」と「基準範囲」の行数が一致している必要があります。FILTER後のデータと基準を同じ条件で絞り込めば、行数がそろいます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>SORT関数なら <code>=SORT(FILTER(A2:D8, B2:B8="東京"), 4, FALSE)</code> と短く書けます。FILTER結果の中の列番号で基準を指定できるからです。「結果の表示列がそのまま基準になる」場面ではSORTのほうが楽な場合もあります。表の外を基準にしたいならSORTBY、というふうに使い分けてください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc12">パターン3: 計算結果（数式の値）を基準に並べ替える</span></h3>



<p class="wp-block-paragraph">SORTBY関数の基準範囲には、数式の計算結果もそのまま渡せます。「文字数の少ない順に商品名を並べる」場合はこうです。</p>



<pre class="wp-block-code"><code>=SORTBY(C2:C8, LEN(C2:C8), 1)</code></pre>



<p class="wp-block-paragraph">LEN関数（文字数を返す関数）で各商品名の文字数を計算し、その結果を基準にして昇順で並べ替えています。シート上に補助列を作らなくても並べ替えられるのが、SORTBY関数の柔軟なところです。</p>



<p class="wp-block-paragraph">応用例として、「合計金額の大きい順に商品を並べる」なら、SUMIF関数（条件に合うセルを合計する関数）を基準にできます。</p>



<pre class="wp-block-code"><code>=SORTBY(UNIQUE(C2:C8), SUMIF(C2:C8, UNIQUE(C2:C8), D2:D8), -1)</code></pre>



<p class="wp-block-paragraph">UNIQUE関数（重複を除いて一覧化する関数）で商品の一覧を作り、各商品の合計金額で降順に並べる、という流れです。商品数が多くてもピボットを作らずに集計＋並べ替えができますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン4: SORTBY+INDEXでランキング表の特定列だけ取り出す</span></h3>



<p class="wp-block-paragraph">並べ替えた結果から特定の列だけを取り出したい場合は、INDEX関数（範囲から指定位置の値を返す関数）と組み合わせます。「金額順に並べ替えた結果から担当者名だけを取り出す」例です。</p>



<pre class="wp-block-code"><code>=INDEX(SORTBY(A2:D8, D2:D8, -1), , 1)</code></pre>



<p class="wp-block-paragraph">SORTBY関数で金額の降順に並べ替えた結果の <strong>1列目（担当者名）だけ</strong> を返します。「ランキング1〜3位の名前だけ表示したい」「ダッシュボードに上位だけ見せたい」というときに便利です。</p>



<p class="wp-block-paragraph">特定の行範囲だけ欲しいなら、ARRAYFORMULA＋配列で上位3名に絞ることもできます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(INDEX(SORTBY(A2:D8, D2:D8, -1), {1;2;3}, 1))</code></pre>



<p class="wp-block-paragraph"><code>{1;2;3}</code> で1〜3行目だけを抽出しています。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: 複数列のスコア合算で並べ替える（重み付けランキング）</span></h3>



<p class="wp-block-paragraph">「品質点と速度点の合計で並べ替える」のような重み付けランキングも、SORTBY関数なら一発です。各社員の品質点（B列）と速度点（C列）を 7:3 で加重平均して並べ替える例です。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:C10, B2:B10*0.7 + C2:C10*0.3, -1)</code></pre>



<p class="wp-block-paragraph">基準範囲のところで直接演算ができるので、補助列を作らずに重み付けスコアで並べ替えられます。評価制度の試算や、複数指標を組み合わせた優先順位付けに重宝しますよ。</p>



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



<p class="wp-block-paragraph">SORTBY関数で出やすいエラーを表にまとめました。原因と対処法をセットで覚えておくと、つまずいてもサッと直せますよ。</p>



<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>#VALUE!</code></td><td>順序に1・-1以外の値（TRUE/FALSE等）を指定</td><td>1（昇順）または-1（降順）にする</td></tr><tr><td><code>#VALUE!</code></td><td>範囲と基準範囲の行数が一致していない</td><td>行数をそろえる（特にFILTER組み合わせ時に注意）</td></tr><tr><td><code>#VALUE!</code></td><td>基準範囲が複数列になっている</td><td>基準範囲は1列（または1行）のみに</td></tr><tr><td><code>#N/A</code></td><td>範囲が空（データがない）</td><td>IFERRORでエラー時のメッセージを設定</td></tr><tr><td>結果が並ばない</td><td>基準範囲の値が文字列と数値で混在</td><td>データ型を統一する（VALUE関数で数値化）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">#VALUE!エラー: 順序指定の混同</span></h3>



<p class="wp-block-paragraph">特に多いのが、SORT関数のクセが残って <code>TRUE/FALSE</code> を書いてしまうパターンです。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, D2:D8, FALSE)   → #VALUE!エラー
=SORTBY(A2:D8, D2:D8, -1)      → 正しい</code></pre>



<p class="wp-block-paragraph">SORT関数は <code>TRUE</code>（昇順）/ <code>FALSE</code>（降順）、SORTBY関数は <code>1</code>（昇順）/ <code>-1</code>（降順）です。脳内で「SORTBYは1か−1」とセットで覚えるとミスが減ります。</p>



<h3 class="wp-block-heading"><span id="toc17">#VALUE!エラー: 行数の不一致</span></h3>



<p class="wp-block-paragraph">FILTERと組み合わせるときに起きがちなパターンです。</p>



<pre class="wp-block-code"><code>=SORTBY(FILTER(A2:D8, B2:B8=&quot;東京&quot;), D2:D8, -1)   → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">範囲はFILTERで3行に絞られているのに、基準範囲は元の7行のまま。これだと行数が合わないのでエラーになります。基準範囲にも同じFILTERを適用してください。</p>



<pre class="wp-block-code"><code>=SORTBY(FILTER(A2:D8, B2:B8=&quot;東京&quot;), FILTER(D2:D8, B2:B8=&quot;東京&quot;), -1)</code></pre>



<h3 class="wp-block-heading"><span id="toc18">エラーを非表示にする</span></h3>



<p class="wp-block-paragraph">数式が空セルを参照しているときの <code>#N/A</code> を消したいケースもあります。そんなときは IFERROR関数（エラー時に代替値を返す関数）で囲みます。</p>



<pre class="wp-block-code"><code>=IFERROR(SORTBY(A2:D8, D2:D8, -1), &quot;データがありません&quot;)</code></pre>



<p class="wp-block-paragraph">ダッシュボードのように見栄えを整えたいシートでは、これだけで印象がぐっと変わります。</p>



<h2 class="wp-block-heading"><span id="toc19">並べ替え機能（メニュー）とSORTBY関数の使い分け</span></h2>



<p class="wp-block-paragraph">「メニューの『データ』→『範囲を並べ替え』があるのに、わざわざ関数を使う必要ある？」と感じる方もいるかもしれません。実は両方で得意分野が違います。</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>SORTBY関数</td></tr><tr><td>データ追加で自動更新したい（動的なランキング表）</td><td>SORTBY関数</td></tr><tr><td>別シートのデータを基準にしたい</td><td>SORTBY関数</td></tr><tr><td>ダッシュボードに組み込みたい</td><td>SORTBY関数</td></tr><tr><td>データ件数が万件超で計算が重い</td><td>メニュー機能（または値貼り付け）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">メニュー機能は手軽ですが、データを書き換えてしまうので元の順番に戻すのが面倒です。SORTBY関数は元データを保ったまま並べ替え結果を別の場所に表示できるので、ダッシュボードや帳票で大活躍します。両方使えるようになると、用途で自然に選べるようになり、作業がぐっと速くなりますよ。</p>



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



<p class="wp-block-paragraph">SORTBY関数は、基準を「範囲」で直接指定して並べ替える関数です。SORT関数より少し長くなりますが、列の追加・削除に強く、表の外や別シートの列も基準にできるのが大きな強みです。</p>



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



<ul class="wp-block-list"><li><strong>基本構文</strong>: <code>=SORTBY(範囲, 基準範囲1, 順序1, ...)</code>。順序は1（昇順）/ -1（降順）</li><li><strong>複数条件</strong>: 基準と順序のペアを追加するだけでOK</li><li><strong>別シート基準</strong>: 表の外や別シートの値でも基準にできる</li><li><strong>FILTER+SORTBY</strong>: 条件付き並べ替え。基準範囲にも同じFILTERを忘れずに</li><li><strong>計算結果で並べ替え</strong>: LEN・SUMIF・加重スコアなど、その場で計算した値で並べ替え可能</li><li><strong>INDEX+SORTBY</strong>: 並べ替え結果から特定列だけ取り出す</li><li><strong>エラー対策</strong>: 順序は1/-1、行数は範囲と基準でそろえる、基準範囲は1列のみ</li></ul>



<p class="wp-block-paragraph">まずは「金額順に並べ替える」一番シンプルなパターンから試してみてください。一度作れば、データを追加するだけで並べ替え結果が自動更新されます。手作業のソート作業がなくなって、毎日の集計がラクになりますよ。</p>



<p class="wp-block-paragraph">並べ替え系の関数全体は <a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT・SORTN・SORTBYの比較記事</a> で整理しています。上位N件だけ取り出したいときは <a href="https://mashukabu.com/spreadsheet-sortn-function/">SORTN関数</a> もあわせてチェックしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-sortby-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのFILTER関数の使い方｜条件抽出を自動化する実務7パターン</title>
		<link>https://mashukabu.com/spreadsheet-filter-function/</link>
					<comments>https://mashukabu.com/spreadsheet-filter-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 16 Mar 2026 14:29:59 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[FILTER関数]]></category>
		<category><![CDATA[QUERY関数]]></category>
		<category><![CDATA[SORT関数]]></category>
		<category><![CDATA[UNIQUE関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データ抽出]]></category>
		<category><![CDATA[動的レポート]]></category>
		<category><![CDATA[条件抽出]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3920</guid>

					<description><![CDATA[GoogleスプレッドシートのFILTER関数の使い方を基本から解説。AND/ORの複数条件の指定方法、SORT・UNIQUE・COUNTIFとの組み合わせ、プルダウン連動の動的レポート、Excel版との違い、QUERY・ARRAYFORMULAとの使い分けまで、実務でそのまま使えるサンプル付きで紹介します。`#N/A` や `#REF!` などのエラー対処、表記揺れで0行になる場合のデバッグ手順もまとめています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「売上データから東京支店だけ抜き出したい」「今月の受注だけ別シートに一覧化したい」。事務の現場でよくある作業ですよね。</p>



<p class="wp-block-paragraph">メニューの <strong>フィルター機能</strong> で手動で絞り込む方法もあります。ただ、条件が変わるたびにポチポチ操作するのは面倒ですし、元データに手を加えると共有メンバーに迷惑がかかることもあります。</p>



<p class="wp-block-paragraph">そんなときに使いたいのが <strong>FILTER関数</strong> です。元データはそのままに、条件に一致する行だけを別のセル範囲に自動で吐き出してくれます。プルダウンと組み合わせれば、選んだ条件で表示が切り替わる「動的レポート」もコードなしで作れますよ。</p>



<p class="wp-block-paragraph">この記事ではFILTER関数の基本構文から、AND/ORの複数条件、プルダウン連動・期間絞り込み・SORTやUNIQUEとの組み合わせなど、実務でそのまま使える7パターンを紹介します。<code>#N/A</code> や <code>#REF!</code> などのエラー対処、Excel版との違い、<a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a>・<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>との使い分けまで整理しますよ。</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">スプレッドシートのFILTER関数とは？条件に合う行をまるごと取り出す関数</a><ol><li><a href="#toc2" tabindex="0">FILTER関数で何ができる？</a></li><li><a href="#toc3" tabindex="0">メニューの「フィルター機能」との違い</a></li></ol></li><li><a href="#toc4" tabindex="0">FILTER関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">FILTER関数の動作イメージ早見表</a></li></ol></li><li><a href="#toc8" tabindex="0">FILTER関数の基本的な使い方</a></li><li><a href="#toc9" tabindex="0">FILTER関数で複数条件を指定する（AND・OR）</a><ol><li><a href="#toc10" tabindex="0">AND条件（すべて満たす）</a></li><li><a href="#toc11" tabindex="0">OR条件（いずれかを満たす）</a></li><li><a href="#toc12" tabindex="0">AND/OR を組み合わせる</a></li></ol></li><li><a href="#toc13" tabindex="0">FILTER関数の実務テンプレ7パターン</a><ol><li><a href="#toc14" tabindex="0">パターン1: プルダウン連動の動的レポート</a></li><li><a href="#toc15" tabindex="0">パターン2: 期間で絞り込む（今月・先月・直近30日）</a></li><li><a href="#toc16" tabindex="0">パターン3: FILTER + SORT で抽出結果を並べ替え</a></li><li><a href="#toc17" tabindex="0">パターン4: 特定の列だけを取り出す（配列リテラル / CHOOSECOLS）</a></li><li><a href="#toc18" tabindex="0">パターン5: FILTER + UNIQUE で重複を除く</a></li><li><a href="#toc19" tabindex="0">パターン6: FILTER + COUNTA / SUM で集計</a></li><li><a href="#toc20" tabindex="0">パターン7: 条件セルが空のとき全件表示</a></li></ol></li><li><a href="#toc21" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">データがあるのに0行になるケース（デバッグ手順）</a></li></ol></li><li><a href="#toc23" tabindex="0">FILTERとQUERY・ARRAYFORMULAの違い・使い分け</a><ol><li><a href="#toc24" tabindex="0">FILTER と QUERY の選び分けフロー</a></li><li><a href="#toc25" tabindex="0">FILTER と XLOOKUP・XMATCH の違い</a></li><li><a href="#toc26" tabindex="0">Excel版FILTERとの違い</a></li></ol></li><li><a href="#toc27" tabindex="0">まとめ</a><ol><li><a href="#toc28" tabindex="0">この記事を書いた人</a></li><li><a href="#toc29" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのFILTER関数とは？条件に合う行をまるごと取り出す関数</span></h2>



<p class="wp-block-paragraph">FILTER関数（読み方: フィルター関数）は、<strong>指定した範囲の中から条件に一致する行（または列）だけを抜き出して別の場所に出力する関数</strong>です。関数名は英語の「filter（ろ過する・選別する）」に由来していて、データの中から必要なものだけをすくい上げるイメージで覚えると分かりやすいですね。</p>



<p class="wp-block-paragraph">たとえば社員リストから「営業部の人だけ」を抜き出したり、売上表から「100万円以上の案件だけ」を取り出したりできます。元のデータには触れずに別シートへレポートを自動生成できるので、共有ファイルで安全に使えるのも嬉しいポイントです。</p>



<h3 class="wp-block-heading"><span id="toc2">FILTER関数で何ができる？</span></h3>



<p class="wp-block-paragraph">FILTER関数が活躍するのは、おもに次のような場面です。</p>



<ul class="wp-block-list"><li>売上一覧から <strong>特定の支店・部署・担当者だけ</strong> を取り出したいとき</li><li>受注台帳から <strong>「今月」「今週」など期間で絞った行だけ</strong> を別シートに展開したいとき</li><li>申請一覧から <strong>ステータスが「承認待ち」の行だけ</strong> をダッシュボードに表示したいとき</li><li>プルダウンと連動させて <strong>選んだ条件で表示が切り替わる動的レポート</strong> を作りたいとき</li><li>元データを壊さずに、<strong>別シートで集計用の中間テーブル</strong> を作りたいとき</li></ul>



<p class="wp-block-paragraph">NOTE: FILTER関数はGoogleスプレッドシートの全バージョンで使えます。Excelでも Microsoft 365 / Excel 2021 以降で対応していますが、引数の仕様が一部異なります（後述の「Excel版との違い」を参照）。古いExcel（2019以前）と互換性が必要なファイルでは使えないので、その場合はオートフィルターやIF＋配列数式で代用してください。</p>



<h3 class="wp-block-heading"><span id="toc3">メニューの「フィルター機能」との違い</span></h3>



<p class="wp-block-paragraph">スプレッドシートにはメニュー > データ > 「フィルタを作成」というUI操作のフィルター機能もありますが、関数版とは性格が大きく異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>FILTER関数</th><th>フィルター機能（UI）</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>他人の表示に影響しない</td><td>フィルタ表示モードを使わないと他人の表示まで変わる</td></tr><tr><td>レポート自動化</td><td>得意（数式で完結）</td><td>不向き（手動操作前提）</td></tr><tr><td>抽出結果の再利用</td><td>そのまま参照・集計可能</td><td>コピペが必要</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ざっくり言うと、<strong>一度きりの確認ならUI、繰り返し見るレポートなら関数</strong>と覚えておくと使い分けがラクです。</p>



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



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



<pre class="wp-block-code"><code>=FILTER(範囲, 条件1, [条件2, ...])</code></pre>



<p class="wp-block-paragraph">最初に抽出したい「範囲」を指定し、その後にTRUE / FALSEを返す「条件」を1つ以上書きます。条件を複数並べるとすべてAND条件として適用されます。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>範囲</td><td>必須</td><td>抽出対象のデータ範囲（例: <code>A2:D100</code>）。1列だけでも複数列でもOK</td></tr><tr><td>条件1</td><td>必須</td><td>TRUE / FALSEを返す配列の条件式（例: <code>B2:B100="東京"</code>）。範囲の行数と一致させる</td></tr><tr><td>条件2, &#8230;</td><td>任意</td><td>追加の条件。複数指定するとすべてAND条件で適用される</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは <strong>条件式が「TRUE / FALSEの配列」を返す</strong> という点です。たとえば <code>B2:B6="東京"</code> と書くと、B2〜B6の各セルが「東京」かどうかを判定し、<code>{TRUE; FALSE; TRUE; FALSE; FALSE}</code> のような配列が作られます。FILTER関数はこの配列を受け取り、TRUEの行だけを抜き出す仕組みです。</p>



<p class="wp-block-paragraph">TIP: 条件式の範囲の行数は、必ず第1引数の範囲と揃えてください。<code>A2:D6</code>（5行）に対して条件を <code>B2:B100</code>（99行）にすると <code>#VALUE!</code> エラーになります。後述の「よくあるエラーと対処法」で詳しく説明します。</p>



<h3 class="wp-block-heading"><span id="toc7">FILTER関数の動作イメージ早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>数式の例</th><th>やりたいこと</th><th>戻り値</th></tr></thead><tbody><tr><td><code>=FILTER(A2:D6, B2:B6="東京")</code></td><td>B列が「東京」の行を全列抽出</td><td>東京の全行</td></tr><tr><td><code>=FILTER(A2:A6, B2:B6="東京")</code></td><td>B列が「東京」の行のうちA列だけ抽出</td><td>東京の日付列のみ</td></tr><tr><td><code>=FILTER(A2:D6, B2:B6="東京", D2:D6>=10000)</code></td><td>東京かつ金額1万以上をAND抽出</td><td>該当行のみ</td></tr><tr><td><code>=FILTER(A2:D6, (B2:B6="東京")+(B2:B6="大阪"))</code></td><td>東京または大阪をOR抽出</td><td>該当行のみ</td></tr><tr><td><code>=IFERROR(FILTER(A2:D6, B2:B6="福岡"), "該当なし")</code></td><td>該当なしのときメッセージ表示</td><td>&#8220;該当なし&#8221;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">これだけ覚えれば実務の8割はカバーできます。あとは応用例で組み合わせのバリエーションを増やしていきましょう。</p>



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



<p class="wp-block-paragraph">ここからは、次のような売上データを使って実例で説明します。</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"><strong>やりたいこと</strong>: B列が「東京」の行だけを抽出する。</p>



<p class="wp-block-paragraph">空いているセル（たとえばF2）に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=FILTER(A2:D6, B2:B6=&quot;東京&quot;)</code></pre>



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



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/03_result_filter-basic.png" alt="03 result filter basic" /></figure>



<p class="wp-block-paragraph">B列が「東京」の行だけが自動で出力されました。元のデータはまったく変わりません。条件に合う行が <strong>まるごとコピーされる</strong> のがFILTER関数の特徴です。VLOOKUPが「1つの値を返す」のと対照的に、FILTERは「行全体」を返します。</p>



<p class="wp-block-paragraph">TIP: FILTER関数の結果は複数行に <strong>自動で展開（スピル）</strong> されます。出力先のセルに他のデータがあると <code>#REF!</code> エラーになるので、下方向・右方向に十分な空きスペースを確保しておいてください。誰かが下のセルに値を入力すると関数全体がエラーになるので、共有ファイルでは出力先に色を付けておくと事故防止になります。</p>



<h2 class="wp-block-heading"><span id="toc9">FILTER関数で複数条件を指定する（AND・OR）</span></h2>



<p class="wp-block-paragraph">FILTER関数では、複数の条件を組み合わせて絞り込めます。書き方はAND条件とOR条件で異なるので、ここで一気に押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">AND条件（すべて満たす）</span></h3>



<p class="wp-block-paragraph">AND条件は、条件を引数として <strong>カンマで区切る</strong> か、<code>*</code>（掛け算）演算子で結合します。</p>



<pre class="wp-block-code"><code>=FILTER(A2:D6, B2:B6=&quot;東京&quot;, D2:D6&gt;=10000)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/04_result_filter-and.png" alt="04 result filter and" /></figure>



<p class="wp-block-paragraph">この数式は「支店が東京」<strong>かつ</strong>「金額が10,000円以上」の行を返します。</p>



<p class="wp-block-paragraph"><code>*</code> 演算子を使う書き方もあります。結果はまったく同じです。</p>



<pre class="wp-block-code"><code>=FILTER(A2:D6, (B2:B6=&quot;東京&quot;)*(D2:D6&gt;=10000))</code></pre>



<p class="wp-block-paragraph">カンマ区切りのほうが読みやすいので普段はそちらで十分ですが、後述のOR条件と混在させたいときには <code>*</code> の書き方が必要になります。</p>



<h3 class="wp-block-heading"><span id="toc11">OR条件（いずれかを満たす）</span></h3>



<p class="wp-block-paragraph">OR条件は <code>+</code>（足し算）演算子で条件をつなぎます。カンマ区切りはOR条件としては使えないので注意してください。</p>



<pre class="wp-block-code"><code>=FILTER(A2:D6, (B2:B6=&quot;東京&quot;)+(B2:B6=&quot;大阪&quot;))</code></pre>



<p class="wp-block-paragraph">この数式は「支店が東京」<strong>または</strong>「支店が大阪」の行を返します。</p>



<p class="wp-block-paragraph">NOTE: <code>*</code> と <code>+</code> が使える理由は、条件式が TRUE=1 / FALSE=0 の数値配列として扱われるためです。掛け算は「両方1のときだけ1」=AND、足し算は「どちらかが1以上なら1以上」=OR の動きになります。OR条件で同じ行が両方に該当することは原理的にないので、足し算の結果が2以上になる心配はありません。</p>



<h3 class="wp-block-heading"><span id="toc12">AND/OR を組み合わせる</span></h3>



<p class="wp-block-paragraph">ANDとORを混在させたい場合は、OR条件のかたまりを <code>()</code> で囲んでから <code>*</code> で他の条件と結合します。</p>



<pre class="wp-block-code"><code>=FILTER(A2:D6, ((B2:B6=&quot;東京&quot;)+(B2:B6=&quot;大阪&quot;))*(D2:D6&gt;=10000))</code></pre>



<p class="wp-block-paragraph">「東京または大阪」<strong>かつ</strong>「金額10,000円以上」の行が返ります。括弧の付け方を間違えると意図しない結果になりやすいので、複雑な条件は <strong>OR部分を先に書く</strong> と整理しやすいです。</p>



<p class="wp-block-paragraph">TIP: 条件が3つ以上になる場合は、いったん別のセルに <code>=B2:B6="東京"</code> のような中間配列を出してみると、TRUE/FALSEの並びを目で確認できてデバッグがラクになります。中間配列がそろったところでFILTER関数に組み込み直すのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc13">FILTER関数の実務テンプレ7パターン</span></h2>



<p class="wp-block-paragraph">ここからは、実務でよく出てくる7パターンを順に紹介します。コピペして使えるサンプル数式付きなので、自分のシートに合わせて範囲だけ書き換えてください。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン1: プルダウン連動の動的レポート</span></h3>



<p class="wp-block-paragraph">プルダウンと組み合わせると、選択した条件のデータだけを動的に抽出できます。月次レポートやダッシュボードでよく使う構成です。</p>



<p class="wp-block-paragraph">たとえば、F1セルにプルダウンで支店名を選べるようにしておき、F3セルに次の数式を入力します。</p>



<pre class="wp-block-code"><code>=FILTER(A2:D6, B2:B6=F1)</code></pre>



<p class="wp-block-paragraph">F1で「大阪」を選べば大阪のデータだけが、「名古屋」を選べば名古屋のデータだけが表示されます。条件セルを切り替えるだけで結果が自動で変わるので、毎月の支店別チェックがワンクリックで終わります。</p>



<p class="wp-block-paragraph">プルダウン自体の作り方は <a href="https://mashukabu.com/spreadsheet-pulldown/">スプレッドシートのプルダウン作り方｜色付け・連動まで解説</a> を参考にしてください。「全件表示」もしたい場合は、後述のパターン7「条件セルが空のとき全件表示」を組み合わせると便利です。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン2: 期間で絞り込む（今月・先月・直近30日）</span></h3>



<p class="wp-block-paragraph">日付列がある場合、特定の期間だけを抽出できます。月次レポートの定番パターンです。</p>



<p class="wp-block-paragraph">たとえば「2026年3月のデータだけ」を取り出したい場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=FILTER(A2:E100, E2:E100&gt;=DATE(2026,3,1), E2:E100&lt;=DATE(2026,3,31))</code></pre>



<p class="wp-block-paragraph">DATE関数で開始日と終了日を指定し、2つの条件をカンマで区切ります。AND条件で「3月1日以降 かつ 3月31日以前」になるので、3月中のデータだけが抽出されます。</p>



<p class="wp-block-paragraph">「今月」や「直近30日」を自動で取りたい場合は TODAY関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=FILTER(A2:E100, E2:E100&gt;=EOMONTH(TODAY(),-1)+1, E2:E100&lt;=EOMONTH(TODAY(),0))</code></pre>



<p class="wp-block-paragraph"><code>EOMONTH(TODAY(),-1)+1</code> は「今月の1日」、<code>EOMONTH(TODAY(),0)</code> は「今月末」を意味します。これでシートを開くたびに今月分が自動で表示されるレポートが完成します。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン3: FILTER + SORT で抽出結果を並べ替え</span></h3>



<p class="wp-block-paragraph">FILTERで抽出した結果を金額順や日付順に並べ替えたいときは、<a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a> で囲みます。</p>



<pre class="wp-block-code"><code>=SORT(FILTER(A2:D6, B2:B6=&quot;東京&quot;), 4, FALSE)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/05_result_filter-sort.png" alt="05 result filter sort" /></figure>



<p class="wp-block-paragraph">SORT関数の第2引数 <code>4</code> は「4列目（金額）で並べ替え」、第3引数 <code>FALSE</code> は「降順」を意味します。これで東京支店のデータを金額が大きい順に表示できます。</p>



<p class="wp-block-paragraph">TIP: SORT関数の列番号は <strong>FILTER結果の中での列番号</strong> です。元データのシート上の列番号ではないので、列を絞って抽出している場合はFILTER結果側で数え直してください。<code>=SORT(FILTER(A2:A6, B2:B6="東京"), 1, TRUE)</code> のように、抽出が1列だけなら列番号は必ず1になります。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン4: 特定の列だけを取り出す（配列リテラル / CHOOSECOLS）</span></h3>



<p class="wp-block-paragraph">FILTER結果から一部の列だけ取り出したい場合は、配列リテラル <code>{}</code> で列を指定します。</p>



<pre class="wp-block-code"><code>={FILTER(A2:A6, B2:B6=&quot;東京&quot;), FILTER(D2:D6, B2:B6=&quot;東京&quot;)}</code></pre>



<p class="wp-block-paragraph">A列（日付）とD列（金額）だけが抽出されます。レポートに見せたい項目を絞れるので、社外共有用の表を作るときに便利です。</p>



<p class="wp-block-paragraph">5列以上の元データから3〜4列だけ抜き出したい場合は、CHOOSECOLS関数と組み合わせる書き方もあります。</p>



<pre class="wp-block-code"><code>=CHOOSECOLS(FILTER(A2:E100, B2:B100=&quot;東京&quot;), 1, 2, 5)</code></pre>



<p class="wp-block-paragraph">これでFILTER結果の1・2・5列目だけが残ります。配列リテラルの書き方より見通しがよく、列番号を変えるだけで取り出す列を調整できるのが利点です。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン5: FILTER + UNIQUE で重複を除く</span></h3>



<p class="wp-block-paragraph">FILTERで抽出した結果に重複がある場合、UNIQUE関数で囲むとユニーク値だけを残せます。</p>



<pre class="wp-block-code"><code>=UNIQUE(FILTER(B2:C100, D2:D100&gt;=10000))</code></pre>



<p class="wp-block-paragraph">たとえば「金額1万円以上の案件に登場した支店・担当者の組み合わせ」だけを一覧化したいときに使えます。生データから関係者リストを作るような場面で重宝します。</p>



<p class="wp-block-paragraph">担当者だけのユニーク一覧が欲しい場合は、列を1つに絞ってからUNIQUEにかけます。</p>



<pre class="wp-block-code"><code>=UNIQUE(FILTER(C2:C100, D2:D100&gt;=10000))</code></pre>



<h3 class="wp-block-heading"><span id="toc19">パターン6: FILTER + COUNTA / SUM で集計</span></h3>



<p class="wp-block-paragraph">FILTER単体では合計や件数を出せませんが、COUNTAやSUM系の関数で囲めば簡単に集計できます。</p>



<pre class="wp-block-code"><code>=COUNTA(FILTER(A2:A6, B2:B6=&quot;東京&quot;))</code></pre>



<p class="wp-block-paragraph">これで「東京支店のデータ件数」が出ます。同じ要領で合計も書けます。</p>



<pre class="wp-block-code"><code>=SUM(FILTER(D2:D6, B2:B6=&quot;東京&quot;))</code></pre>



<p class="wp-block-paragraph">「東京支店の金額合計」が一発で出ます。SUMIFやCOUNTIFと違って、条件式を <code>*</code> / <code>+</code> で自由に組み合わせられるのがFILTERを噛ませる利点です。ただし純粋に1条件の合計だけならSUMIFのほうがシンプルなので、用途に応じて使い分けてください。</p>



<h3 class="wp-block-heading"><span id="toc20">パターン7: 条件セルが空のとき全件表示</span></h3>



<p class="wp-block-paragraph">プルダウン連動レポートで「条件を選んでいないときは全件表示したい」というニーズはよくあります。IF関数と組み合わせて条件を切り替えると実現できます。</p>



<pre class="wp-block-code"><code>=IF(F1=&quot;&quot;, A2:D6, FILTER(A2:D6, B2:B6=F1))</code></pre>



<p class="wp-block-paragraph">F1が空のときはA2:D6をそのまま表示し、F1に値があるときだけFILTERで絞り込みます。プルダウンの選択肢に「（すべて）」を入れておき、その項目を選んだら全件表示する設計にすると、利用者の操作感がぐっと良くなりますよ。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー / 症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#N/A</code></td><td>条件に一致するデータがない</td><td><code>=IFERROR(FILTER(...), "該当データなし")</code> で空結果時のメッセージを設定</td></tr><tr><td><code>#REF!</code></td><td>出力先のセルに既にデータがある（スピル先がふさがっている）</td><td>出力先の下方向・右方向を空けるか、出力位置を変更する</td></tr><tr><td><code>#VALUE!</code></td><td>条件式の範囲サイズが元データと合っていない</td><td>範囲の行数を揃える（例: <code>A2:D100</code> と <code>B2:B100</code>）</td></tr><tr><td><code>#NAME?</code></td><td>関数名のタイポ（<code>FILTR</code> 等）</td><td>スペルを確認する</td></tr><tr><td><code>#ERROR!</code></td><td>引数の区切り（カンマ）の前後に不要な文字が混入</td><td>全角カンマや余分なスペースを削除</td></tr><tr><td>結果が0行になる</td><td>条件の文字列に全角/半角・スペースの違いがある</td><td>TRIM関数（前後空白除去）やASC関数（半角化）でデータを統一する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に注意したいのが <code>#N/A</code> エラーです。ExcelのFILTER関数には第3引数（該当なしの場合に返す値）がありますが、<strong>スプレッドシートのFILTER関数にはこの引数がありません</strong>。IFERRORで囲むのが定番の対処法です。</p>



<pre class="wp-block-code"><code>=IFERROR(FILTER(A2:D6, B2:B6=&quot;福岡&quot;), &quot;該当データなし&quot;)</code></pre>



<p class="wp-block-paragraph">TIP: <code>#VALUE!</code> エラーは範囲サイズの不一致が原因です。<code>A2:D6</code>（5行）に対して条件を <code>B2:B100</code>（99行）のように行数が違う範囲にすると発生します。データ件数が増減する可能性がある場合は、両方とも <code>A2:D</code> のように <strong>列まるごと指定</strong> にしておくと不一致が起きにくくなります。</p>



<h3 class="wp-block-heading"><span id="toc22">データがあるのに0行になるケース（デバッグ手順）</span></h3>



<p class="wp-block-paragraph">条件は正しそうなのに結果が表示されないときは、データの表記揺れが原因のことがほとんどです。代表的な揺れと対処は次の3つです。</p>



<ul class="wp-block-list"><li><strong>全角と半角</strong>: 「東京」と「東京」（全角半角混在）は別文字として扱われる</li><li><strong>前後のスペース</strong>: 「東京 」（末尾に空白）と「東京」は別扱い</li><li><strong>大文字小文字</strong>: アルファベットは区別される（例: &#8220;ABC&#8221; と &#8220;abc&#8221;）</li></ul>



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



<ol class="wp-block-list"><li>別のセルに <code>=B2=F1</code> のように <strong>単純な等号比較</strong> を書いて、TRUE / FALSEを目視確認する</li><li>FALSEが返るセルがあれば、その値を <code>=LEN(B2)</code> と <code>=LEN(F1)</code> で文字数比較する</li><li>文字数が違えばスペース混入、同じなら全角半角混在を疑う</li><li>元データを <code>=TRIM(ASC(B2))</code> で整形した補助列を作り、その補助列を条件範囲に指定する</li></ol>



<p class="wp-block-paragraph">この4ステップで、ほぼすべての「0行になる問題」は解決できます。共有ファイルでは入力規則やプルダウンを使って <strong>そもそも揺れさせない</strong> 設計にしておくと、後々のトラブルが激減します。</p>



<h2 class="wp-block-heading"><span id="toc23">FILTERとQUERY・ARRAYFORMULAの違い・使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートには、FILTER以外にもデータを操作する強力な関数があります。それぞれ得意分野が異なるので、用途に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>FILTER関数</th><th>QUERY関数</th><th>ARRAYFORMULA</th></tr></thead><tbody><tr><td>主な用途</td><td>条件に一致する行の抽出</td><td>抽出+集計+並べ替えを一括</td><td>既存の関数を全行に一括適用</td></tr><tr><td>構文の難易度</td><td>やさしい</td><td>やや難（SQL風の構文）</td><td>関数による</td></tr><tr><td>複数条件</td><td><code>*</code> / <code>+</code> 演算子で対応</td><td>WHERE句に条件を列挙</td><td>関数内でIF等を組み合わせ</td></tr><tr><td>集計（合計・平均）</td><td>単体では不可。SUMと組み合わせる</td><td>SELECT句でSUM/AVGが使える</td><td>SUM等を配列で適用</td></tr><tr><td>グループ化（部署別合計など）</td><td>不可</td><td>GROUP BY で対応</td><td>不可（ピボットテーブル推奨）</td></tr><tr><td>並べ替え</td><td>SORT関数で囲む</td><td>ORDER BY で対応</td><td>SORT関数で囲む</td></tr><tr><td>結果の見出し列</td><td>付かない</td><td>LABEL句で付けられる</td><td>付かない</td></tr><tr><td>向いている場面</td><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> → FILTER関数がシンプルで最適</li><li><strong>「集計やグループ化もしたい」</strong> → QUERY関数が強力</li><li><strong>「全行に同じ計算をかけたい」</strong> → ARRAYFORMULAの出番</li></ul>



<h3 class="wp-block-heading"><span id="toc24">FILTER と QUERY の選び分けフロー</span></h3>



<p class="wp-block-paragraph">どちらを使うか迷ったら、次の順番で判断するとブレません。</p>



<ol class="wp-block-list"><li><strong>集計が必要か？</strong> → 必要なら QUERY（SELECT句でSUM/AVG/COUNTが書ける）</li><li><strong>グループ化が必要か？</strong> → 必要なら QUERY（GROUP BYで部署別集計などが可能）</li><li><strong>見出し列も自動で付けたい？</strong> → 必要なら QUERY（LABEL句で列名を整えられる）</li><li><strong>並べ替えも一緒にしたい？</strong> → どちらでも対応可能。シンプルさ重視ならFILTER+SORT</li><li><strong>上記すべてNOで、条件で行を絞り込むだけ？</strong> → FILTER が一番読みやすく保守もしやすい</li></ol>



<p class="wp-block-paragraph">迷ったらまずFILTER関数を試してみてください。シンプルな条件抽出ならFILTERが圧倒的にわかりやすく、後から条件を増減するメンテナンスもラクです。</p>



<h3 class="wp-block-heading"><span id="toc25">FILTER と XLOOKUP・XMATCH の違い</span></h3>



<p class="wp-block-paragraph">検索系の新関数との違いも気になるかもしれません。</p>



<ul class="wp-block-list"><li><strong>XLOOKUP</strong>: 1つの値を検索して <strong>対応する1行（または1列）だけ</strong> を返す</li><li><strong>XMATCH</strong>: 1つの値が <strong>何行目（何番目）にあるか</strong> を返す</li><li><strong>FILTER</strong>: 条件に一致する <strong>すべての行</strong> を返す</li></ul>



<p class="wp-block-paragraph">「商品コードから商品名を引きたい」ような1対1の検索はXLOOKUPの出番です。「東京支店の全データを出したい」ような複数行抽出はFILTERの得意分野です。検索値の位置だけ知りたいならXMATCHを使います。</p>



<p class="wp-block-paragraph">XLOOKUP・XMATCHの詳しい使い方は <a href="https://mashukabu.com/spreadsheet-xlookup/">スプレッドシートのXLOOKUP関数の使い方</a> と <a href="https://mashukabu.com/spreadsheet-xmatch-function/">スプレッドシートのXMATCH関数の使い方</a> もあわせてご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc26">Excel版FILTERとの違い</span></h3>



<p class="wp-block-paragraph">Excel（Microsoft 365 / Excel 2021以降）にもFILTER関数がありますが、引数仕様が少し異なります。スプレッドシートとファイル連携する場合は要注意です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>スプレッドシート版</th><th>Excel版</th></tr></thead><tbody><tr><td>引数の数</td><td>2〜（範囲 + 条件×複数）</td><td>3（範囲 + 条件 + 該当なし時の値）</td></tr><tr><td>該当なしの返し方</td><td>IFERROR で囲む</td><td>第3引数で指定可能</td></tr><tr><td>複数条件のAND</td><td>カンマ区切り または <code>*</code></td><td><code>*</code> のみ</td></tr><tr><td>複数条件のOR</td><td><code>+</code></td><td><code>+</code></td></tr><tr><td>列方向の抽出</td><td>可能（条件式の方向で決まる）</td><td>可能（条件式の方向で決まる）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スプレッドシートで作ったブックをExcelで開くと、複数条件をカンマ区切りで書いた数式は <strong>動作しません</strong>。Excelと共有する可能性がある場合は、最初から <code>*</code> で書いておくと安全です。</p>



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



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



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=FILTER(範囲, 条件)</code> で条件に一致する行を自動抽出</li><li><strong>AND条件</strong>: カンマ区切りまたは <code>*</code> 演算子</li><li><strong>OR条件</strong>: <code>+</code> 演算子で条件をつなぐ</li><li><strong>実務テンプレ</strong>: プルダウン連動 / 期間絞り込み / SORT連携 / 列抽出 / UNIQUE / 集計 / 全件切替</li><li><strong>空結果対策</strong>: <code>=IFERROR(FILTER(...), "メッセージ")</code> で <code>#N/A</code> を回避</li><li><strong>デバッグ</strong>: 0行になるときは等号比較 → LEN比較 → TRIM/ASC整形の4ステップ</li><li><strong>使い分け</strong>: シンプルな抽出はFILTER、集計込みならQUERY、全行計算ならARRAYFORMULA</li></ul>



<p class="wp-block-paragraph">FILTER関数は一度覚えてしまえば本当に使い勝手のいい関数です。まずは自分の手元のデータに <code>=FILTER(A2:D, B2:B="東京")</code> のような数式を当ててみてください。元データを壊さずに「欲しい行だけ」を取り出せる安心感を、ぜひ体感してもらえたら嬉しいです。</p>



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



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



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT・SORTN・SORTBY関数の使い方｜データを自動で並べ替える</a></li><li><a href="https://mashukabu.com/spreadsheet-xlookup/">スプレッドシートのXLOOKUP関数の使い方｜VLOOKUPとの違いも解説</a></li><li><a href="https://mashukabu.com/spreadsheet-xmatch-function/">スプレッドシートのXMATCH関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-switch-function/">スプレッドシートのSWITCH関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-pulldown/">スプレッドシートのプルダウン作り方｜色付け・連動まで解説</a></li><li><a href="https://mashukabu.com/spreadsheet-query-function/">スプレッドシートのQUERY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULAの使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-gemini-ai-function/">スプレッドシートでGemini（AI関数）を使う方法</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-filter-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのHSTACK関数の使い方｜複数の表を横に結合する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-hstack/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-hstack/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 10 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[FILTER関数]]></category>
		<category><![CDATA[HSTACK関数]]></category>
		<category><![CDATA[SORT関数]]></category>
		<category><![CDATA[VSTACK関数]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[動的配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2826</guid>

					<description><![CDATA[ExcelのHSTACK関数の使い方を実例付きで解説。複数の表を横方向に結合する基本操作から、FILTER・SORTとの組み合わせ、エラー対処法まで初心者にもわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">部署ごとの売上データに、別の表から「評価」や「前年比」の列を追加したいこと、ありませんか？<br>いちいちコピペで列を挿入していると、貼り付け位置がズレたり、行の順番が狂ったり。</p>



<p class="wp-block-paragraph">手作業での横方向の結合って、意外とミスが出やすいですよね。</p>



<p class="wp-block-paragraph">ExcelのHSTACK関数を使えば、複数の表を横方向にピタッと結合できます。<br>数式ひとつで列を追加できるので、手作業の心配がなくなりますよ。</p>



<p class="wp-block-paragraph">この記事では、HSTACK関数の基本から実践的な使い方まで、わかりやすく解説します。</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のHSTACK関数とは？複数の表を横方向に結合する関数</a></li><li><a href="#toc2" tabindex="0">HSTACK関数の基本的な書き方（構文・引数）</a><ol><li><a href="#toc3" tabindex="0">引数：配列（array）の指定方法</a></li><li><a href="#toc4" tabindex="0">戻り値：スピル（動的配列）で結果が展開される</a></li></ol></li><li><a href="#toc5" tabindex="0">HSTACK関数の使い方を実例で解説</a><ol><li><a href="#toc6" tabindex="0">基本：2つの表を横に結合する</a></li><li><a href="#toc7" tabindex="0">3つ以上の表をまとめて結合する</a></li><li><a href="#toc8" tabindex="0">行数が異なる表を結合するとどうなる？（#N/Aエラー対策）</a></li></ol></li><li><a href="#toc9" tabindex="0">HSTACK関数とVSTACK関数の違い</a></li><li><a href="#toc10" tabindex="0">HSTACK関数×他の関数の組み合わせテクニック</a><ol><li><a href="#toc11" tabindex="0">FILTER関数と組み合わせて結合後に絞り込む</a></li><li><a href="#toc12" tabindex="0">SORT関数と組み合わせて結合後に並べ替える</a></li></ol></li><li><a href="#toc13" tabindex="0">HSTACK関数でよくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#SPILL!エラー：結果の出力先がふさがっている</a></li><li><a href="#toc15" tabindex="0">#NAME?エラー：対応バージョンの確認</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのHSTACK関数とは？複数の表を横方向に結合する関数</span></h2>



<p class="wp-block-paragraph">HSTACK関数は、複数の表（配列）を<strong>横方向に結合</strong>する関数です。<br>読み方は「エイチスタック」。<br>「H」はHorizontal（水平）、「STACK」は積み重ねるという意味です。</p>



<p class="wp-block-paragraph">たとえば、社員名簿の右側に評価テーブルを結合するイメージです。<br>左の表の右隣に、別の表がスッとくっつく感じですね。</p>



<p class="wp-block-paragraph">これまではコピー＆ペーストで列を追加していた作業が、数式1つで完了します。<br>しかも元データが更新されると、結合結果も自動で更新されますよ。</p>



<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>Microsoft 365</td><td>対応</td></tr><tr><td>Excel 2024</td><td>対応</td></tr><tr><td>Excel 2021以前</td><td>非対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">お使いのバージョンが対応しているか、あらかじめ確認しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">HSTACK関数の基本的な書き方（構文・引数）</span></h2>



<p class="wp-block-paragraph">HSTACK関数の構文はとてもシンプルです。</p>



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



<p class="wp-block-paragraph">結合したい表を、カンマ区切りで順番に指定するだけです。<br>引数は最大254個まで指定できます。</p>



<h3 class="wp-block-heading"><span id="toc3">引数：配列（array）の指定方法</span></h3>



<p class="wp-block-paragraph">引数に指定できるものは以下の3パターンです。</p>



<ul class="wp-block-list"><li><strong>セル範囲</strong>: <code>A2:B10</code> のような通常の範囲指定</li><li><strong>別シートの範囲</strong>: <code>評価!A2:B10</code> のようにシート名付きで指定</li><li><strong>配列定数</strong>: <code>{1;2;3}</code> のような直接入力の配列</li></ul>



<p class="wp-block-paragraph">実務では、セル範囲や別シートの範囲を使うことがほとんどです。<br>別シートに評価データや属性データがある場合は、シート名を付けて指定しましょう。</p>



<h3 class="wp-block-heading"><span id="toc4">戻り値：スピル（動的配列）で結果が展開される</span></h3>



<p class="wp-block-paragraph">HSTACK関数の結果は<strong>スピル</strong>で展開されます。</p>



<p class="wp-block-paragraph">スピルとは、1つのセルに数式を入力するだけで、結果が隣接セルに自動展開される仕組みです。<br>数式を入力するのは先頭の1セルだけでOK。<br>残りのセルには自動で値が表示されます。</p>



<p class="wp-block-paragraph">スピル範囲のセルを選択すると、青い枠線が表示されます。<br>この枠線がスピルの目印ですよ。</p>



<h2 class="wp-block-heading"><span id="toc5">HSTACK関数の使い方を実例で解説</span></h2>



<p class="wp-block-paragraph">ここからは、社員データを使って具体的な使い方を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">基本：2つの表を横に結合する</span></h3>



<p class="wp-block-paragraph">社員名簿と評価テーブルを横に結合してみます。</p>



<p class="wp-block-paragraph"><strong>サンプルデータ</strong></p>



<p class="wp-block-paragraph">社員名簿（A2:C5）:</p>



<figure class="wp-block-table"><table><thead><tr><th>社員ID</th><th>氏名</th><th>部署</th></tr></thead><tbody><tr><td>001</td><td>佐藤</td><td>営業</td></tr><tr><td>002</td><td>田中</td><td>経理</td></tr><tr><td>003</td><td>鈴木</td><td>総務</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">評価テーブル（E2:F5）:</p>



<figure class="wp-block-table"><table><thead><tr><th>評価</th><th>前年比</th></tr></thead><tbody><tr><td>A</td><td>120%</td></tr><tr><td>B</td><td>95%</td></tr><tr><td>A</td><td>110%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>数式</strong></p>



<pre class="wp-block-code"><code>=HSTACK(A2:C5, E2:F5)</code></pre>



<p class="wp-block-paragraph">これだけで、2つの表が横にきれいに結合されます。<br>ヘッダー行を除いたデータ部分だけを指定するのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc7">3つ以上の表をまとめて結合する</span></h3>



<p class="wp-block-paragraph">結合する表が3つ以上ある場合も、引数を追加するだけです。</p>



<pre class="wp-block-code"><code>=HSTACK(A2:C5, E2:F5, H2:H5)</code></pre>



<p class="wp-block-paragraph">社員名簿・評価テーブル・備考列の3つを一気に結合できます。<br>引数はカンマで区切って、どんどん追加してください。</p>



<p class="wp-block-paragraph">データソースが増えても数式に追加するだけなので、管理がラクですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">行数が異なる表を結合するとどうなる？（#N/Aエラー対策）</span></h3>



<p class="wp-block-paragraph">結合する表の行数が異なる場合、少し注意が必要です。<br>HSTACK関数は、不足する行を<strong>#N/Aエラー</strong>で自動的に埋めます。</p>



<p class="wp-block-paragraph">たとえば、4行の表と6行の表を結合すると、4行の表側の5〜6行目に#N/Aが入ります。</p>



<p class="wp-block-paragraph">この#N/Aを消したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲みましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(HSTACK(A2:C5, E2:F7), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">これで、#N/Aの部分が空白に置き換わります。<br>行数が異なる表を扱うときは、セットで覚えておいてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc9">HSTACK関数とVSTACK関数の違い</span></h2>



<p class="wp-block-paragraph">HSTACK関数とよく比較されるのが<a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数</a>です。<br>どちらも表を結合する関数ですが、方向が違います。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>HSTACK</th><th>VSTACK</th></tr></thead><tbody><tr><td>結合方向</td><td>横（右に並べる）</td><td>縦（下に積み重ねる）</td></tr><tr><td>語源</td><td>Horizontal Stack</td><td>Vertical Stack</td></tr><tr><td>主な用途</td><td>項目（列）を横に追加する</td><td>月別・支店別の表を1つにまとめる</td></tr><tr><td>行数・列数の不一致時</td><td>不足行を#N/Aで埋める</td><td>不足列を#N/Aで埋める</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けはシンプルです。</p>



<ul class="wp-block-list"><li><strong>列（項目）を増やしたい</strong> → HSTACK</li><li><strong>行（データ件数）を増やしたい</strong> → VSTACK</li></ul>



<p class="wp-block-paragraph">たとえば「社員名簿に評価列を追加したい」ならHSTACKです。<br>「月ごとの売上データをまとめたい」ならVSTACKを使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc10">HSTACK関数×他の関数の組み合わせテクニック</span></h2>



<p class="wp-block-paragraph">HSTACK関数は、他の関数と組み合わせると真価を発揮します。<br>ここでは実務で特に便利な2パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">FILTER関数と組み合わせて結合後に絞り込む</span></h3>



<p class="wp-block-paragraph">複数の表を結合した後、条件に合うデータだけ抽出したいことがありますよね。<br>そんなときは<a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>と組み合わせましょう。</p>



<p class="wp-block-paragraph">たとえば、社員名簿と評価を結合した後、評価が「A」の社員だけ抽出する場合です。</p>



<pre class="wp-block-code"><code>=FILTER(HSTACK(A2:C5, E2:F5), E2:E5=&quot;A&quot;)</code></pre>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。<br>HSTACKで結合した表に対して、FILTERで条件を指定しているだけですよ。</p>



<p class="wp-block-paragraph">FILTER関数の条件には、元のセル範囲を指定するのがコツです。<br>結合後の配列ではなく、元の評価列（E2:E5）で絞り込みましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">SORT関数と組み合わせて結合後に並べ替える</span></h3>



<p class="wp-block-paragraph">結合したデータを特定の列で並べ替えたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-sort/">SORT関数</a>が便利です。</p>



<p class="wp-block-paragraph">前年比（5列目）の降順で並べ替えるには、次のように書きます。</p>



<pre class="wp-block-code"><code>=SORT(HSTACK(A2:C5, E2:F5), 5, -1)</code></pre>



<p class="wp-block-paragraph">第2引数の <code>5</code> は並べ替えの基準列（前年比列）です。<br>第3引数の <code>-1</code> は降順を意味します。</p>



<p class="wp-block-paragraph">結合と並べ替えが1つの数式で完結するので、作業効率がグッと上がります。<br>ぜひ試してみてください。</p>



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



<p class="wp-block-paragraph">HSTACK関数を使っていると、エラーに遭遇することがあります。<br>代表的な2つのエラーと対処法を押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">#SPILL!エラー：結果の出力先がふさがっている</span></h3>



<p class="wp-block-paragraph">#SPILL!エラーは、スピルの展開先に問題がある場合に発生します。<br>主な原因は次の4つです。</p>



<ul class="wp-block-list"><li><strong>スピル先のセルにデータがある</strong>: 空のセルを確保する</li><li><strong>結合セルがある</strong>: スピル範囲内の結合を解除する</li><li><strong>テーブル内で使用している</strong>: テーブル外のセルに数式を入力する</li><li><strong>シートの端を超える</strong>: 出力先の位置を左に移動する</li></ul>



<p class="wp-block-paragraph">最も多いのは、スピル先にデータが残っているケースです。<br>数式を入力するセルの右側に、十分な空きスペースを確保してください。</p>



<p class="wp-block-paragraph">エラー値の詳しい解説は<a href="https://mashukabu.com/excel-error-value-list/">Excelエラー値一覧</a>もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc15">#NAME?エラー：対応バージョンの確認</span></h3>



<p class="wp-block-paragraph">#NAME?エラーが出る場合は、バージョンを確認しましょう。<br>HSTACK関数はMicrosoft 365またはExcel 2024でのみ使えます。</p>



<p class="wp-block-paragraph">Excel 2021以前では関数名が認識されず、#NAME?エラーになります。</p>



<p class="wp-block-paragraph">バージョンの確認方法は、<strong>ファイル → アカウント</strong>の画面です。<br>「Microsoft 365」または「Excel 2024」と表示されていれば対応していますよ。</p>



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



<p class="wp-block-paragraph">HSTACK関数は、複数の表を横方向に結合する関数です。<br>この記事のポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=HSTACK(配列1, [配列2], ...)</code> で簡単に結合できる</li><li><strong>スピル</strong>: 数式は1セルに入力するだけで結果が自動展開される</li><li><strong>行数不一致</strong>: #N/Aで埋まるので、IFERRORで空白に置換する</li><li><strong>VSTACK関数との違い</strong>: HSTACKは横、VSTACKは縦に結合する</li><li><strong>組み合わせ</strong>: FILTER関数やSORT関数と使えば、結合＋加工が1つの数式で完結する</li><li><strong>対応バージョン</strong>: Microsoft 365またはExcel 2024が必要</li></ul>



<p class="wp-block-paragraph">社員データに評価列を追加したり、別シートの情報を横に並べたい場面で、ぜひHSTACK関数を活用してみてください。<br>一度数式を組んでしまえば、データ更新のたびにコピペする手間がなくなりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-hstack/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのVSTACK関数の使い方｜複数の表を縦に結合する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-vstack/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-vstack/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 09 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[FILTER関数]]></category>
		<category><![CDATA[HSTACK関数]]></category>
		<category><![CDATA[SORT関数]]></category>
		<category><![CDATA[VSTACK関数]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[動的配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2820</guid>

					<description><![CDATA[ExcelのVSTACK関数の使い方を実例付きで解説。複数の表を縦方向に結合する基本操作から、FILTER・SORTとの組み合わせ、エラー対処法まで初心者にもわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">毎月の売上データを支店ごとにまとめていますか？<br>「東京」「大阪」「名古屋」と別々の表をコピペで結合する作業、地味に面倒ですよね。</p>



<p class="wp-block-paragraph">しかも手作業だとミスが起きやすいです。<br>行がズレたり、データを貼り忘れたり。</p>



<p class="wp-block-paragraph">ExcelのVSTACK関数を使えば、この悩みを一発で解決できます。<br>数式ひとつで複数の表を縦にピタッと結合してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、VSTACK関数の基本から実践的な使い方まで、わかりやすく解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">VSTACK関数とは？複数の表を縦方向に結合する関数</a></li><li><a href="#toc2" tabindex="0">VSTACK関数の基本的な書き方（構文・引数）</a><ol><li><a href="#toc3" tabindex="0">引数：配列（array）の指定方法</a></li><li><a href="#toc4" tabindex="0">戻り値：スピル（動的配列）で結果が展開される</a></li></ol></li><li><a href="#toc5" tabindex="0">VSTACK関数の使い方を実例で解説</a><ol><li><a href="#toc6" tabindex="0">基本：2つの表を縦に結合する</a></li><li><a href="#toc7" tabindex="0">3つ以上の表をまとめて結合する</a></li><li><a href="#toc8" tabindex="0">列数が異なる表を結合するとどうなる？（#N/Aエラー対策）</a></li></ol></li><li><a href="#toc9" tabindex="0">VSTACK関数とHSTACK関数の違い</a></li><li><a href="#toc10" tabindex="0">VSTACK関数×他の関数の組み合わせテクニック</a><ol><li><a href="#toc11" tabindex="0">FILTER関数と組み合わせて結合後に絞り込む</a></li><li><a href="#toc12" tabindex="0">SORT関数と組み合わせて結合後に並べ替える</a></li></ol></li><li><a href="#toc13" tabindex="0">VSTACK関数でよくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#SPILL!エラー：結果の出力先がふさがっている</a></li><li><a href="#toc15" tabindex="0">#NAME?エラー：対応バージョンの確認</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">VSTACK関数とは？複数の表を縦方向に結合する関数</span></h2>



<p class="wp-block-paragraph">VSTACK関数は、複数の表（配列）を<strong>縦方向に結合</strong>する関数です。<br>読み方は「ブイスタック」。<br>「V」はVertical（垂直）、「STACK」は積み重ねるという意味です。</p>



<p class="wp-block-paragraph">たとえば、支店ごとに分かれた売上表を考えてみてください。<br>東京支店の表の下に大阪支店の表を、さらにその下に名古屋支店の表を積み重ねるイメージです。</p>



<p class="wp-block-paragraph">これまでは手作業でコピー＆ペーストしていた作業が、数式1つで完了します。<br>しかも元データが更新されると、結合結果も自動で更新されますよ。</p>



<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>Microsoft 365</td><td>対応</td></tr><tr><td>Excel 2024</td><td>対応</td></tr><tr><td>Excel 2021以前</td><td>非対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">お使いのバージョンが対応しているか、あらかじめ確認しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">VSTACK関数の基本的な書き方（構文・引数）</span></h2>



<p class="wp-block-paragraph">VSTACK関数の構文はとてもシンプルです。</p>



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



<p class="wp-block-paragraph">結合したい表を、カンマ区切りで順番に指定するだけです。<br>引数は最大254個まで指定できます。</p>



<h3 class="wp-block-heading"><span id="toc3">引数：配列（array）の指定方法</span></h3>



<p class="wp-block-paragraph">引数に指定できるものは以下の3パターンです。</p>



<ul class="wp-block-list"><li><strong>セル範囲</strong>: <code>A2:D10</code> のような通常の範囲指定</li><li><strong>別シートの範囲</strong>: <code>東京!A2:D10</code> のようにシート名付きで指定</li><li><strong>配列定数</strong>: <code>{1,2,3}</code> のような直接入力の配列</li></ul>



<p class="wp-block-paragraph">実務では、セル範囲や別シートの範囲を使うことがほとんどです。<br>支店別にシートが分かれている場合は、シート名を付けて指定しましょう。</p>



<h3 class="wp-block-heading"><span id="toc4">戻り値：スピル（動的配列）で結果が展開される</span></h3>



<p class="wp-block-paragraph">VSTACK関数の結果は<strong>スピル</strong>で展開されます。</p>



<p class="wp-block-paragraph">スピルとは、1つのセルに数式を入力するだけで、結果が隣接セルに自動展開される仕組みです。<br>数式を入力するのは先頭の1セルだけでOK。<br>残りのセルには自動で値が表示されます。</p>



<p class="wp-block-paragraph">スピル範囲のセルを選択すると、青い枠線が表示されます。<br>この枠線がスピルの目印ですよ。</p>



<h2 class="wp-block-heading"><span id="toc5">VSTACK関数の使い方を実例で解説</span></h2>



<p class="wp-block-paragraph">ここからは、支店別売上表を使って具体的な使い方を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">基本：2つの表を縦に結合する</span></h3>



<p class="wp-block-paragraph">東京支店と大阪支店の売上表を縦に結合してみます。</p>



<p class="wp-block-paragraph"><strong>サンプルデータ</strong></p>



<p class="wp-block-paragraph">東京支店（Sheet1のA2:D4）:</p>



<figure class="wp-block-table"><table><thead><tr><th>日付</th><th>商品名</th><th>売上金額</th><th>担当者</th></tr></thead><tbody><tr><td>4/1</td><td>ノートPC</td><td>150,000</td><td>佐藤</td></tr><tr><td>4/2</td><td>モニター</td><td>45,000</td><td>田中</td></tr><tr><td>4/3</td><td>キーボード</td><td>8,000</td><td>佐藤</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">大阪支店（Sheet2のA2:D4）:</p>



<figure class="wp-block-table"><table><thead><tr><th>日付</th><th>商品名</th><th>売上金額</th><th>担当者</th></tr></thead><tbody><tr><td>4/1</td><td>マウス</td><td>3,000</td><td>山本</td></tr><tr><td>4/2</td><td>ノートPC</td><td>180,000</td><td>鈴木</td></tr><tr><td>4/3</td><td>プリンター</td><td>35,000</td><td>山本</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>数式</strong></p>



<pre class="wp-block-code"><code>=VSTACK(Sheet1!A2:D4, Sheet2!A2:D4)</code></pre>



<p class="wp-block-paragraph">これだけで、2つの表が縦にきれいに結合されます。<br>ヘッダー行を除いたデータ部分だけを指定するのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc7">3つ以上の表をまとめて結合する</span></h3>



<p class="wp-block-paragraph">支店が3つ以上ある場合も、引数を追加するだけです。</p>



<pre class="wp-block-code"><code>=VSTACK(東京!A2:D10, 大阪!A2:D10, 名古屋!A2:D10)</code></pre>



<p class="wp-block-paragraph">東京・大阪・名古屋の3シートを一気に結合できます。<br>引数はカンマで区切って、どんどん追加してください。</p>



<p class="wp-block-paragraph">シートが増えても数式に追加するだけなので、管理がラクですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">列数が異なる表を結合するとどうなる？（#N/Aエラー対策）</span></h3>



<p class="wp-block-paragraph">結合する表の列数が異なる場合、少し注意が必要です。<br>VSTACK関数は、不足する列を<strong>#N/Aエラー</strong>で自動的に埋めます。</p>



<p class="wp-block-paragraph">たとえば、4列の表と3列の表を結合すると、3列の表側の4列目に#N/Aが入ります。</p>



<p class="wp-block-paragraph">この#N/Aを消したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲みましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(VSTACK(Sheet1!A2:D5, Sheet2!A2:C5), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">これで、#N/Aの部分が空白に置き換わります。<br>列数が異なる表を扱うときは、セットで覚えておいてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc9">VSTACK関数とHSTACK関数の違い</span></h2>



<p class="wp-block-paragraph">VSTACK関数とよく比較されるのが<a href="https://mashukabu.com/excel-function-howto-use-hstack/">HSTACK関数</a>です。<br>どちらも表を結合する関数ですが、方向が違います。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>VSTACK</th><th>HSTACK</th></tr></thead><tbody><tr><td>結合方向</td><td>縦（下に積み重ねる）</td><td>横（右に並べる）</td></tr><tr><td>語源</td><td>Vertical Stack</td><td>Horizontal Stack</td></tr><tr><td>主な用途</td><td>月別・支店別の表を1つにまとめる</td><td>項目（列）を横に追加する</td></tr><tr><td>行数・列数の不一致時</td><td>不足列を#N/Aで埋める</td><td>不足行を#N/Aで埋める</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けはシンプルです。</p>



<ul class="wp-block-list"><li><strong>行（データ件数）を増やしたい</strong> → VSTACK</li><li><strong>列（項目）を増やしたい</strong> → HSTACK</li></ul>



<p class="wp-block-paragraph">実務では「月ごとの売上データを縦に結合」というケースが多いので、VSTACKの出番が多いですよ。</p>



<h2 class="wp-block-heading"><span id="toc10">VSTACK関数×他の関数の組み合わせテクニック</span></h2>



<p class="wp-block-paragraph">VSTACK関数は、他の関数と組み合わせると真価を発揮します。<br>ここでは実務で特に便利な2パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">FILTER関数と組み合わせて結合後に絞り込む</span></h3>



<p class="wp-block-paragraph">複数の表を結合した後、条件に合うデータだけ抽出したいことがありますよね。<br>そんなときは<a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>と組み合わせましょう。</p>



<p class="wp-block-paragraph">たとえば、売上金額が10,000円以上のデータだけを抽出する場合です。</p>



<pre class="wp-block-code"><code>=FILTER(VSTACK(Sheet1!A2:D50, Sheet2!A2:D50), VSTACK(Sheet1!C2:C50, Sheet2!C2:C50)&gt;=10000)</code></pre>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。<br>VSTACKで結合した表に対して、FILTERで条件を指定しているだけですよ。</p>



<p class="wp-block-paragraph">FILTER関数の条件にもVSTACKが必要な点に注目してください。<br>条件の範囲もデータと同じように結合するのがコツです。</p>



<h3 class="wp-block-heading"><span id="toc12">SORT関数と組み合わせて結合後に並べ替える</span></h3>



<p class="wp-block-paragraph">結合したデータを特定の列で並べ替えたい場合は、<a href="https://mashukabu.com/excel-function-howto-use-sort/">SORT関数</a>が便利です。</p>



<p class="wp-block-paragraph">売上金額（3列目）の降順で並べ替えるには、次のように書きます。</p>



<pre class="wp-block-code"><code>=SORT(VSTACK(Sheet1!A2:D50, Sheet2!A2:D50), 3, -1)</code></pre>



<p class="wp-block-paragraph">第2引数の <code>3</code> は並べ替えの基準列（売上金額列）です。<br>第3引数の <code>-1</code> は降順を意味します。</p>



<p class="wp-block-paragraph">結合と並べ替えが1つの数式で完結するので、作業効率がグッと上がります。<br>ぜひ試してみてください。</p>



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



<p class="wp-block-paragraph">VSTACK関数を使っていると、エラーに遭遇することがあります。<br>代表的な2つのエラーと対処法を押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc14">#SPILL!エラー：結果の出力先がふさがっている</span></h3>



<p class="wp-block-paragraph">#SPILL!エラーは、スピルの展開先に問題がある場合に発生します。<br>主な原因は次の4つです。</p>



<ul class="wp-block-list"><li><strong>スピル先のセルにデータがある</strong>: 空のセルを確保する</li><li><strong>結合セルがある</strong>: スピル範囲内の結合を解除する</li><li><strong>テーブル内で使用している</strong>: テーブル外のセルに数式を入力する</li><li><strong>シートの端を超える</strong>: 出力先の位置を上に移動する</li></ul>



<p class="wp-block-paragraph">最も多いのは、スピル先にデータが残っているケースです。<br>数式を入力するセルの下に、十分な空きスペースを確保してください。</p>



<p class="wp-block-paragraph">エラー値の詳しい解説は<a href="https://mashukabu.com/excel-error-value-list/">Excelエラー値一覧</a>もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc15">#NAME?エラー：対応バージョンの確認</span></h3>



<p class="wp-block-paragraph">#NAME?エラーが出る場合は、バージョンを確認しましょう。<br>VSTACK関数はMicrosoft 365またはExcel 2024でのみ使えます。</p>



<p class="wp-block-paragraph">Excel 2021以前では関数名が認識されず、#NAME?エラーになります。</p>



<p class="wp-block-paragraph">バージョンの確認方法は、<strong>ファイル → アカウント</strong>の画面です。<br>「Microsoft 365」または「Excel 2024」と表示されていれば対応していますよ。</p>



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



<p class="wp-block-paragraph">VSTACK関数は、複数の表を縦方向に結合する関数です。<br>この記事のポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=VSTACK(配列1, [配列2], ...)</code> で簡単に結合できる</li><li><strong>スピル</strong>: 数式は1セルに入力するだけで結果が自動展開される</li><li><strong>列数不一致</strong>: #N/Aで埋まるので、IFERRORで空白に置換する</li><li><strong>HSTACK関数との違い</strong>: VSTACKは縦、HSTACKは横に結合する</li><li><strong>組み合わせ</strong>: FILTER関数やSORT関数と使えば、結合＋加工が1つの数式で完結する</li><li><strong>対応バージョン</strong>: Microsoft 365またはExcel 2024が必要</li></ul>



<p class="wp-block-paragraph">支店別の売上データを毎月コピペでまとめていた方は、ぜひVSTACK関数を活用してみてください。<br>一度数式を組んでしまえば、翌月からの作業がぐっとラクになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-vstack/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのSORT関数の使い方｜複数条件・FILTER組み合わせも解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-sort/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-sort/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 25 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[FILTER関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[SORTBY関数]]></category>
		<category><![CDATA[SORT関数]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[並べ替え]]></category>
		<category><![CDATA[動的配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1874</guid>

					<description><![CDATA[ExcelのSORT関数の引数と使い方を図解付きで解説。複数列基準のSORTBY関数、FILTER関数との組み合わせ、VSTACK+SORTの実務パターン、日本語ソートの落とし穴まで網羅。元データを壊さずにランキング表を自動作成したい方に。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelでデータを並べ替えるとき、フィルター機能を使っていませんか？<br>フィルターの並べ替えは元データを直接変更します。<br>「あっ、元に戻せない」と焦った経験がある方も多いですよね。</p>



<p class="wp-block-paragraph">SORT関数なら、元データはそのまま残ります。<br>別のセルに並べ替えた結果だけを表示できますよ。<br>この記事では、ExcelのSORT関数の使い方を基本から応用まで解説します。<br>SORTBY関数やFILTER関数との組み合わせパターンも紹介するので、ぜひ参考にしてみてください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのSORT関数とは？フィルター機能との違い</a><ol><li><a href="#toc2" tabindex="0">フィルター機能の並べ替えとSORT関数の決定的な違い</a></li><li><a href="#toc3" tabindex="0">スピル（動的配列）のしくみ</a></li><li><a href="#toc4" tabindex="0">SORT関数が使えるExcelのバージョン</a></li></ol></li><li><a href="#toc5" tabindex="0">SORT関数の書き方（構文と引数）</a><ol><li><a href="#toc6" tabindex="0">基本構文</a></li><li><a href="#toc7" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc8" tabindex="0">基本の使い方｜ExcelでSORT関数を使って並べ替える</a><ol><li><a href="#toc9" tabindex="0">数値を降順に並べ替える（売上ランキング例）</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">複数列を基準に並べ替えるにはSORTBYを使う</a><ol><li><a href="#toc13" tabindex="0">SORTBYの構文と引数</a></li><li><a href="#toc14" tabindex="0">部署→売上の2キー並べ替え（数式例）</a></li><li><a href="#toc15" tabindex="0">SORT vs SORTBY：どちらを使うべきか</a></li></ol></li><li><a href="#toc16" tabindex="0">FILTER関数と組み合わせる｜抽出＋並べ替えを一発で</a><ol><li><a href="#toc17" tabindex="0">基本パターン：SORT(FILTER(…))</a></li><li><a href="#toc18" tabindex="0">UNIQUE＋SORTで重複なしリストをソート</a></li></ol></li><li><a href="#toc19" tabindex="0">実務で使えるSORT応用パターン</a><ol><li><a href="#toc20" tabindex="0">VSTACK＋SORTで複数シートを統合して並べ替え</a></li><li><a href="#toc21" tabindex="0">IF関数でデータなし時のエラー回避</a></li></ol></li><li><a href="#toc22" tabindex="0">日本語ソートの落とし穴｜順番がおかしいときの原因と対処</a><ol><li><a href="#toc23" tabindex="0">SORT関数はふりがなを無視する</a></li><li><a href="#toc24" tabindex="0">SORTBY＋PHONETIC関数で五十音順に並べ替える</a></li></ol></li><li><a href="#toc25" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc26" tabindex="0">まとめ</a><ol><li><a href="#toc27" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのSORT関数とは？フィルター機能との違い</span></h2>



<p class="wp-block-paragraph">SORT関数（読み方：ソート）は、データを並べ替える関数です。<br>英語の「sort」は「分類する・整理する」という意味があります。<br>指定した範囲のデータを、別のセルに並べ替えて表示できます。</p>



<h3 class="wp-block-heading"><span id="toc2">フィルター機能の並べ替えとSORT関数の決定的な違い</span></h3>



<p class="wp-block-paragraph">Excelのフィルター機能で並べ替えると、元のデータが直接変更されます。<br>うっかり保存してしまうと、元の並び順には戻せません。</p>



<p class="wp-block-paragraph">一方、SORT関数は元データに一切手を加えません。<br>数式を入力したセルに、並べ替えた結果だけが表示されます。<br>元の表はそのまま残るので、データが壊れる心配がないんです。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>フィルター機能</th><th>SORT関数</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>Ctrl+Z以外では困難</td><td>数式を消すだけ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">データ入力と並べ替え結果を分けたいなら、SORT関数を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">スピル（動的配列）のしくみ</span></h3>



<p class="wp-block-paragraph">SORT関数は<strong>動的配列関数</strong>のひとつです。<br>1つの数式を入力するだけで、結果が複数セルに自動展開されます。<br>この自動展開の仕組みを<strong>スピル</strong>と呼びます。</p>



<p class="wp-block-paragraph">たとえば7行のデータを並べ替えると、結果も7行分表示されます。<br>数式を入力するのは先頭の1セルだけでOKです。<br><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数</a>も同じスピルの仕組みで動きますよ。</p>



<h3 class="wp-block-heading"><span id="toc4">SORT関数が使えるExcelのバージョン</span></h3>



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



<ul class="wp-block-list"><li>Microsoft 365（Windows / Mac）</li><li>Excel 2021</li><li>Excel 2024</li><li>Excel for the web</li></ul>



<p class="wp-block-paragraph">Excel 2019以前では使えません。<br>お使いのバージョンがわからない場合は、<a href="https://mashukabu.com/modern-excel-explanation/">モダンExcel解説</a>で確認してみてください。</p>



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th><th>既定値</th></tr></thead><tbody><tr><td>配列</td><td>必須</td><td>並べ替えたいセル範囲または配列</td><td>&#8211;</td></tr><tr><td>並べ替えインデックス</td><td>省略可</td><td>基準にする列番号（または行番号）</td><td>1</td></tr><tr><td>並べ替え順序</td><td>省略可</td><td>1 = 昇順 / -1 = 降順</td><td>1（昇順）</td></tr><tr><td>並べ替え基準</td><td>省略可</td><td>FALSE = 行方向 / TRUE = 列方向</td><td>FALSE（行方向）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">必須の引数は「配列」だけです。<br>残りの3つは省略できます。<br>省略すると「1列目を基準に昇順で行を並べ替え」になります。<br>まずは <code>=SORT(A2:D8)</code> のように配列だけで試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc8">基本の使い方｜ExcelでSORT関数を使って並べ替える</span></h2>



<p class="wp-block-paragraph">ここから実際の数式を見ていきましょう。<br>以下の売上データ（A1:D8）を使って解説します。</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>480,000</td><td>2024/4/5</td></tr><tr><td>鈴木</td><td>総務部</td><td>320,000</td><td>2024/4/12</td></tr><tr><td>高橋</td><td>営業部</td><td>550,000</td><td>2024/4/3</td></tr><tr><td>田中</td><td>経理部</td><td>280,000</td><td>2024/4/18</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr><tr><td>渡辺</td><td>総務部</td><td>350,000</td><td>2024/4/15</td></tr><tr><td>山本</td><td>経理部</td><td>290,000</td><td>2024/4/22</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">数値を降順に並べ替える（売上ランキング例）</span></h3>



<p class="wp-block-paragraph">売上金額が高い順に並べ替えてみます。<br>売上金額は3列目なので、次のように入力します。</p>



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



<p class="wp-block-paragraph">第2引数が <code>3</code>（3列目＝売上金額列）、第3引数が <code>-1</code>（降順）です。<br>結果は以下のとおりです。</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>550,000</td><td>2024/4/3</td></tr><tr><td>佐藤</td><td>営業部</td><td>480,000</td><td>2024/4/5</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr><tr><td>渡辺</td><td>総務部</td><td>350,000</td><td>2024/4/15</td></tr><tr><td>鈴木</td><td>総務部</td><td>320,000</td><td>2024/4/12</td></tr><tr><td>山本</td><td>経理部</td><td>290,000</td><td>2024/4/22</td></tr><tr><td>田中</td><td>経理部</td><td>280,000</td><td>2024/4/18</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">売上ランキング表が一瞬で完成しますよ。<br>元データに新しい行を追加すれば、ランキングも自動で更新されます。</p>



<h3 class="wp-block-heading"><span id="toc10">日付を昇順に並べ替える</span></h3>



<p class="wp-block-paragraph">日付が古い順（昇順）に並べ替える場合です。<br>日付は4列目なので、次のように入力します。</p>



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



<p class="wp-block-paragraph">第3引数を <code>1</code>（昇順）にします。<br>昇順は既定値なので、<code>=SORT(A2:D8, 4)</code> と省略してもOKです。</p>



<p class="wp-block-paragraph">結果は以下のとおりです。</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>550,000</td><td>2024/4/3</td></tr><tr><td>佐藤</td><td>営業部</td><td>480,000</td><td>2024/4/5</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr><tr><td>鈴木</td><td>総務部</td><td>320,000</td><td>2024/4/12</td></tr><tr><td>渡辺</td><td>総務部</td><td>350,000</td><td>2024/4/15</td></tr><tr><td>田中</td><td>経理部</td><td>280,000</td><td>2024/4/18</td></tr><tr><td>山本</td><td>経理部</td><td>290,000</td><td>2024/4/22</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">担当者名（1列目）で並べ替えてみます。</p>



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



<p class="wp-block-paragraph">ただし、ここで注意点があります。<br>SORT関数は漢字をUnicodeのコードポイント順で並べます。<br>五十音順にはならないんです。</p>



<p class="wp-block-paragraph">たとえば「伊藤→佐藤→山本→渡辺→田中→鈴木→高橋」のように、読み仮名とは関係ない順番になります。<br>日本語の名前を正しく五十音順にする方法は、後半の「日本語ソートの落とし穴」で詳しく解説しますね。</p>



<h2 class="wp-block-heading"><span id="toc12">複数列を基準に並べ替えるにはSORTBYを使う</span></h2>



<p class="wp-block-paragraph">「部署で並べて、同じ部署の中では売上が高い順」のように、複数の基準で並べ替えたい場面は多いですよね。<br>SORT関数では基準を1つしか指定できません。<br>こういうときは<strong>SORTBY関数</strong>の出番です。</p>



<h3 class="wp-block-heading"><span id="toc13">SORTBYの構文と引数</span></h3>



<pre class="wp-block-code"><code>=SORTBY(配列, 基準配列1, [順序1], [基準配列2, 順序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>順序1</td><td>省略可</td><td>1 = 昇順 / -1 = 降順</td></tr><tr><td>基準配列2, 順序2</td><td>省略可</td><td>2番目以降の基準と順序のペア</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SORT関数との大きな違いは、基準を<strong>列番号ではなく範囲で直接指定</strong>する点です。<br>基準と順序のペアを追加すれば、複数キーで並べ替えられます。</p>



<h3 class="wp-block-heading"><span id="toc14">部署→売上の2キー並べ替え（数式例）</span></h3>



<p class="wp-block-paragraph">部署を昇順、同じ部署内では売上金額を降順に並べます。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, B2:B8, 1, C2:C8, -1)</code></pre>



<p class="wp-block-paragraph">結果は以下のとおりです。</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>550,000</td><td>2024/4/3</td></tr><tr><td>佐藤</td><td>営業部</td><td>480,000</td><td>2024/4/5</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr><tr><td>山本</td><td>経理部</td><td>290,000</td><td>2024/4/22</td></tr><tr><td>田中</td><td>経理部</td><td>280,000</td><td>2024/4/18</td></tr><tr><td>渡辺</td><td>総務部</td><td>350,000</td><td>2024/4/15</td></tr><tr><td>鈴木</td><td>総務部</td><td>320,000</td><td>2024/4/12</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">部署ごとにまとまり、各部署内では売上が高い順に並んでいますね。</p>



<h3 class="wp-block-heading"><span id="toc15">SORT vs SORTBY：どちらを使うべきか</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>SORT</th><th>SORTBY</th></tr></thead><tbody><tr><td>基準の指定方法</td><td>列番号（数値）</td><td>列範囲（直接指定）</td></tr><tr><td>複数基準</td><td>不可（1つだけ）</td><td>可（ペアで追加）</td></tr><tr><td>列の挿入・削除</td><td>番号がずれる</td><td>範囲参照なので壊れにくい</td></tr><tr><td>列方向ソート</td><td>TRUE指定で可能</td><td>不可</td></tr><tr><td>配列外の列を基準に</td><td>不可</td><td>可能</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">基準が1つだけでシンプルな場合はSORT関数が手軽です。<br>複数基準で並べ替えるなら、SORTBY関数を使ってください。<br>列の挿入・削除が多い表では、SORTBY関数のほうが安全ですよ。</p>



<h2 class="wp-block-heading"><span id="toc16">FILTER関数と組み合わせる｜抽出＋並べ替えを一発で</span></h2>



<p class="wp-block-paragraph">SORT関数は<a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>と組み合わせると、さらに便利になります。<br>「条件で絞り込んで、並べ替える」を1つの数式で実現できます。</p>



<h3 class="wp-block-heading"><span id="toc17">基本パターン：SORT(FILTER(…))</span></h3>



<p class="wp-block-paragraph">営業部のデータだけを売上が高い順に表示してみます。</p>



<pre class="wp-block-code"><code>=SORT(FILTER(A2:D8, B2:B8=&quot;営業部&quot;), 3, -1)</code></pre>



<p class="wp-block-paragraph">FILTER関数で営業部だけを抽出し、SORT関数で売上金額の降順に並べます。<br>結果は以下のとおりです。</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>550,000</td><td>2024/4/3</td></tr><tr><td>佐藤</td><td>営業部</td><td>480,000</td><td>2024/4/5</td></tr><tr><td>伊藤</td><td>営業部</td><td>410,000</td><td>2024/4/8</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">抽出条件を変えれば、部署別ランキングもかんたんに作れますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">UNIQUE＋SORTで重複なしリストをソート</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数</a>と組み合わせると、重複なしのリストを並べ替えられます。</p>



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



<p class="wp-block-paragraph">部署列の重複を除いた一意のリストが、昇順で表示されます。<br>ドロップダウンリストの選択肢を作るときに便利なパターンです。</p>



<h2 class="wp-block-heading"><span id="toc19">実務で使えるSORT応用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc20">VSTACK＋SORTで複数シートを統合して並べ替え</span></h3>



<p class="wp-block-paragraph">月ごとにシートが分かれているデータを1つにまとめたいケースです。<br><a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数</a>でデータを縦に結合してから並べ替えます。</p>



<pre class="wp-block-code"><code>=SORT(VSTACK(Sheet1!A2:D8, Sheet2!A2:D8), 3, -1)</code></pre>



<p class="wp-block-paragraph">VSTACK関数が2つのシートのデータを縦に連結します。<br>その結果をSORT関数が売上金額の降順に並べ替えます。<br>複数シートのデータを手動でコピペする必要がなくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">IF関数でデータなし時のエラー回避</span></h3>



<p class="wp-block-paragraph">SORT関数に空の範囲を渡すとエラーになります。<br>データがないケースに備えて、IF関数で分岐しましょう。</p>



<pre class="wp-block-code"><code>=IF(COUNTA(A2:A8)=0, &quot;データなし&quot;, SORT(A2:D8, 3, -1))</code></pre>



<p class="wp-block-paragraph">A列にデータが1件もなければ「データなし」を表示します。<br>データがあればSORT関数で並べ替えた結果を返します。<br><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>でエラー値をキャッチする方法もあります。<br>ただし、原因が明確なときはIF関数で事前チェックするほうがわかりやすいですよ。</p>



<h2 class="wp-block-heading"><span id="toc22">日本語ソートの落とし穴｜順番がおかしいときの原因と対処</span></h2>



<p class="wp-block-paragraph">SORT関数で日本語の名前を並べ替えたとき、「五十音順になっていない」と感じたことはありませんか？<br>これはSORT関数の仕様による問題です。</p>



<h3 class="wp-block-heading"><span id="toc23">SORT関数はふりがなを無視する</span></h3>



<p class="wp-block-paragraph">Excelのフィルター機能は、セルに保存されている<strong>ふりがな情報</strong>を使って並べ替えます。<br>IMEで入力したときの読み仮名が記録されているので、五十音順になるんです。</p>



<p class="wp-block-paragraph">一方、SORT関数はふりがな情報を無視します。<br>漢字をUnicodeのコードポイント順で比較します。<br>そのため、読み方とは関係ない並び順になります。</p>



<p class="wp-block-paragraph">さらに、CSVから取り込んだデータにはふりがな情報がありません。<br>コピペしたデータも同様です。<br>フィルター機能でも正しく並べ替えられないケースがあります。</p>



<h3 class="wp-block-heading"><span id="toc24">SORTBY＋PHONETIC関数で五十音順に並べ替える</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-phonetic/">PHONETIC関数</a>を使えば、ふりがな情報を取り出せます。<br>SORTBY関数と組み合わせて五十音順に並べ替えましょう。</p>



<pre class="wp-block-code"><code>=SORTBY(A2:D8, PHONETIC(A2:A8), 1)</code></pre>



<p class="wp-block-paragraph">PHONETIC関数が担当者名のふりがなを取得します。<br>SORTBY関数がそのふりがなを基準に昇順で並べ替えます。</p>



<p class="wp-block-paragraph">ふりがな情報がないセル（CSV取り込みなど）には、手動で設定が必要です。<br>対象セルを選択して <code>Shift + Alt + ↑</code> を押すと、ふりがなの編集モードに入れますよ。</p>



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



<p class="wp-block-paragraph">SORT関数で困ったときは、以下の表を確認してみてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#SPILL! エラー</td><td>スピル先のセルが空でない</td><td>展開先のセルを空にする。結合セルも解除する</td></tr><tr><td>#NAME? エラー</td><td>関数が使えないバージョン</td><td>Microsoft 365またはExcel 2021以降にアップデートする</td></tr><tr><td>#VALUE! エラー</td><td>引数に不正な値</td><td>並べ替えインデックスが列数を超えていないか確認する</td></tr><tr><td>並び順がおかしい</td><td>数値が文字列として格納されている</td><td><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で数値に変換してから並べ替える</td></tr><tr><td>日本語が五十音順にならない</td><td>ふりがな情報の不在</td><td>SORTBY＋PHONETIC関数を使う（上記参照）</td></tr><tr><td>スピル結果が更新されない</td><td>手動計算モードになっている</td><td>Ctrl + Shift + F9 で再計算する</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>#SPILL! エラーはスピル関数で最も多いエラーです。数式の展開先にデータや結合セルがあると発生します。展開先を十分に空けておきましょう。</strong></p></blockquote>



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



<p class="wp-block-paragraph">この記事では、ExcelのSORT関数の使い方を解説しました。<br>ポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>SORT関数は、元データを変更せずに別セルに並べ替え結果を表示する関数</li><li>必須の引数は「配列」だけ。省略すると1列目・昇順で並べ替え</li><li>第3引数を <code>-1</code> にすると<strong>降順</strong>になる</li><li>複数基準で並べ替えるならSORTBY関数を使う</li><li><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>と組み合わせると抽出＋並べ替えが一発</li><li><a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数</a>で複数シートの統合＋並べ替えも可能</li><li>日本語の五十音順には<a href="https://mashukabu.com/excel-function-howto-use-phonetic/">PHONETIC関数</a>との組み合わせが必要</li><li>Microsoft 365 / Excel 2021以降で利用可能</li></ul>



<p class="wp-block-paragraph">SORT関数を覚えると、手動で並べ替える手間がなくなります。<br>まずは売上ランキングのような身近な場面で試してみてください。<br>慣れたら<a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数</a>との組み合わせにも挑戦してみてくださいね。</p>



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



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-phonetic/">PHONETIC関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-rank/">RANK関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-large/">LARGE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-small/">SMALL関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数の使い方</a></li><li><a href="https://mashukabu.com/modern-excel-explanation/">モダンExcel解説</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-sort/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
