<?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>SMALL関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/small%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 14:54:38 +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>SMALL関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのSMALL関数の使い方｜k番目に小さい値を取り出す方法</title>
		<link>https://mashukabu.com/spreadsheet-small-function/</link>
					<comments>https://mashukabu.com/spreadsheet-small-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 06:29:06 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[k番目]]></category>
		<category><![CDATA[LARGE関数]]></category>
		<category><![CDATA[MIN関数]]></category>
		<category><![CDATA[SMALL関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データ分析]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4043</guid>

					<description><![CDATA[スプレッドシートのSMALL関数の使い方を基本構文から実務活用パターンまで解説。2番目・3番目に小さい値の取り出し方、LARGEとの違い、RANK関数との使い分け、よくあるエラーの対処法もまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「下位の値を取り出したいのに、MIN関数だと最小値しかわからない」。そんな経験はありませんか？</p>



<p class="wp-block-paragraph">2番目、3番目に小さい値を手作業で探すのは面倒ですよね。データが増えるほどミスのリスクも上がります。</p>



<p class="wp-block-paragraph">SMALL関数を使えば、k番目に小さい値を一発で取り出せます。この記事では基本の書き方から実務パターン、エラー対処法まで丁寧に解説します。</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">SMALL関数とは？k番目に小さい値を返す関数</a><ol><li><a href="#toc2" tabindex="0">基本構文</a></li><li><a href="#toc3" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc4" tabindex="0">基本的な使い方</a></li><li><a href="#toc5" tabindex="0">SMALL関数の実務活用パターン4選</a><ol><li><a href="#toc6" tabindex="0">下位3件の売上を取り出す（ワースト分析）</a></li><li><a href="#toc7" tabindex="0">2番目に低いコストを確認する</a></li><li><a href="#toc8" tabindex="0">下位N件の合計を求める（SMALL + SUM）</a></li><li><a href="#toc9" tabindex="0">2番目に小さい値の担当者名を取得する</a></li></ol></li><li><a href="#toc10" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc11" tabindex="0">#NUM! エラー（kがデータ数を超えている）</a></li><li><a href="#toc12" tabindex="0">#VALUE! エラー（kに数値以外を指定）</a></li></ol></li><li><a href="#toc13" tabindex="0">MIN関数との使い分け</a></li><li><a href="#toc14" tabindex="0">LARGEとの対比・RANK関数との違い</a><ol><li><a href="#toc15" tabindex="0">LARGE関数（k番目に大きい値）</a></li><li><a href="#toc16" tabindex="0">RANK関数（順位を求める関数）</a></li></ol></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">この記事のポイント</a></li><li><a href="#toc19" tabindex="0">次のステップ：関連する集計関数</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">SMALL関数とは？k番目に小さい値を返す関数</span></h2>



<p class="wp-block-paragraph">SMALL関数は、データの中から<strong>k番目に小さい値</strong>を返す関数です。読み方は「スモール」で、英語の「Small（小さい）」がそのまま名前になっています。</p>



<p class="wp-block-paragraph">たとえばk=1なら最小値、k=2なら2番目に小さい値を返します。「下位N番目の値を取り出す」ときに使う関数です。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-min-function/">MIN関数</a>は常に1番目（最小値）しか返せません。「2番目以降も取り出したい」ときにSMALL関数の出番です。</p>



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



<pre class="wp-block-code"><code>=SMALL(データ, k)</code></pre>



<h3 class="wp-block-heading"><span id="toc3">引数の説明</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>値を取り出す対象のセル範囲や配列</td></tr><tr><td>k</td><td>必須</td><td>何番目に小さい値を取り出すか（1=最小値）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数はたった2つです。<a href="https://mashukabu.com/spreadsheet-large-function/">LARGE関数</a>と同じ構造なので、セットで覚えられますよ。</p>



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



<p class="wp-block-paragraph">実際にSMALL関数を使ってみましょう。</p>



<p class="wp-block-paragraph">B2:B8に「85, 92, 78, 95, 88, 70, 100」の7個の数値が入っているとします。</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>



<pre class="wp-block-code"><code>=SMALL(B2:B8, 1)  → 70（1番目に小さい値）
=SMALL(B2:B8, 2)  → 78（2番目に小さい値）
=SMALL(B2:B8, 3)  → 85（3番目に小さい値）</code></pre>



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



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



<p class="wp-block-paragraph">kの値を変えるだけで、好きな順位の値を取り出せます。k=1のときは<a href="https://mashukabu.com/spreadsheet-min-function/">MIN関数</a>と同じ結果です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SMALL関数は数値だけを対象にします。文字列・空白セル・論理値は無視されます。</p></blockquote>



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



<p class="wp-block-paragraph">基本を押さえたところで、実務での使いどころを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc6">下位3件の売上を取り出す（ワースト分析）</span></h3>



<p class="wp-block-paragraph">月次売上の一覧から、下位3件の金額を取り出すケースです。</p>



<pre class="wp-block-code"><code>=SMALL(C2:C13, 1)  → ワースト1位の売上額
=SMALL(C2:C13, 2)  → ワースト2位の売上額
=SMALL(C2:C13, 3)  → ワースト3位の売上額</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_small-worst3.png" alt="04 result small worst3" /></figure>



<p class="wp-block-paragraph">C列に12か月分の売上金額が入っていれば、ワースト3が一発で表示されます。「どの月の売上がふるわなかったか」を分析したいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc7">2番目に低いコストを確認する</span></h3>



<p class="wp-block-paragraph">仕入れ原価で「最安値は特価で参考にならない」という場面があります。そんなときはk=2を指定して、2番目に低い価格を取り出しましょう。</p>



<pre class="wp-block-code"><code>=SMALL(D2:D50, 2)</code></pre>



<p class="wp-block-paragraph">最安値を除いた実質的な底値が確認できます。相場感をつかみたいときにも使えるテクニックです。</p>



<h3 class="wp-block-heading"><span id="toc8">下位N件の合計を求める（SMALL + SUM）</span></h3>



<p class="wp-block-paragraph">「売上ワースト3の合計」を求めたい場合は、<a href="https://mashukabu.com/spreadsheet-sum-function/">SUM関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=SUM(SMALL(C2:C13, {1,2,3}))</code></pre>



<p class="wp-block-paragraph"><code>{1,2,3}</code> は配列定数です。SMALL関数が1位・2位・3位の値をそれぞれ返し、SUM関数で合計します。</p>



<p class="wp-block-paragraph">下位5件にしたい場合は <code>{1,2,3,4,5}</code> に変えるだけです。手軽に下位N件の合計が出せますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">2番目に小さい値の担当者名を取得する</span></h3>



<p class="wp-block-paragraph">「2番目に低い売上の担当者は誰？」を調べるには、INDEX関数とMATCH関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=INDEX(A2:A10, MATCH(SMALL(B2:B10, 2), B2:B10, 0))</code></pre>



<p class="wp-block-paragraph">処理の流れはこうです。</p>



<ol class="wp-block-list"><li>SMALL(B2:B10, 2) → 2番目に小さい売上額を取得</li><li>MATCH(&#8230;, B2:B10, 0) → その値のある行番号を検索</li><li>INDEX(A2:A10, &#8230;) → 対応する担当者名を取得</li></ol>



<p class="wp-block-paragraph">ちょっと長い数式に見えますが、やっていることはシンプルです。SMALL関数で値を特定し、MATCHで位置を探し、INDEXで名前を取る3ステップです。</p>



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



<p class="wp-block-paragraph">SMALL関数で発生するエラーを2つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">#NUM! エラー（kがデータ数を超えている）</span></h3>



<p class="wp-block-paragraph">これが最も多いエラーです。データが7個しかないのにk=10を指定すると、#NUM!エラーになります。</p>



<pre class="wp-block-code"><code>=SMALL(B2:B8, 10)  → #NUM!</code></pre>



<p class="wp-block-paragraph">B2:B8は7セルなので、kは1から7までしか指定できません。k=0やマイナスの値でもエラーになります。</p>



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



<ul class="wp-block-list"><li>kの値がデータ数を超えていないか確認する</li><li>データ数が変動する場合は <code>COUNT(B2:B8)</code> で件数を把握する</li><li>kの上限チェックには次の数式が使えます</li></ul>



<pre class="wp-block-code"><code>=IF(E1&lt;=COUNT(B2:B8), SMALL(B2:B8, E1), &quot;データ不足&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc12">#VALUE! エラー（kに数値以外を指定）</span></h3>



<p class="wp-block-paragraph">kに文字列やセル参照の文字列型を指定するとエラーです。</p>



<pre class="wp-block-code"><code>=SMALL(B2:B8, &quot;二&quot;)  → #VALUE!</code></pre>



<p class="wp-block-paragraph">kには必ず数値を指定してください。セル参照を使う場合は、参照先が数値型か確認しましょう。</p>



<h2 class="wp-block-heading"><span id="toc13">MIN関数との使い分け</span></h2>



<p class="wp-block-paragraph">SMALL関数とMIN関数の関係はシンプルです。</p>



<figure class="wp-block-table"><table><thead><tr><th>場面</th><th>使う関数</th><th>書き方</th></tr></thead><tbody><tr><td>1番目に小さい値（最小値）</td><td>MIN</td><td><code>=MIN(B2:B8)</code></td></tr><tr><td>2番目以降に小さい値</td><td>SMALL</td><td><code>=SMALL(B2:B8, 2)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1番目だけ必要ならMIN関数で十分です。2番目以降が必要になったらSMALL関数に切り替えてください。</p>



<p class="wp-block-paragraph">ちなみに <code>=SMALL(B2:B8, 1)</code> と <code>=MIN(B2:B8)</code> は同じ結果を返します。ただし可読性を考えると、最小値にはMIN関数を使うほうが意図が伝わりやすいです。</p>



<h2 class="wp-block-heading"><span id="toc14">LARGEとの対比・RANK関数との違い</span></h2>



<p class="wp-block-paragraph">SMALL関数と混同しやすい関数が2つあります。</p>



<h3 class="wp-block-heading"><span id="toc15">LARGE関数（k番目に大きい値）</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-large-function/">LARGE関数</a>はSMALL関数の逆で、<strong>k番目に大きい値</strong>を返します。構文は完全に同じ構造です。</p>



<pre class="wp-block-code"><code>=SMALL(B2:B8, 1)  → 70（最小値）
=LARGE(B2:B8, 1)  → 100（最大値）</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th><th>k=1のとき</th></tr></thead><tbody><tr><td>SMALL</td><td>k番目に小さい値</td><td>MIN関数と同じ</td></tr><tr><td>LARGE</td><td>k番目に大きい値</td><td>MAX関数と同じ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「下位の値ならSMALL、上位の値ならLARGE」と覚えてください。</p>



<h3 class="wp-block-heading"><span id="toc16">RANK関数（順位を求める関数）</span></h3>



<p class="wp-block-paragraph">RANK関数はSMALL関数と<strong>逆方向の操作</strong>をします。</p>



<ul class="wp-block-list"><li><strong>SMALL関数</strong>: 順位を指定 → 値を返す（「2番目に小さい値は？」）</li><li><strong>RANK関数</strong>: 値を指定 → 順位を返す（「70点は何番目？」）</li></ul>



<pre class="wp-block-code"><code>=SMALL(B2:B8, 1)        → 70（1番目に小さい値）
=RANK(70, B2:B8, 1)     → 1（70は昇順で1番目）</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>RANK関数の第3引数に1を指定すると昇順（小さい順）になります。省略すると降順（大きい順）です。</p></blockquote>



<p class="wp-block-paragraph">「値を取り出したい」ならSMALL関数を使います。「順位を知りたい」ならRANK関数を使います。目的に応じて使い分けてください。</p>



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



<p class="wp-block-paragraph">SMALL関数は「k番目に小さい値を取り出す」関数です。MIN関数では対応できない「2番目以降の値」を簡単に取得できます。</p>



<h3 class="wp-block-heading"><span id="toc18">この記事のポイント</span></h3>



<ul class="wp-block-list"><li>構文は <code>=SMALL(データ, k)</code> のたった2引数</li><li>k=1なら最小値（MINと同じ）、k=2以降で真価を発揮</li><li>SUM関数と組み合わせれば下位N件の合計も出せる</li><li>#NUM!エラーはkがデータ数を超えているのが原因</li><li>LARGEは逆方向（k番目に大きい値）、RANKは逆操作（値→順位）</li></ul>



<h3 class="wp-block-heading"><span id="toc19">次のステップ：関連する集計関数</span></h3>



<p class="wp-block-paragraph">SMALL関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データの分析力がぐっと上がりますよ。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-large-function/">スプレッドシートのLARGE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-min-function/">スプレッドシートのMIN関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-max-function/">スプレッドシートのMAX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-average-function/">スプレッドシートのAVERAGE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-count-function/">スプレッドシートのCOUNT関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-small-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのRANK関数の使い方｜同順位・連番・RANK.EQ/AVG対応【完全ガイド】</title>
		<link>https://mashukabu.com/spreadsheet-rank-function/</link>
					<comments>https://mashukabu.com/spreadsheet-rank-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 11:58:57 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LARGE関数]]></category>
		<category><![CDATA[RANK.AVG関数]]></category>
		<category><![CDATA[RANK.EQ関数]]></category>
		<category><![CDATA[RANK関数]]></category>
		<category><![CDATA[SMALL関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データ分析]]></category>
		<category><![CDATA[順位]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4105</guid>

					<description><![CDATA[スプレッドシートのRANK関数の使い方を基本構文から応用まで解説。降順・昇順の切り替え、同順位への対処、COUNTIFで連番化する方法、RANK.EQ/RANK.AVGとの違い、実務5パターンで順位付けを完全マスター。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「売上データやテスト結果に順位を付けたいけど、毎回手作業で並べ替えるのは面倒」。そんな悩みはありませんか？</p>



<p class="wp-block-paragraph">データが更新されるたびに順位を付け直していると、ミスも起きやすいですし、時間もかかりますよね。</p>



<p class="wp-block-paragraph">RANK関数を使えば、順位を自動で計算できます。同順位の扱いや降順・昇順の切り替え、RANK.EQ/RANK.AVGとの違いまで、この記事ではスプレッドシート実務で本当に使える知識をまるごと解説します。</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">RANK関数とは？値の順位を返す関数</a><ol><li><a href="#toc2" tabindex="0">RANK関数でできること</a></li></ol></li><li><a href="#toc3" tabindex="0">RANK関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li><li><a href="#toc6" tabindex="0">第3引数がRANK関数のポイント</a></li></ol></li><li><a href="#toc7" tabindex="0">基本的な使い方：売上ランキングを自動化する</a><ol><li><a href="#toc8" tabindex="0">サンプルデータ</a></li><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">同順位への対処法｜COUNTIFで連番順位を作る</a><ol><li><a href="#toc13" tabindex="0">RANKの同順位は「次の順位を飛ばす」方式</a></li><li><a href="#toc14" tabindex="0">連番（4, 5, 6）にしたいならCOUNTIFを組み合わせる</a></li><li><a href="#toc15" tabindex="0">昇順の連番にも応用できる</a></li></ol></li><li><a href="#toc16" tabindex="0">RANK.EQ / RANK.AVGとの使い分け</a><ol><li><a href="#toc17" tabindex="0">3つの関数の違い早見表</a></li><li><a href="#toc18" tabindex="0">RANK.AVGの動作を具体例で確認</a></li><li><a href="#toc19" tabindex="0">判断フロー</a></li></ol></li><li><a href="#toc20" tabindex="0">実務で使える応用パターン5選</a><ol><li><a href="#toc21" tabindex="0">パターン1：テスト成績の順位表を作る</a></li><li><a href="#toc22" tabindex="0">パターン2：納期が早い順にランキングを付ける</a></li><li><a href="#toc23" tabindex="0">パターン3：別シートのデータを参照する（クロスシート順位）</a></li><li><a href="#toc24" tabindex="0">パターン4：条件付き順位（部署別ランキング）</a></li><li><a href="#toc25" tabindex="0">パターン5：ARRAYFORMULAで全行を一括順位付け（Googleスプレッドシート固有）</a></li></ol></li><li><a href="#toc26" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc27" tabindex="0">エラー1：#N/A エラー</a></li><li><a href="#toc28" tabindex="0">エラー2：文字列型の数字が原因で順位がずれる</a></li><li><a href="#toc29" tabindex="0">エラー3：#VALUE! エラー</a></li><li><a href="#toc30" tabindex="0">エラー4：空白セル混在で順位が期待と異なる</a></li></ol></li><li><a href="#toc31" tabindex="0">LARGE・SMALL関数との違い｜順位系9関数の比較表</a><ol><li><a href="#toc32" tabindex="0">RANKとLARGE/SMALLは逆方向</a></li><li><a href="#toc33" tabindex="0">順位・集計系の9関数を比較</a></li></ol></li><li><a href="#toc34" tabindex="0">上位N件を抽出する応用テクニック</a><ol><li><a href="#toc35" tabindex="0">LARGE/SMALL関数との組み合わせで上位N件を抽出</a></li><li><a href="#toc36" tabindex="0">RANK + ARRAYFORMULAで全行を一括入力</a></li></ol></li><li><a href="#toc37" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc38" tabindex="0">Q: RANK関数で同順位を全員に同じ順位を出すにはどうすればいいですか？</a></li><li><a href="#toc39" tabindex="0">Q: RANK関数の範囲は絶対参照にしたほうがいいですか？</a></li><li><a href="#toc40" tabindex="0">Q: テキスト（文字列）を含む列にRANKを使うとどうなりますか？</a></li></ol></li><li><a href="#toc41" tabindex="0">まとめ</a><ol><li><a href="#toc42" tabindex="0">この記事のポイント</a></li><li><a href="#toc43" tabindex="0">次のステップ：関連する関数で集計力を底上げ</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">RANK関数とは？値の順位を返す関数</span></h2>



<p class="wp-block-paragraph">RANK関数は、指定した値がデータの中で<strong>何番目か</strong>を返す関数です。読み方は「ランク」で、英語の「Rank（順位）」がそのまま名前になっています。</p>



<p class="wp-block-paragraph">たとえば売上データで「85万円は何位？」と聞きたいときに使います。答えを数値（1位、2位、3位…）で返してくれる関数です。</p>



<h3 class="wp-block-heading"><span id="toc2">RANK関数でできること</span></h3>



<p class="wp-block-paragraph">RANK関数の用途は、大きく分けて次の3つです。</p>



<ul class="wp-block-list"><li>売上やテスト点数など、数値データに自動で順位を付ける</li><li>降順（大きい順）と昇順（小さい順）を切り替えて、ランキング方向を自在に制御</li><li>同順位が発生したときの挙動を理解した上で、COUNTIFやRANK.AVGと組み合わせて柔軟に対応</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>スプレッドシートの <code>RANK</code> は <code>RANK.EQ</code> と同じ動作をします。Excel互換のために両方が用意されている関係で、新規作成のシートでは <code>RANK.EQ</code> を明示的に使うと意図が伝わりやすいですが、<code>RANK</code> のままでも問題ありません。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=RANK(値, 範囲, [順序])</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></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>0=降順（大きい順）、1=昇順（小さい順）。省略すると0（降順）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">第3引数がRANK関数のポイント</span></h3>



<p class="wp-block-paragraph">RANK関数で最も間違えやすいのが、第3引数の「順序」です。</p>



<ul class="wp-block-list"><li><strong>省略 または 0</strong>: 降順（大きい値が1位）</li><li><strong>1</strong>: 昇順（小さい値が1位）</li></ul>



<p class="wp-block-paragraph">売上ランキングなら「大きいほど良い」ので降順（省略）、納期やコストなら「小さいほど良い」ので昇順（1）と、使い分けてください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>スプレッドシートでは <code>TRUE</code>（=1）<code>FALSE</code>（=0）も受け付けますが、慣習的には <code>0</code> と <code>1</code> を使います。コードレビューの観点でも数値のほうが誤読が少ないです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc7">基本的な使い方：売上ランキングを自動化する</span></h2>



<p class="wp-block-paragraph">実際にRANK関数を使って、売上データに順位を付けてみましょう。</p>



<h3 class="wp-block-heading"><span id="toc8">サンプルデータ</span></h3>



<p class="wp-block-paragraph">次のような売上データがあるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（担当者）</th><th>B列（売上）</th><th>C列（順位）</th></tr></thead><tbody><tr><td>2行目</td><td>田中</td><td>85</td><td>=RANK(B2,$B$2:$B$8)</td></tr><tr><td>3行目</td><td>鈴木</td><td>92</td><td>&nbsp;</td></tr><tr><td>4行目</td><td>佐藤</td><td>78</td><td>&nbsp;</td></tr><tr><td>5行目</td><td>山田</td><td>95</td><td>&nbsp;</td></tr><tr><td>6行目</td><td>高橋</td><td>88</td><td>&nbsp;</td></tr><tr><td>7行目</td><td>伊藤</td><td>72</td><td>&nbsp;</td></tr><tr><td>8行目</td><td>渡辺</td><td>85</td><td>&nbsp;</td></tr></tbody></table></figure>



<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">C2セルに <code>=RANK(B2,$B$2:$B$8)</code> と入力し、C3〜C8にコピーします。</p>



<h3 class="wp-block-heading"><span id="toc9">絶対参照が必須</span></h3>



<p class="wp-block-paragraph">ここで重要なのが、範囲を<strong>絶対参照</strong>（<code>$B$2:$B$8</code>）にすることです。</p>



<p class="wp-block-paragraph">相対参照（<code>B2:B8</code>）のままコピーすると、3行目では <code>B3:B9</code>、4行目では <code>B4:B10</code> のように参照範囲がずれてしまい、全員が違う範囲で順位計算される異常状態になります。</p>



<p class="wp-block-paragraph"><code>$</code> を付けるだけで済む話なので、忘れないように習慣化しましょう。</p>



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



<h3 class="wp-block-heading"><span id="toc10">結果の見方</span></h3>



<p class="wp-block-paragraph">数式を入れると、次のような結果になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>担当者</th><th>売上</th><th>順位</th></tr></thead><tbody><tr><td>田中</td><td>85</td><td>4</td></tr><tr><td>鈴木</td><td>92</td><td>2</td></tr><tr><td>佐藤</td><td>78</td><td>6</td></tr><tr><td>山田</td><td>95</td><td>1</td></tr><tr><td>高橋</td><td>88</td><td>3</td></tr><tr><td>伊藤</td><td>72</td><td>7</td></tr><tr><td>渡辺</td><td>85</td><td>4</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">田中と渡辺はどちらも85で<strong>同じ4位</strong>、そして次は<strong>5位を飛ばして6位</strong>になっています。これがRANK関数の基本挙動です。同順位への対処法は次のセクションで詳しく見ていきます。</p>



<h3 class="wp-block-heading"><span id="toc11">降順と昇順の切り替え</span></h3>



<p class="wp-block-paragraph">第3引数を変えると、順位の方向を反転できます。</p>



<pre class="wp-block-code"><code>=RANK(B2,$B$2:$B$8, 0)   → 降順（大きい値が1位）
=RANK(B2,$B$2:$B$8, 1)   → 昇順（小さい値が1位）</code></pre>



<p class="wp-block-paragraph">同じ売上データで降順と昇順を比較すると、こうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>担当者</th><th>売上</th><th>降順（0）</th><th>昇順（1）</th></tr></thead><tbody><tr><td>田中</td><td>85</td><td>4</td><td>3</td></tr><tr><td>鈴木</td><td>92</td><td>2</td><td>6</td></tr><tr><td>山田</td><td>95</td><td>1</td><td>7</td></tr><tr><td>伊藤</td><td>72</td><td>7</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">売上ランキングなら降順（0）、原価順位やエネルギー消費量ランキングなど「小さいほど良い」指標なら昇順（1）が自然です。</p>



<h2 class="wp-block-heading"><span id="toc12">同順位への対処法｜COUNTIFで連番順位を作る</span></h2>



<p class="wp-block-paragraph">RANK関数の挙動で一番つまずきやすいのが、<strong>同順位の扱い</strong>です。</p>



<h3 class="wp-block-heading"><span id="toc13">RANKの同順位は「次の順位を飛ばす」方式</span></h3>



<p class="wp-block-paragraph">先ほどの例で田中と渡辺が両方4位になり、次が6位になったのは、RANK関数が「Standard Competition Ranking（標準競技順位）」と呼ばれるオリンピック方式を採用しているためです。</p>



<figure class="wp-block-table"><table><thead><tr><th>売上</th><th>RANKの順位</th></tr></thead><tbody><tr><td>95</td><td>1</td></tr><tr><td>92</td><td>2</td></tr><tr><td>88</td><td>3</td></tr><tr><td>85</td><td>4 ← 同順位</td></tr><tr><td>85</td><td>4 ← 同順位</td></tr><tr><td>78</td><td>6 ← 5位はスキップ</td></tr><tr><td>72</td><td>7</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スポーツの順位と同じで、2人が同率4位なら次は6位になるのが自然ですよね。この挙動で問題ない場面も多いです。</p>



<h3 class="wp-block-heading"><span id="toc14">連番（4, 5, 6）にしたいならCOUNTIFを組み合わせる</span></h3>



<p class="wp-block-paragraph">ただし「必ず連番で順位を付けたい」という要件もあります。その場合はCOUNTIF関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=RANK(B2,$B$2:$B$8)+COUNTIF($B$2:B2,B2)-1</code></pre>



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



<p class="wp-block-paragraph">この数式のしくみは、次の3つの部品に分解するとわかりやすいです。</p>



<ul class="wp-block-list"><li><code>RANK(B2,$B$2:$B$8)</code>: 通常のRANK順位（85は両方とも4になる）</li><li><code>COUNTIF($B$2:B2,B2)</code>: 現在行までに同じ値が何回出現したかをカウント</li><li><code>-1</code>: 初回（1回目）は加算しない調整</li></ul>



<p class="wp-block-paragraph"><strong>COUNTIFの範囲指定がポイント</strong>です。<code>$B$2:B2</code> のように最初のセルだけ絶対参照、末尾は相対参照にします。こうすると、行が下がるにつれて検索範囲が1つずつ伸びていきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>売上</th><th>RANK結果</th><th>COUNTIF結果</th><th>最終順位</th></tr></thead><tbody><tr><td>2行目 田中</td><td>85</td><td>4</td><td>1（初回）</td><td>4+1-1=4</td></tr><tr><td>8行目 渡辺</td><td>85</td><td>4</td><td>2（2回目）</td><td>4+2-1=5</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-rank-function/05_result_rank-countif.png/">_images/spreadsheet-rank-function/05_result_rank-countif.png</a></p>



<p class="wp-block-paragraph">これで田中が4位、渡辺が5位の連番順位になります。</p>



<h3 class="wp-block-heading"><span id="toc15">昇順の連番にも応用できる</span></h3>



<p class="wp-block-paragraph">昇順で連番にしたいときも、同じ構造で対応できます。</p>



<pre class="wp-block-code"><code>=RANK(B2,$B$2:$B$8,1)+COUNTIF($B$2:B2,B2)-1</code></pre>



<p class="wp-block-paragraph">第3引数に <code>1</code> を追加するだけです。</p>



<h2 class="wp-block-heading"><span id="toc16">RANK.EQ / RANK.AVGとの使い分け</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートには <code>RANK</code> 以外に、<code>RANK.EQ</code> と <code>RANK.AVG</code> という2つの兄弟関数があります。これを理解しないと、特にチームでの集計で「なぜか順位が小数になる」と混乱します。</p>



<h3 class="wp-block-heading"><span id="toc17">3つの関数の違い早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>同順位の扱い</th><th>使う場面</th></tr></thead><tbody><tr><td><code>RANK</code></td><td>同じ順位を付与、次を飛ばす</td><td>従来互換、Excel古い環境</td></tr><tr><td><code>RANK.EQ</code></td><td>同じ順位を付与、次を飛ばす（RANKと同一）</td><td>新規に書くなら推奨</td></tr><tr><td><code>RANK.AVG</code></td><td>同順位に「該当順位の平均」を付与</td><td>公平に平均で按分したい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>RANK</code> と <code>RANK.EQ</code> は<strong>完全に同じ動作</strong>です。<code>.EQ</code> は &#8220;Equal&#8221;（同順位は同じ順位）の意味で、Excel 2010 以降で明示的に追加された関数です。互換性のため <code>RANK</code> も残っています。</p>



<h3 class="wp-block-heading"><span id="toc18">RANK.AVGの動作を具体例で確認</span></h3>



<p class="wp-block-paragraph">同じ85が2つあるデータで比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>売上</th><th>RANK/RANK.EQ</th><th>RANK.AVG</th></tr></thead><tbody><tr><td>95</td><td>1</td><td>1</td></tr><tr><td>92</td><td>2</td><td>2</td></tr><tr><td>88</td><td>3</td><td>3</td></tr><tr><td>85</td><td>4</td><td><strong>4.5</strong></td></tr><tr><td>85</td><td>4</td><td><strong>4.5</strong></td></tr><tr><td>78</td><td>6</td><td>6</td></tr><tr><td>72</td><td>7</td><td>7</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/06_result_rank-avg.png" alt="06 result rank avg" /></figure>



<p class="wp-block-paragraph">85の2人は本来「4位」と「5位」を分け合うべきですが、優劣がない場合にRANK.AVGは平均の <code>(4+5)/2 = 4.5</code> を両方に付与します。</p>



<h3 class="wp-block-heading"><span id="toc19">判断フロー</span></h3>



<p class="wp-block-paragraph">どれを使うか迷ったら、次のフローで決めましょう。</p>



<ol class="wp-block-list"><li><strong>同順位は「同じ順位で次飛ばし」でOK</strong> → <code>RANK.EQ</code>（新規）または <code>RANK</code>（互換優先）</li><li><strong>同順位を連番にしたい（4, 5, 6）</strong> → <code>RANK + COUNTIF</code> の組み合わせ</li><li><strong>同順位を平均順位で公平に評価したい（4.5, 4.5）</strong> → <code>RANK.AVG</code></li></ol>



<p class="wp-block-paragraph">詳しくは <a href="https://mashukabu.com/spreadsheet-rank-eq-function/">スプレッドシートのRANK.EQ関数の使い方</a> と <a href="https://mashukabu.com/spreadsheet-rank-avg-function/">スプレッドシートのRANK.AVG関数の使い方</a> でそれぞれ深掘りしています。</p>



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



<p class="wp-block-paragraph">基本を押さえたところで、実務でよく出る5つのパターンを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc21">パターン1：テスト成績の順位表を作る</span></h3>



<p class="wp-block-paragraph">テストの点数に降順で順位を付ける、王道パターンです。</p>



<figure class="wp-block-table"><table><thead><tr><th>生徒名</th><th>点数</th><th>順位</th></tr></thead><tbody><tr><td>A</td><td>78</td><td>=RANK(B2,$B$2:$B$6) → 3</td></tr><tr><td>B</td><td>92</td><td>→ 1</td></tr><tr><td>C</td><td>65</td><td>→ 5</td></tr><tr><td>D</td><td>85</td><td>→ 2</td></tr><tr><td>E</td><td>72</td><td>→ 4</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最高点が1位になる降順が自然なので、第3引数は省略（または0）で使います。</p>



<h3 class="wp-block-heading"><span id="toc22">パターン2：納期が早い順にランキングを付ける</span></h3>



<p class="wp-block-paragraph">日付データに昇順で順位を付けて、優先度を可視化する例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>タスク</th><th>納期</th><th>優先順位</th></tr></thead><tbody><tr><td>企画書</td><td>3/25</td><td>=RANK(B2,$B$2:$B$5,1) → 1</td></tr><tr><td>報告書</td><td>4/10</td><td>→ 3</td></tr><tr><td>見積書</td><td>3/28</td><td>→ 2</td></tr><tr><td>資料</td><td>4/15</td><td>→ 4</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日付は内部的に数値（シリアル値）として扱われるため、昇順（1）にすれば早い日付ほど小さい順位になります。</p>



<h3 class="wp-block-heading"><span id="toc23">パターン3：別シートのデータを参照する（クロスシート順位）</span></h3>



<p class="wp-block-paragraph">「集計用シート」から「データ入力シート」の売上を参照して順位を付けるパターンです。</p>



<pre class="wp-block-code"><code>=RANK(B2, 'データ入力'!$B$2:$B$100)</code></pre>



<p class="wp-block-paragraph">シート名に日本語やスペースが含まれる場合は、シングルクォート <code>'</code> で囲みます。半角英数字だけなら省略可能です。</p>



<h3 class="wp-block-heading"><span id="toc24">パターン4：条件付き順位（部署別ランキング）</span></h3>



<p class="wp-block-paragraph">通常のRANK関数は範囲全体で順位を付けますが、「同じ部署内での順位」のような条件付き順位は SUMPRODUCT で実現します。</p>



<figure class="wp-block-table"><table><thead><tr><th>部署</th><th>氏名</th><th>売上</th><th>部署内順位</th></tr></thead><tbody><tr><td>営業1課</td><td>田中</td><td>85</td><td>=SUMPRODUCT(($A$2:$A$8=A2)*($C$2:$C$8>C2))+1 → 2</td></tr><tr><td>営業1課</td><td>鈴木</td><td>92</td><td>→ 1</td></tr><tr><td>営業2課</td><td>佐藤</td><td>78</td><td>→ 1</td></tr><tr><td>営業2課</td><td>山田</td><td>70</td><td>→ 2</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この式は「自分と同じ部署で、自分より大きい売上の人数＋1」で順位を計算しています。条件付き集計の王道テクニックです。</p>



<h3 class="wp-block-heading"><span id="toc25">パターン5：ARRAYFORMULAで全行を一括順位付け（Googleスプレッドシート固有）</span></h3>



<p class="wp-block-paragraph">Googleスプレッドシート特有の <code>ARRAYFORMULA</code> を使うと、1つの数式で全行に順位を展開できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B8=&quot;&quot;, &quot;&quot;, RANK(B2:B8, $B$2:$B$8)))</code></pre>



<p class="wp-block-paragraph">C2セルにこの数式を入れるだけで、C3〜C8には自動的に順位が表示されます。データ行が増えたときに自動で順位を追従させたい場合に強力です。</p>



<p class="wp-block-paragraph">Excelにはない Googleスプレッドシート固有の強みなので、Googleシート運用ならぜひ覚えておきましょう。</p>



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



<p class="wp-block-paragraph">RANK関数で遭遇しやすい4種類のエラーと対処法を整理します。</p>



<h3 class="wp-block-heading"><span id="toc27">エラー1：#N/A エラー</span></h3>



<p class="wp-block-paragraph">「値」が「範囲」に含まれていない、または範囲に対象データがないときに発生します。</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>値のセルが範囲外</td><td>範囲を正しく指定し直す</td></tr><tr><td>値が文字列型の数字</td><td>VALUE関数で数値に変換する</td></tr><tr><td>範囲にテキストしかない</td><td>数値を含む範囲を指定する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc28">エラー2：文字列型の数字が原因で順位がずれる</span></h3>



<p class="wp-block-paragraph">CSVインポートや他ツールからのコピペでよく起きる問題です。見た目は数字でも、セル内部では文字列として保存されているケースです。</p>



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



<p class="wp-block-paragraph">で数値に変換してからRANK関数に渡すか、「形式を指定して貼り付け → 値のみ」で貼り直すと解決します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>セルを選択して左揃えで表示されている数字は文字列型の可能性が高いです。数値は右揃えが既定なので、表示位置で見分けられます。</p></blockquote>



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



<p class="wp-block-paragraph">第1引数（値）や第2引数（範囲）に、数値として解釈できない値が含まれているときに発生します。</p>



<ul class="wp-block-list"><li>値のセルが空白 → IFERRORで空白処理する</li><li>範囲の先頭が文字列 → 数値だけの範囲を再指定</li></ul>



<h3 class="wp-block-heading"><span id="toc30">エラー4：空白セル混在で順位が期待と異なる</span></h3>



<p class="wp-block-paragraph">RANK関数は範囲内の空白セルは無視して数値のみで順位計算します。ただし、「値」自体が空白だとエラーになります。</p>



<p class="wp-block-paragraph">空白行がある表で順位を付けるなら、次のようにIF関数でラップすると安全です。</p>



<pre class="wp-block-code"><code>=IF(B2=&quot;&quot;, &quot;&quot;, RANK(B2, $B$2:$B$8))</code></pre>



<h2 class="wp-block-heading"><span id="toc31">LARGE・SMALL関数との違い｜順位系9関数の比較表</span></h2>



<p class="wp-block-paragraph">RANK関数とよく比較されるのが <a href="https://mashukabu.com/spreadsheet-large-function/">LARGE関数</a> と <a href="https://mashukabu.com/spreadsheet-small-function/">SMALL関数</a> です。両者は<strong>操作の方向が逆</strong>なので、使い分けを理解しましょう。</p>



<h3 class="wp-block-heading"><span id="toc32">RANKとLARGE/SMALLは逆方向</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>操作の方向</th><th>使う場面</th></tr></thead><tbody><tr><td>RANK</td><td>値 → 順位</td><td>「85万円は何位？」</td></tr><tr><td>LARGE</td><td>順位 → 値（大きい方）</td><td>「2位の売上はいくら？」</td></tr><tr><td>SMALL</td><td>順位 → 値（小さい方）</td><td>「下から2番目はいくら？」</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=RANK(85, B2:B8)     → 4（85は4番目に大きい）
=LARGE(B2:B8, 4)     → 85（4番目に大きい値）</code></pre>



<p class="wp-block-paragraph">RANKとLARGEは数学的に逆関数の関係です。「順位を知りたい」ならRANK、「値を取り出したい」ならLARGE/SMALLを選んでください。</p>



<h3 class="wp-block-heading"><span id="toc33">順位・集計系の9関数を比較</span></h3>



<p class="wp-block-paragraph">スプレッドシートには順位・集計に使える関数が多数あります。用途別に整理するとこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th><th>対応記事</th></tr></thead><tbody><tr><td>RANK</td><td>値の順位（同順位は飛ばす）</td><td>本記事</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rank-eq-function/">RANK.EQ</a></td><td>RANKと同一（明示版）</td><td>→</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rank-avg-function/">RANK.AVG</a></td><td>同順位は平均順位</td><td>→</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-large-function/">LARGE</a></td><td>N番目に大きい値</td><td>→</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-small-function/">SMALL</a></td><td>N番目に小さい値</td><td>→</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-max-function/">MAX</a></td><td>最大値（1位の値）</td><td>→</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-min-function/">MIN</a></td><td>最小値（最下位の値）</td><td>→</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-median-function/">MEDIAN</a></td><td>中央値</td><td>→</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-maxifs-function/">MAXIFS</a></td><td>条件付き最大値</td><td>→</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">順位付けをしたあとに「1位の人の名前を取り出したい」ような場面では、RANKだけでなくLARGEやMAXと組み合わせることが多いです。関数クラスター全体でデータ分析力が上がります。</p>



<h2 class="wp-block-heading"><span id="toc34">上位N件を抽出する応用テクニック</span></h2>



<p class="wp-block-paragraph">RANK関数は順位を付けるだけでなく、他の関数と組み合わせると「上位N件のデータを抜き出す」「全行に一括で順位を入れる」といった一歩進んだ使い方ができます。ここでは実務で頻出する2つのパターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc35">LARGE/SMALL関数との組み合わせで上位N件を抽出</span></h3>



<p class="wp-block-paragraph">順位を付けるだけでなく、「上位N件のデータをまるごと抽出したい」というニーズはよくあります。たとえば売上トップ3だけを別の表に並べたいケースです。</p>



<p class="wp-block-paragraph">このとき、RANK関数の結果をFILTER関数の条件に使うと、動的配列を活かしてスマートに実現できます。</p>



<pre class="wp-block-code"><code>// 3位以内のデータ抽出（FILTER+RANK）
=FILTER(A2:B10, RANK(B2:B10, B2:B10, 0) &lt;= 3)</code></pre>



<p class="wp-block-paragraph">この数式は、各行のB列の値にRANKを計算し、その順位が3以下の行だけをFILTERで抜き出します。担当者名（A列）と売上（B列）がセットで抽出されるので、上位だけの一覧表がワンクリックで完成します。</p>



<p class="wp-block-paragraph">データが更新されて順位が入れ替わっても、抽出結果が自動で追従するのが動的配列の強みです。手作業で並べ替えてコピーする必要がなくなります。</p>



<h3 class="wp-block-heading"><span id="toc36">RANK + ARRAYFORMULAで全行を一括入力</span></h3>



<p class="wp-block-paragraph">B列の全行にRANKを入れたいとき、1行ずつ数式をコピーするのは手間です。ARRAYFORMULAを1つ使えば、まとめて全行に順位を展開できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B100&lt;&gt;&quot;&quot;, RANK(B2:B100, B2:B100, 0), &quot;&quot;))</code></pre>



<p class="wp-block-paragraph"><code>IF(B2:B100<>"", ...)</code> で空白セルを除外しながら、データが入っている行だけに順位を付けます。空白行に余計な順位やエラーが出ないので、表の見た目もきれいに保てます。</p>



<p class="wp-block-paragraph">データ行が増減しても数式を直す必要がないため、運用シートで特に重宝するパターンです。</p>



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



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



<h3 class="wp-block-heading"><span id="toc38">Q: RANK関数で同順位を全員に同じ順位を出すにはどうすればいいですか？</span></h3>



<p class="wp-block-paragraph">RANK関数はデフォルトで同順位に同じ順位番号を返します。2人が同点で1位なら、両方に「1」が返り、次は「3」（2は飛ぶ）になります。これが望ましくない場合はCOUNTIF+RANKで連番化するか、RANK.AVGで平均順位を使う方法があります。</p>



<h3 class="wp-block-heading"><span id="toc39">Q: RANK関数の範囲は絶対参照にしたほうがいいですか？</span></h3>



<p class="wp-block-paragraph">はい、通常は絶対参照（$）にします。<code>=RANK(B2, $B$2:$B$10, 0)</code> のように範囲を固定しないと、数式をコピーしたときに範囲がずれて正しい順位が計算されません。</p>



<h3 class="wp-block-heading"><span id="toc40">Q: テキスト（文字列）を含む列にRANKを使うとどうなりますか？</span></h3>



<p class="wp-block-paragraph">エラーになります。RANK関数は数値のみを対象とします。文字列が含まれる場合は、IFERRORで囲むか、数値のみのセルに対して使うようにしてください。</p>



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



<p class="wp-block-paragraph">RANK関数は「データの中で値が何番目か」を返す、スプレッドシート順位付けの基本関数です。売上ランキング、テスト成績、納期優先度など、実務で頻出する場面に幅広く対応できます。</p>



<h3 class="wp-block-heading"><span id="toc42">この記事のポイント</span></h3>



<ul class="wp-block-list"><li>構文は <code>=RANK(値, 範囲, [順序])</code> の3引数</li><li>第3引数: 0（省略可）=降順、1=昇順</li><li>範囲は<strong>絶対参照</strong>（<code>$</code>）で固定するのを忘れずに</li><li>同順位は「同じ順位で次飛ばし」方式（RANK.EQと同一）</li><li>連番にしたいなら <code>RANK + COUNTIF($B$2:B2,B2)-1</code></li><li>平均順位で按分したいなら <code>RANK.AVG</code></li><li>条件付き順位（部署別など）は <code>SUMPRODUCT</code> で代替</li><li>ARRAYFORMULAで全行一括順位付けはGoogleシート固有の強み</li><li>上位N件の抽出は <code>FILTER + RANK</code> で動的に実現できる</li><li>LARGE/SMALLは「順位→値」、RANKは「値→順位」の逆方向</li></ul>



<h3 class="wp-block-heading"><span id="toc43">次のステップ：関連する関数で集計力を底上げ</span></h3>



<p class="wp-block-paragraph">RANK関数の使い方がわかったら、順位・集計系の関連関数もあわせて覚えておくと分析の幅が広がります。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-rank-eq-function/">スプレッドシートのRANK.EQ関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-rank-avg-function/">スプレッドシートのRANK.AVG関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-large-function/">スプレッドシートのLARGE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-small-function/">スプレッドシートのSMALL関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-max-function/">スプレッドシートのMAX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-min-function/">スプレッドシートのMIN関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-median-function/">スプレッドシートのMEDIAN関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-maxifs-function/">スプレッドシートのMAXIFS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-countif-function/">スプレッドシートのCOUNTIF関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-rank-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのLARGE関数の使い方｜k番目に大きい値を取り出す方法</title>
		<link>https://mashukabu.com/spreadsheet-large-function/</link>
					<comments>https://mashukabu.com/spreadsheet-large-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 11:24:49 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[k番目]]></category>
		<category><![CDATA[LARGE関数]]></category>
		<category><![CDATA[MAX関数]]></category>
		<category><![CDATA[SMALL関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データ分析]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4055</guid>

					<description><![CDATA[スプレッドシートのLARGE関数の使い方を基本構文から実務活用パターンまで解説。2番目・3番目に大きい値の取り出し方、SMALLとの違い、RANK関数との使い分け、よくあるエラーの対処法もまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「売上トップ3を取り出したいのに、MAX関数だと1位しかわからない」。そんな経験はありませんか？</p>



<p class="wp-block-paragraph">2番目、3番目に大きい値を手作業で探すのは面倒ですよね。データが増えるほどミスのリスクも上がります。</p>



<p class="wp-block-paragraph">LARGE関数を使えば、k番目に大きい値を一発で取り出せます。この記事では基本の書き方から実務パターン、エラー対処法まで丁寧に解説します。</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">LARGE関数とは？k番目に大きい値を返す関数</a><ol><li><a href="#toc2" tabindex="0">基本構文</a></li><li><a href="#toc3" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc4" tabindex="0">基本的な使い方</a></li><li><a href="#toc5" tabindex="0">LARGE関数の実務活用パターン4選</a><ol><li><a href="#toc6" tabindex="0">売上トップ3を取り出す</a></li><li><a href="#toc7" tabindex="0">2番目に高い点数を取得する（外れ値の除外）</a></li><li><a href="#toc8" tabindex="0">上位N件の合計を求める（LARGE + SUM）</a></li><li><a href="#toc9" tabindex="0">2番目に大きい値の担当者名を取得する</a></li></ol></li><li><a href="#toc10" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc11" tabindex="0">#NUM! エラー（kがデータ数を超えている）</a></li><li><a href="#toc12" tabindex="0">#VALUE! エラー（kに数値以外を指定）</a></li></ol></li><li><a href="#toc13" tabindex="0">MAX関数との使い分け</a></li><li><a href="#toc14" tabindex="0">SMALLとの対比・RANK関数との違い</a><ol><li><a href="#toc15" tabindex="0">SMALL関数（k番目に小さい値）</a></li><li><a href="#toc16" tabindex="0">RANK関数（順位を求める関数）</a></li></ol></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">この記事のポイント</a></li><li><a href="#toc19" tabindex="0">次のステップ：関連する集計関数</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">LARGE関数とは？k番目に大きい値を返す関数</span></h2>



<p class="wp-block-paragraph">LARGE関数は、データの中から<strong>k番目に大きい値</strong>を返す関数です。読み方は「ラージ」で、英語の「Large（大きい）」がそのまま名前になっています。</p>



<p class="wp-block-paragraph">たとえばk=1なら最大値、k=2なら2番目に大きい値を返します。「上位N番目の値を取り出す」ときに使う関数です。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-max-function/">MAX関数</a>は常に1番目（最大値）しか返せません。「2番目以降も取り出したい」ときにLARGE関数の出番です。</p>



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



<pre class="wp-block-code"><code>=LARGE(データ, k)</code></pre>



<h3 class="wp-block-heading"><span id="toc3">引数の説明</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>値を取り出す対象のセル範囲や配列</td></tr><tr><td>k</td><td>必須</td><td>何番目に大きい値を取り出すか（1=最大値）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数はたった2つです。シンプルなので、すぐに覚えられますよ。</p>



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



<p class="wp-block-paragraph">実際にLARGE関数を使ってみましょう。</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">B2:B8に「85, 92, 78, 95, 88, 70, 100」の7個の数値が入っているとします。</p>



<pre class="wp-block-code"><code>=LARGE(B2:B8, 1)  → 100（1番目に大きい値）
=LARGE(B2:B8, 2)  → 95（2番目に大きい値）
=LARGE(B2:B8, 3)  → 92（3番目に大きい値）</code></pre>



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



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



<p class="wp-block-paragraph">kの値を変えるだけで、好きな順位の値を取り出せます。k=1のときは<a href="https://mashukabu.com/spreadsheet-max-function/">MAX関数</a>と同じ結果です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>LARGE関数は数値だけを対象にします。文字列・空白セル・論理値は無視されます。</p></blockquote>



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



<p class="wp-block-paragraph">基本を押さえたところで、実務での使いどころを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc6">売上トップ3を取り出す</span></h3>



<p class="wp-block-paragraph">月次売上の一覧から、上位3件の金額を取り出すケースです。</p>



<pre class="wp-block-code"><code>=LARGE(C2:C13, 1)  → 1位の売上額
=LARGE(C2:C13, 2)  → 2位の売上額
=LARGE(C2:C13, 3)  → 3位の売上額</code></pre>



<p class="wp-block-paragraph">C列に12か月分の売上金額が入っていれば、トップ3が一発で表示されます。上司への報告資料で「上位3か月の実績」を見せたいときに便利です。</p>



<h3 class="wp-block-heading"><span id="toc7">2番目に高い点数を取得する（外れ値の除外）</span></h3>



<p class="wp-block-paragraph">テスト結果で「最高点は満点で参考にならない」という場面があります。そんなときはk=2を指定して、2番目に高い点数を取り出しましょう。</p>



<pre class="wp-block-code"><code>=LARGE(D2:D50, 2)</code></pre>



<p class="wp-block-paragraph">最高点を除いた実質的なトップスコアが確認できます。データ分析で外れ値を除外したいときにも使えるテクニックです。</p>



<h3 class="wp-block-heading"><span id="toc8">上位N件の合計を求める（LARGE + SUM）</span></h3>



<p class="wp-block-paragraph">「売上トップ3の合計」を求めたい場合は、<a href="https://mashukabu.com/spreadsheet-sum-function/">SUM関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=SUM(LARGE(C2:C13, {1,2,3}))</code></pre>



<p class="wp-block-paragraph"><code>{1,2,3}</code> は配列定数です。LARGE関数が1位・2位・3位の値をそれぞれ返し、SUM関数で合計します。</p>



<p class="wp-block-paragraph">上位5件にしたい場合は <code>{1,2,3,4,5}</code> に変えるだけです。手軽に上位N件の合計が出せますよ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_large-sum.png" alt="04 result large sum" /></figure>



<h3 class="wp-block-heading"><span id="toc9">2番目に大きい値の担当者名を取得する</span></h3>



<p class="wp-block-paragraph">「2番目に高い売上の担当者は誰？」を調べるには、INDEX関数とMATCH関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=INDEX(A2:A10, MATCH(LARGE(B2:B10, 2), B2:B10, 0))</code></pre>



<p class="wp-block-paragraph">処理の流れはこうです。</p>



<ol class="wp-block-list"><li>LARGE(B2:B10, 2) → 2番目に大きい売上額を取得</li><li>MATCH(&#8230;, B2:B10, 0) → その値のある行番号を検索</li><li>INDEX(A2:A10, &#8230;) → 対応する担当者名を取得</li></ol>



<p class="wp-block-paragraph">ちょっと長い数式に見えますが、やっていることはシンプルです。LARGE関数で値を特定し、MATCHで位置を探し、INDEXで名前を取る3ステップです。</p>



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



<p class="wp-block-paragraph">LARGE関数で発生するエラーを2つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">#NUM! エラー（kがデータ数を超えている）</span></h3>



<p class="wp-block-paragraph">これが最も多いエラーです。データが7個しかないのにk=10を指定すると、#NUM!エラーになります。</p>



<pre class="wp-block-code"><code>=LARGE(B2:B8, 10)  → #NUM!</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_error_num.png" alt="05 error num" /></figure>



<p class="wp-block-paragraph">B2:B8は7セルなので、kは1から7までしか指定できません。k=0やマイナスの値でもエラーになります。</p>



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



<ul class="wp-block-list"><li>kの値がデータ数を超えていないか確認する</li><li>データ数が変動する場合は <code>COUNT(B2:B8)</code> で件数を把握する</li><li>kの上限チェックには次の数式が使えます</li></ul>



<pre class="wp-block-code"><code>=IF(E1&lt;=COUNT(B2:B8), LARGE(B2:B8, E1), &quot;データ不足&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc12">#VALUE! エラー（kに数値以外を指定）</span></h3>



<p class="wp-block-paragraph">kに文字列やセル参照の文字列型を指定するとエラーです。</p>



<pre class="wp-block-code"><code>=LARGE(B2:B8, &quot;二&quot;)  → #VALUE!</code></pre>



<p class="wp-block-paragraph">kには必ず数値を指定してください。セル参照を使う場合は、参照先が数値型か確認しましょう。</p>



<h2 class="wp-block-heading"><span id="toc13">MAX関数との使い分け</span></h2>



<p class="wp-block-paragraph">LARGE関数とMAX関数の関係はシンプルです。</p>



<figure class="wp-block-table"><table><thead><tr><th>場面</th><th>使う関数</th><th>書き方</th></tr></thead><tbody><tr><td>1番目に大きい値（最大値）</td><td>MAX</td><td><code>=MAX(B2:B8)</code></td></tr><tr><td>2番目以降に大きい値</td><td>LARGE</td><td><code>=LARGE(B2:B8, 2)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1番目だけ必要ならMAX関数で十分です。2番目以降が必要になったらLARGE関数に切り替えてください。</p>



<p class="wp-block-paragraph">ちなみに <code>=LARGE(B2:B8, 1)</code> と <code>=MAX(B2:B8)</code> は同じ結果を返します。ただし可読性を考えると、最大値にはMAX関数を使うほうが意図が伝わりやすいです。</p>



<h2 class="wp-block-heading"><span id="toc14">SMALLとの対比・RANK関数との違い</span></h2>



<p class="wp-block-paragraph">LARGE関数と混同しやすい関数が2つあります。</p>



<h3 class="wp-block-heading"><span id="toc15">SMALL関数（k番目に小さい値）</span></h3>



<p class="wp-block-paragraph">SMALL関数はLARGE関数の逆で、<strong>k番目に小さい値</strong>を返します。構文は完全に同じ構造です。</p>



<pre class="wp-block-code"><code>=LARGE(B2:B8, 1)  → 100（最大値）
=SMALL(B2:B8, 1)  → 70（最小値）</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th><th>k=1のとき</th></tr></thead><tbody><tr><td>LARGE</td><td>k番目に大きい値</td><td>MAX関数と同じ</td></tr><tr><td>SMALL</td><td>k番目に小さい値</td><td>MIN関数と同じ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「上位の値ならLARGE、下位の値ならSMALL」と覚えてください。</p>



<h3 class="wp-block-heading"><span id="toc16">RANK関数（順位を求める関数）</span></h3>



<p class="wp-block-paragraph">RANK関数はLARGE関数と<strong>逆方向の操作</strong>をします。</p>



<ul class="wp-block-list"><li><strong>LARGE関数</strong>: 順位を指定 → 値を返す（「2番目に大きい値は？」）</li><li><strong>RANK関数</strong>: 値を指定 → 順位を返す（「95点は何番目？」）</li></ul>



<pre class="wp-block-code"><code>=LARGE(B2:B8, 2)       → 95（2番目に大きい値）
=RANK(95, B2:B8)        → 2（95は2番目）</code></pre>



<p class="wp-block-paragraph">「値を取り出したい」ならLARGE関数を使います。「順位を知りたい」ならRANK関数を使います。目的に応じて使い分けてください。</p>



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



<p class="wp-block-paragraph">LARGE関数は「k番目に大きい値を取り出す」関数です。MAX関数では対応できない「2番目以降の値」を簡単に取得できます。</p>



<h3 class="wp-block-heading"><span id="toc18">この記事のポイント</span></h3>



<ul class="wp-block-list"><li>構文は <code>=LARGE(データ, k)</code> のたった2引数</li><li>k=1なら最大値（MAXと同じ）、k=2以降で真価を発揮</li><li>SUM関数と組み合わせれば上位N件の合計も出せる</li><li>#NUM!エラーはkがデータ数を超えているのが原因</li><li>SMALLは逆方向（k番目に小さい値）、RANKは逆操作（値→順位）</li></ul>



<h3 class="wp-block-heading"><span id="toc19">次のステップ：関連する集計関数</span></h3>



<p class="wp-block-paragraph">LARGE関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データの分析力がぐっと上がりますよ。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-max-function/">スプレッドシートのMAX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-min-function/">スプレッドシートのMIN関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-average-function/">スプレッドシートのAVERAGE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-count-function/">スプレッドシートのCOUNT関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-large-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのROW関数の使い方｜行の増減に強い連番と5つの実務パターン</title>
		<link>https://mashukabu.com/excel-function-howto-use-row/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-row/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 27 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[INDEX関数]]></category>
		<category><![CDATA[INDIRECT関数]]></category>
		<category><![CDATA[ROW関数]]></category>
		<category><![CDATA[SEQUENCE関数]]></category>
		<category><![CDATA[SMALL関数]]></category>
		<category><![CDATA[行番号]]></category>
		<category><![CDATA[連番]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2063</guid>

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



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




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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">まずは手入力の連番を =ROW()-ROW($A$1) に置き換えるところから試してみてください。行を挿入しても連番が崩れないので、リストのメンテナンスがぐっと楽になりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-row/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのLARGE関数｜N番目に大きい値を取り出す使い方</title>
		<link>https://mashukabu.com/excel-function-howto-use-large/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-large/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 30 Apr 2022 13:25:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[INDEX関数]]></category>
		<category><![CDATA[LARGE関数]]></category>
		<category><![CDATA[MATCH関数]]></category>
		<category><![CDATA[MAX関数]]></category>
		<category><![CDATA[SMALL関数]]></category>
		<category><![CDATA[順位]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1777</guid>

					<description><![CDATA[ExcelのLARGE関数を使うとN番目に大きい値をデータの並び順を変えずに取得できます。基本構文・引数の解説から、IF・ROW・INDEX関数との応用組み合わせ、SMALL関数との使い分け、よくある#NUM!エラーの対処法まで、実務で使える例つきで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「N番目に大きい値を取り出したい」。Excelで売上データやテスト成績を扱っていると、こんな場面は意外と多いですよね。最大値だけなら<a href="https://mashukabu.com/excel-function-howto-use-max/">MAX関数</a>で一発ですが、「上から3番目」となるとお手上げ……。</p>



<p class="wp-block-paragraph">そこで活躍するのが <strong>LARGE関数</strong> です。順位を指定するだけで、大きい方からN番目の値をサッと取得できます。この記事では、基本の書き方から実務で役立つ応用パターンまで、しっかり解説していきます。</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">ExcelのLARGE関数とは？読み方と基本の仕組み</a></li><li><a href="#toc2" tabindex="0">LARGE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">LARGE関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">最も大きい値を取得する</a></li><li><a href="#toc7" tabindex="0">3番目に大きい値を取得する</a></li><li><a href="#toc8" tabindex="0">大きい順にトップ5を一覧表示する</a></li><li><a href="#toc9" tabindex="0">同じ値が複数あるときの動作</a></li></ol></li><li><a href="#toc10" tabindex="0">LARGE関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: 売上トップ3を抽出</a></li><li><a href="#toc12" tabindex="0">パターン2: INDEX+MATCH+LARGEで上位者の名前を取得</a></li><li><a href="#toc13" tabindex="0">パターン3: IFERRORで「データなし」を表示</a></li><li><a href="#toc14" tabindex="0">パターン4: 条件付きでN番目に大きい値を取得（IF+LARGE配列数式）</a></li><li><a href="#toc15" tabindex="0">パターン5: ROW関数と組み合わせた動的な順位指定</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc17" tabindex="0">MAX関数との違い――LARGEの方が便利な場面</a></li><li><a href="#toc18" tabindex="0">SMALL関数との違い・使い分け</a><ol><li><a href="#toc19" tabindex="0">比較表</a></li><li><a href="#toc20" tabindex="0">どちらを使うべき？</a></li><li><a href="#toc21" tabindex="0">順位系の関連関数</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのLARGE関数とは？読み方と基本の仕組み</span></h2>



<p class="wp-block-paragraph">LARGE関数は <strong>「ラージ関数」</strong> と読みます。英語の「large（大きい）」がそのまま名前の由来です。</p>



<p class="wp-block-paragraph">この関数は、指定した範囲の中から <strong>N番目に大きい値</strong> を返します。たとえば「2番目に大きい値」や「5番目に大きい値」を、順位を指定するだけで取得できます。</p>



<p class="wp-block-paragraph">動作のイメージはシンプルです。データを降順（大きい順）に並べて、指定した順番の値を返す――ただそれだけです。実際にセルを並べ替える必要はありません。</p>



<p class="wp-block-paragraph">テキストや空白セルは自動的に無視され、数値だけが対象になります。すべてのExcelバージョンと Microsoft 365 に対応しています。</p>



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



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



<pre class="wp-block-code"><code>=LARGE(配列, 順位)</code></pre>



<p class="wp-block-paragraph">引数はたった2つ。どちらも必須です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</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>数値データが入ったセル範囲や配列</td></tr><tr><td>順位</td><td>必須</td><td>大きい方から何番目かを指定する数値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「配列」にはセル範囲（例: B2:B8）を指定します。「順位」には1以上の整数を入れてください。1を指定すれば最大値、2なら2番目に大きい値が返ります。</p>



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



<p class="wp-block-paragraph">ここからは実際の数式を見ていきましょう。サンプルデータとして、B2:B8に次の売上データが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>値</th></tr></thead><tbody><tr><td>B2</td><td>410</td></tr><tr><td>B3</td><td>280</td></tr><tr><td>B4</td><td>95</td></tr><tr><td>B5</td><td>320</td></tr><tr><td>B6</td><td>180</td></tr><tr><td>B7</td><td>410</td></tr><tr><td>B8</td><td>150</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">降順に並べると <strong>410, 410, 320, 280, 180, 150, 95</strong> です。この順番を頭に入れておくと、結果が確認しやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc6">最も大きい値を取得する</span></h3>



<pre class="wp-block-code"><code>=LARGE(B2:B8, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>410</strong> です。順位に1を指定すると最大値が返ります。この結果は <code>=MAX(B2:B8)</code> と同じです。</p>



<h3 class="wp-block-heading"><span id="toc7">3番目に大きい値を取得する</span></h3>



<pre class="wp-block-code"><code>=LARGE(B2:B8, 3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>320</strong> です。降順で確認すると、410, 410, <strong>320</strong>, 280……。たしかに3番目ですね。</p>



<h3 class="wp-block-heading"><span id="toc8">大きい順にトップ5を一覧表示する</span></h3>



<p class="wp-block-paragraph">D2〜D6のセルに、順位1〜5をそれぞれ入力する方法です。</p>



<pre class="wp-block-code"><code>D2: =LARGE(B2:B8, 1)  → 410
D3: =LARGE(B2:B8, 2)  → 410
D4: =LARGE(B2:B8, 3)  → 320
D5: =LARGE(B2:B8, 4)  → 280
D6: =LARGE(B2:B8, 5)  → 180</code></pre>



<p class="wp-block-paragraph">順位の部分をセル参照にすれば、数式のコピーだけで一覧が作れます。たとえばC列に1〜5の連番を入れておき、=LARGE(B2:B8, C2) としてオートフィルすると効率的です。</p>



<h3 class="wp-block-heading"><span id="toc9">同じ値が複数あるときの動作</span></h3>



<p class="wp-block-paragraph">サンプルデータには410が2つあります。LARGE関数では、同じ値でもそれぞれ別の順位としてカウントされます。</p>



<ul class="wp-block-list"><li>=LARGE(B2:B8, 1) → <strong>410</strong></li><li>=LARGE(B2:B8, 2) → <strong>410</strong></li><li>=LARGE(B2:B8, 3) → <strong>320</strong></li></ul>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-rank/">RANK関数</a>では同じ値に同順位が割り当てられますが、LARGEは重複値も1つずつ数えます。この違いは覚えておくと便利です。</p>



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



<p class="wp-block-paragraph">基本がわかったところで、実務でそのまま使えるパターンを5つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン1: 売上トップ3を抽出</span></h3>



<p class="wp-block-paragraph">売上データの中から上位3件だけ取り出したい場面です。</p>



<p class="wp-block-paragraph">A列に商品名、B列に売上金額が入っているとします。</p>



<pre class="wp-block-code"><code>=LARGE($B$2:$B$10, 1)  → 上位1位の金額
=LARGE($B$2:$B$10, 2)  → 上位2位の金額
=LARGE($B$2:$B$10, 3)  → 上位3位の金額</code></pre>



<p class="wp-block-paragraph">絶対参照（$記号）を使えば、数式をコピーしても範囲がずれません。月末のレポートやプレゼン資料で上位の数字をすぐに確認できるパターンです。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: INDEX+MATCH+LARGEで上位者の名前を取得</span></h3>



<p class="wp-block-paragraph">LARGE関数で値を取り出せても、「その値に対応する名前も知りたい」ことがありますよね。そんなときは<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>を組み合わせます。</p>



<p class="wp-block-paragraph">A列に担当者名、B列に売上金額が入っている場合の数式です。</p>



<pre class="wp-block-code"><code>=INDEX($A$2:$A$10, MATCH(LARGE($B$2:$B$10, 1), $B$2:$B$10, 0))</code></pre>



<p class="wp-block-paragraph">この数式の流れを分解してみましょう。</p>



<ol class="wp-block-list"><li>LARGE($B$2:$B$10, 1) で最も大きい売上金額を取得</li><li>MATCH(…, $B$2:$B$10, 0) でその金額の行位置を検索</li><li>INDEX($A$2:$A$10, …) でその行の担当者名を返す</li></ol>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。「値を見つけて、その行の名前を返す」という2ステップの処理です。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: IFERRORで「データなし」を表示</span></h3>



<p class="wp-block-paragraph">トップ5の一覧を作ったとき、データが5件に満たないとエラーになります。これを防ぐのが<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>です。</p>



<pre class="wp-block-code"><code>=IFERROR(LARGE(B2:B8, E2), &quot;データなし&quot;)</code></pre>



<p class="wp-block-paragraph">LARGE関数の順位がデータ件数を超えると #NUM! エラーが出ます。IFERRORで囲めば、エラーの代わりに任意のメッセージを表示できます。データ件数が変動するリストでは、この書き方を習慣にしておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン4: 条件付きでN番目に大きい値を取得（IF+LARGE配列数式）</span></h3>



<p class="wp-block-paragraph">「営業部だけの中で最も大きい値」のように、条件付きで抽出したい場面もあります。A列に部署名、B列に金額が入っている場合の数式です。</p>



<pre class="wp-block-code"><code>=LARGE(IF($A$2:$A$10=&quot;営業部&quot;, $B$2:$B$10), 1)</code></pre>



<p class="wp-block-paragraph">Excel 2019以前のバージョンでは、<strong>Ctrl + Shift + Enter</strong> で確定する必要があります。Microsoft 365 や Excel 2021 ではそのままEnterで動作します。</p>



<p class="wp-block-paragraph">IF関数が条件に合う値だけの配列を作り、LARGEがその中からN番目に大きい値を返す仕組みです。<a href="https://mashukabu.com/excel-function-howto-use-maxifs/">MAXIFS関数</a>は最大値しか取れませんが、この方法なら2番目・3番目も取得できます。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5: ROW関数と組み合わせた動的な順位指定</span></h3>



<p class="wp-block-paragraph">「大きい順に並べたリストを、数式のコピーだけで作りたい」。そんなときに活躍するのが<a href="https://mashukabu.com/excel-function-howto-use-row/">ROW関数</a>との組み合わせです。</p>



<p class="wp-block-paragraph">D2セルに次の数式を入れ、下方向にオートフィルします。</p>



<pre class="wp-block-code"><code>=IFERROR(LARGE($B$2:$B$8, ROW()-1), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">ROW関数はセルの行番号を返します。D2なら ROW()=2 なので ROW()-1=1、D3なら ROW()-1=2……と自動的に順位が増えていきます。IFERRORと組み合わせれば、データ件数を超えた行は空白になります。</p>



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



<p class="wp-block-paragraph">LARGE関数で遭遇しやすいエラーは主に2種類です。</p>



<p class="wp-block-paragraph"><strong>#NUM! エラー</strong></p>



<p class="wp-block-paragraph">このエラーが出る原因は2つあります。</p>



<ul class="wp-block-list"><li><strong>順位がデータ件数を超えている</strong> — データが7件なのに =LARGE(B2:B8, 10) と指定した場合です。データの件数を COUNTA や COUNT で確認してみてください。</li><li><strong>範囲に数値が1つもない</strong> — テキストだけのセル範囲を指定した場合に発生します。</li></ul>



<p class="wp-block-paragraph"><strong>#VALUE! エラー</strong></p>



<ul class="wp-block-list"><li><strong>順位に数値以外を指定した</strong> — 「三」のようなテキストや、数値に見えて実はテキストのセルが原因です。<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で数値に変換すると解消することがあります。</li><li><strong>順位に0以下や小数を指定した</strong> — 順位は1以上の整数である必要があります。</li></ul>



<p class="wp-block-paragraph">エラーの種類と対処の全体像は、<a href="https://mashukabu.com/excel-error-value-list/">エラー値の種類と対処法一覧</a>も参考にしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc17">MAX関数との違い――LARGEの方が便利な場面</span></h2>



<p class="wp-block-paragraph">「最大値を取るだけならMAX関数でいいのでは？」と思いますよね。たしかに、=LARGE(範囲, 1) と =MAX(範囲) の結果はまったく同じです。</p>



<p class="wp-block-paragraph">ではLARGEを使うメリットはどこにあるのでしょうか。</p>



<ul class="wp-block-list"><li><strong>2番目以降の値が取れる</strong> — MAX関数は最大値しか返せません。LARGE関数なら順位を変えるだけで何番目でも取得できます。</li><li><strong>大きい順の一覧を作れる</strong> — ROW関数と組み合わせれば、降順のランキングが数式だけで完成します。</li><li><strong>条件付きのN番目に対応</strong> — IF関数と組み合わせれば、条件を満たすデータの中からN番目が取れます。</li></ul>



<p class="wp-block-paragraph">逆に、単純に最大値だけほしい場合は<a href="https://mashukabu.com/excel-function-howto-use-max/">MAX関数</a>のほうがシンプルで読みやすいです。場面に応じて使い分けてみてください。</p>



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



<p class="wp-block-paragraph">LARGE関数と対になる関数が<a href="https://mashukabu.com/excel-function-howto-use-small/">SMALL関数</a>です。構文はまったく同じで、方向だけが逆になります。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>LARGE関数</th><th>SMALL関数</th></tr></thead><tbody><tr><td>方向</td><td>大きい方からN番目</td><td>小さい方からN番目</td></tr><tr><td>構文</td><td>=LARGE(配列, 順位)</td><td>=SMALL(配列, 順位)</td></tr><tr><td>順位1のとき</td><td>最大値（=MAX）</td><td>最小値（=MIN）</td></tr><tr><td>用途例</td><td>売上トップ抽出</td><td>コスト下位抽出</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">どちらを使うべき？</span></h3>



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



<ul class="wp-block-list"><li><strong>高い方から探したい</strong> → LARGE関数（最高売上、最長記録など）</li><li><strong>低い方から探したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-small/">SMALL関数</a>（最低コスト、最短時間など）</li></ul>



<p class="wp-block-paragraph">どちらも引数の数やエラーの挙動は同じです。覚えるのは「方向が逆」という一点だけで大丈夫です。</p>



<h3 class="wp-block-heading"><span id="toc21">順位系の関連関数</span></h3>



<p class="wp-block-paragraph">順位や最大・最小にかかわる関数は他にもあります。目的に応じて選んでみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-rank/">RANK関数</a> — データの中での順位を返す</li><li><a href="https://mashukabu.com/excel-function-howto-use-max/">MAX関数</a> / <a href="https://mashukabu.com/excel-function-howto-use-min/">MIN関数</a> — 最大値・最小値を取得</li><li><a href="https://mashukabu.com/excel-function-howto-use-median/">MEDIAN関数</a> — 中央値を取得</li><li><a href="https://mashukabu.com/excel-function-howto-use-maxifs/">MAXIFS関数</a> / <a href="https://mashukabu.com/excel-function-howto-use-minifs/">MINIFS関数</a> — 条件付きの最大値・最小値</li></ul>



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



<p class="wp-block-paragraph">LARGE関数は、データの中から <strong>N番目に大きい値</strong> を取り出す関数です。</p>



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



<ul class="wp-block-list"><li>構文は =LARGE(配列, 順位) で、引数は2つだけ</li><li>順位を変えるだけで、2番目・3番目と自由に取得できる</li><li>INDEX+MATCHと組み合わせれば、対応する名前も取得可能</li><li>IFERRORで囲めば、エラー時も安全に処理できる</li><li>IF関数との配列数式で、条件付きの抽出にも対応</li><li>最大値だけなら<a href="https://mashukabu.com/excel-function-howto-use-max/">MAX関数</a>、小さい方からなら<a href="https://mashukabu.com/excel-function-howto-use-small/">SMALL関数</a>と使い分ける</li></ul>



<p class="wp-block-paragraph">LARGE関数を使いこなせば、データの並べ替えなしでランキングが作れます。ぜひ日々の業務で試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-large/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのSMALL関数｜N番目に小さい値を取り出す使い方</title>
		<link>https://mashukabu.com/excel-function-howto-use-small/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-small/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 29 Apr 2022 14:46:33 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[INDEX関数]]></category>
		<category><![CDATA[LARGE関数]]></category>
		<category><![CDATA[MATCH関数]]></category>
		<category><![CDATA[MIN関数]]></category>
		<category><![CDATA[SMALL関数]]></category>
		<category><![CDATA[順位]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1773</guid>

					<description><![CDATA[ExcelのSMALL関数を使うとN番目に小さい値をデータの並び順を変えずに取得できます。基本構文・引数の解説から、IF・ROW・INDEX関数との応用組み合わせ、LARGE関数との使い分け、よくある#NUM!エラーの対処法まで、実務で使える例つきで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「N番目に小さい値を取り出したい」。Excelで売上データや在庫リストを扱っていると、こんな場面は意外と多いですよね。最小値だけなら<a href="https://mashukabu.com/excel-function-howto-use-min/">MIN関数</a>で一発ですが、「下から3番目」となるとお手上げ……。</p>



<p class="wp-block-paragraph">そこで活躍するのが <strong>SMALL関数</strong> です。順位を指定するだけで、小さい方からN番目の値をサッと取得できます。この記事では、基本の書き方から実務で役立つ応用パターンまで、しっかり解説していきます。</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のSMALL関数とは？読み方と基本の仕組み</a></li><li><a href="#toc2" tabindex="0">SMALL関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">SMALL関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">最も小さい値を取得する</a></li><li><a href="#toc7" tabindex="0">3番目に小さい値を取得する</a></li><li><a href="#toc8" tabindex="0">小さい順にトップ5を一覧表示する</a></li><li><a href="#toc9" tabindex="0">同じ値が複数あるときの動作</a></li></ol></li><li><a href="#toc10" tabindex="0">SMALL関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: 仕入れコストの下位3件を抽出</a></li><li><a href="#toc12" tabindex="0">パターン2: INDEX+MATCH+SMALLで下位者の名前を取得</a></li><li><a href="#toc13" tabindex="0">パターン3: IFERRORで「データなし」を表示</a></li><li><a href="#toc14" tabindex="0">パターン4: 条件付きでN番目に小さい値を取得（IF+SMALL配列数式）</a></li><li><a href="#toc15" tabindex="0">パターン5: ROW関数と組み合わせた動的な順位指定</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc17" tabindex="0">MIN関数との違い――SMALLの方が便利な場面</a></li><li><a href="#toc18" tabindex="0">LARGE関数との違い・使い分け</a><ol><li><a href="#toc19" tabindex="0">比較表</a></li><li><a href="#toc20" tabindex="0">どちらを使うべき？</a></li><li><a href="#toc21" tabindex="0">順位系の関連関数</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのSMALL関数とは？読み方と基本の仕組み</span></h2>



<p class="wp-block-paragraph">SMALL関数は <strong>「スモール関数」</strong> と読みます。英語の「small（小さい）」がそのまま名前の由来です。</p>



<p class="wp-block-paragraph">この関数は、指定した範囲の中から <strong>N番目に小さい値</strong> を返します。たとえば「2番目に小さい値」や「5番目に小さい値」を、順位を指定するだけで取得できます。</p>



<p class="wp-block-paragraph">動作のイメージはシンプルです。データを昇順（小さい順）に並べて、指定した順番の値を返す――ただそれだけです。実際にセルを並べ替える必要はありません。</p>



<p class="wp-block-paragraph">テキストや空白セルは自動的に無視され、数値だけが対象になります。すべてのExcelバージョンと Microsoft 365 に対応しています。</p>



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



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



<pre class="wp-block-code"><code>=SMALL(配列, 順位)</code></pre>



<p class="wp-block-paragraph">引数はたった2つ。どちらも必須です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</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>数値データが入ったセル範囲や配列</td></tr><tr><td>順位</td><td>必須</td><td>小さい方から何番目かを指定する数値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「配列」にはセル範囲（例: B2:B8）を指定します。「順位」には1以上の整数を入れてください。1を指定すれば最小値、2なら2番目に小さい値が返ります。</p>



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



<p class="wp-block-paragraph">ここからは実際の数式を見ていきましょう。サンプルデータとして、B2:B8に次の売上データが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>値</th></tr></thead><tbody><tr><td>B2</td><td>150</td></tr><tr><td>B3</td><td>280</td></tr><tr><td>B4</td><td>95</td></tr><tr><td>B5</td><td>320</td></tr><tr><td>B6</td><td>180</td></tr><tr><td>B7</td><td>95</td></tr><tr><td>B8</td><td>410</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">昇順に並べると <strong>95, 95, 150, 180, 280, 320, 410</strong> です。この順番を頭に入れておくと、結果が確認しやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc6">最も小さい値を取得する</span></h3>



<pre class="wp-block-code"><code>=SMALL(B2:B8, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>95</strong> です。順位に1を指定すると最小値が返ります。この結果は <code>=MIN(B2:B8)</code> と同じです。</p>



<h3 class="wp-block-heading"><span id="toc7">3番目に小さい値を取得する</span></h3>



<pre class="wp-block-code"><code>=SMALL(B2:B8, 3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>150</strong> です。昇順で確認すると、95, 95, <strong>150</strong>, 180……。たしかに3番目ですね。</p>



<h3 class="wp-block-heading"><span id="toc8">小さい順にトップ5を一覧表示する</span></h3>



<p class="wp-block-paragraph">D2〜D6のセルに、順位1〜5をそれぞれ入力する方法です。</p>



<pre class="wp-block-code"><code>D2: =SMALL(B2:B8, 1)  → 95
D3: =SMALL(B2:B8, 2)  → 95
D4: =SMALL(B2:B8, 3)  → 150
D5: =SMALL(B2:B8, 4)  → 180
D6: =SMALL(B2:B8, 5)  → 280</code></pre>



<p class="wp-block-paragraph">順位の部分をセル参照にすれば、数式のコピーだけで一覧が作れます。たとえばC列に1〜5の連番を入れておき、=SMALL(B2:B8, C2) としてオートフィルすると効率的です。</p>



<h3 class="wp-block-heading"><span id="toc9">同じ値が複数あるときの動作</span></h3>



<p class="wp-block-paragraph">サンプルデータには95が2つあります。SMALL関数では、同じ値でもそれぞれ別の順位としてカウントされます。</p>



<ul class="wp-block-list"><li>=SMALL(B2:B8, 1) → <strong>95</strong></li><li>=SMALL(B2:B8, 2) → <strong>95</strong></li><li>=SMALL(B2:B8, 3) → <strong>150</strong></li></ul>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-rank/">RANK関数</a>では同じ値に同順位が割り当てられますが、SMALLは重複値も1つずつ数えます。この違いは覚えておくと便利です。</p>



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



<p class="wp-block-paragraph">基本がわかったところで、実務でそのまま使えるパターンを5つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン1: 仕入れコストの下位3件を抽出</span></h3>



<p class="wp-block-paragraph">仕入れデータの中からコストが低い順に3件だけ取り出したい場面です。</p>



<p class="wp-block-paragraph">A列に商品名、B列に仕入れコストが入っているとします。</p>



<pre class="wp-block-code"><code>=SMALL($B$2:$B$10, 1)  → 下位1位のコスト
=SMALL($B$2:$B$10, 2)  → 下位2位のコスト
=SMALL($B$2:$B$10, 3)  → 下位3位のコスト</code></pre>



<p class="wp-block-paragraph">絶対参照（$記号）を使えば、数式をコピーしても範囲がずれません。予算の見直しや価格比較に便利なパターンです。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: INDEX+MATCH+SMALLで下位者の名前を取得</span></h3>



<p class="wp-block-paragraph">SMALL関数で値を取り出せても、「その値に対応する名前も知りたい」ことがありますよね。そんなときは<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>を組み合わせます。</p>



<p class="wp-block-paragraph">A列に担当者名、B列に売上金額が入っている場合の数式です。</p>



<pre class="wp-block-code"><code>=INDEX($A$2:$A$10, MATCH(SMALL($B$2:$B$10, 1), $B$2:$B$10, 0))</code></pre>



<p class="wp-block-paragraph">この数式の流れを分解してみましょう。</p>



<ol class="wp-block-list"><li>SMALL($B$2:$B$10, 1) で最も小さい売上金額を取得</li><li>MATCH(…, $B$2:$B$10, 0) でその金額の行位置を検索</li><li>INDEX($A$2:$A$10, …) でその行の担当者名を返す</li></ol>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。「値を見つけて、その行の名前を返す」という2ステップの処理です。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: IFERRORで「データなし」を表示</span></h3>



<p class="wp-block-paragraph">トップ5の一覧を作ったとき、データが5件に満たないとエラーになります。これを防ぐのが<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>です。</p>



<pre class="wp-block-code"><code>=IFERROR(SMALL(B2:B8, E2), &quot;データなし&quot;)</code></pre>



<p class="wp-block-paragraph">SMALL関数の順位がデータ件数を超えると #NUM! エラーが出ます。IFERRORで囲めば、エラーの代わりに任意のメッセージを表示できます。データ件数が変動するリストでは、この書き方を習慣にしておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン4: 条件付きでN番目に小さい値を取得（IF+SMALL配列数式）</span></h3>



<p class="wp-block-paragraph">「営業部だけの中で最も小さい値」のように、条件付きで抽出したい場面もあります。A列に部署名、B列に金額が入っている場合の数式です。</p>



<pre class="wp-block-code"><code>=SMALL(IF($A$2:$A$10=&quot;営業部&quot;, $B$2:$B$10), 1)</code></pre>



<p class="wp-block-paragraph">Excel 2019以前のバージョンでは、<strong>Ctrl + Shift + Enter</strong> で確定する必要があります。Microsoft 365 や Excel 2021 ではそのままEnterで動作します。</p>



<p class="wp-block-paragraph">IF関数が条件に合う値だけの配列を作り、SMALLがその中からN番目に小さい値を返す仕組みです。<a href="https://mashukabu.com/excel-function-howto-use-minifs/">MINIFS関数</a>は最小値しか取れませんが、この方法なら2番目・3番目も取得できます。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン5: ROW関数と組み合わせた動的な順位指定</span></h3>



<p class="wp-block-paragraph">「小さい順に並べたリストを、数式のコピーだけで作りたい」。そんなときに活躍するのが<a href="https://mashukabu.com/excel-function-howto-use-row/">ROW関数</a>との組み合わせです。</p>



<p class="wp-block-paragraph">D2セルに次の数式を入れ、下方向にオートフィルします。</p>



<pre class="wp-block-code"><code>=IFERROR(SMALL($B$2:$B$8, ROW()-1), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">ROW関数はセルの行番号を返します。D2なら ROW()=2 なので ROW()-1=1、D3なら ROW()-1=2……と自動的に順位が増えていきます。IFERRORと組み合わせれば、データ件数を超えた行は空白になります。</p>



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



<p class="wp-block-paragraph">SMALL関数で遭遇しやすいエラーは主に2種類です。</p>



<p class="wp-block-paragraph"><strong>#NUM! エラー</strong></p>



<p class="wp-block-paragraph">このエラーが出る原因は2つあります。</p>



<ul class="wp-block-list"><li><strong>順位がデータ件数を超えている</strong> — データが7件なのに =SMALL(B2:B8, 10) と指定した場合です。データの件数を COUNTA や COUNT で確認してみてください。</li><li><strong>範囲に数値が1つもない</strong> — テキストだけのセル範囲を指定した場合に発生します。</li></ul>



<p class="wp-block-paragraph"><strong>#VALUE! エラー</strong></p>



<ul class="wp-block-list"><li><strong>順位に数値以外を指定した</strong> — 「三」のようなテキストや、数値に見えて実はテキストのセルが原因です。<a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a>で数値に変換すると解消することがあります。</li><li><strong>順位に0以下や小数を指定した</strong> — 順位は1以上の整数である必要があります。</li></ul>



<p class="wp-block-paragraph">エラーの種類と対処の全体像は、<a href="https://mashukabu.com/excel-error-value-list/">エラー値の種類と対処法一覧</a>も参考にしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc17">MIN関数との違い――SMALLの方が便利な場面</span></h2>



<p class="wp-block-paragraph">「最小値を取るだけならMIN関数でいいのでは？」と思いますよね。たしかに、=SMALL(範囲, 1) と =MIN(範囲) の結果はまったく同じです。</p>



<p class="wp-block-paragraph">ではSMALLを使うメリットはどこにあるのでしょうか。</p>



<ul class="wp-block-list"><li><strong>2番目以降の値が取れる</strong> — MIN関数は最小値しか返せません。SMALL関数なら順位を変えるだけで何番目でも取得できます。</li><li><strong>小さい順の一覧を作れる</strong> — ROW関数と組み合わせれば、昇順のランキングが数式だけで完成します。</li><li><strong>条件付きのN番目に対応</strong> — IF関数と組み合わせれば、条件を満たすデータの中からN番目が取れます。</li></ul>



<p class="wp-block-paragraph">逆に、単純に最小値だけほしい場合は<a href="https://mashukabu.com/excel-function-howto-use-min/">MIN関数</a>のほうがシンプルで読みやすいです。場面に応じて使い分けてみてください。</p>



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



<p class="wp-block-paragraph">SMALL関数と対になる関数が<a href="https://mashukabu.com/excel-function-howto-use-large/">LARGE関数</a>です。構文はまったく同じで、方向だけが逆になります。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>SMALL関数</th><th>LARGE関数</th></tr></thead><tbody><tr><td>方向</td><td>小さい方からN番目</td><td>大きい方からN番目</td></tr><tr><td>構文</td><td>=SMALL(配列, 順位)</td><td>=LARGE(配列, 順位)</td></tr><tr><td>順位1のとき</td><td>最小値（=MIN）</td><td>最大値（=MAX）</td></tr><tr><td>用途例</td><td>コスト下位抽出</td><td>売上トップ抽出</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">どちらを使うべき？</span></h3>



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



<ul class="wp-block-list"><li><strong>低い方から探したい</strong> → SMALL関数（最低コスト、最短時間など）</li><li><strong>高い方から探したい</strong> → LARGE関数（最高売上、最長記録など）</li></ul>



<p class="wp-block-paragraph">どちらも引数の数やエラーの挙動は同じです。覚えるのは「方向が逆」という一点だけで大丈夫です。</p>



<h3 class="wp-block-heading"><span id="toc21">順位系の関連関数</span></h3>



<p class="wp-block-paragraph">順位や最大・最小にかかわる関数は他にもあります。目的に応じて選んでみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-rank/">RANK関数</a> — データの中での順位を返す</li><li><a href="https://mashukabu.com/excel-function-howto-use-min/">MIN関数</a> / <a href="https://mashukabu.com/excel-function-howto-use-max/">MAX関数</a> — 最小値・最大値を取得</li><li><a href="https://mashukabu.com/excel-function-howto-use-median/">MEDIAN関数</a> — 中央値を取得</li><li><a href="https://mashukabu.com/excel-function-howto-use-maxifs/">MAXIFS関数</a> / <a href="https://mashukabu.com/excel-function-howto-use-minifs/">MINIFS関数</a> — 条件付きの最大値・最小値</li></ul>



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



<p class="wp-block-paragraph">SMALL関数は、データの中から <strong>N番目に小さい値</strong> を取り出す関数です。</p>



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



<ul class="wp-block-list"><li>構文は =SMALL(配列, 順位) で、引数は2つだけ</li><li>順位を変えるだけで、2番目・3番目と自由に取得できる</li><li>INDEX+MATCHと組み合わせれば、対応する名前も取得可能</li><li>IFERRORで囲めば、エラー時も安全に処理できる</li><li>IF関数との配列数式で、条件付きの抽出にも対応</li><li>最小値だけなら<a href="https://mashukabu.com/excel-function-howto-use-min/">MIN関数</a>、大きい方からなら<a href="https://mashukabu.com/excel-function-howto-use-large/">LARGE関数</a>と使い分ける</li></ul>



<p class="wp-block-paragraph">SMALL関数を使いこなせば、データの並べ替えなしでランキングが作れます。ぜひ日々の業務で試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-small/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのMIN関数の使い方｜最小値から条件付きまで</title>
		<link>https://mashukabu.com/excel-function-howto-use-min/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-min/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 18 Mar 2022 09:12:31 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[MINIFS]]></category>
		<category><![CDATA[MIN関数]]></category>
		<category><![CDATA[SMALL関数]]></category>
		<category><![CDATA[最小値]]></category>
		<category><![CDATA[条件付き最小値]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1388</guid>

					<description><![CDATA[ExcelのMIN関数の使い方を基礎から徹底解説します。数値の最小値を求める基本構文はもちろん、MINIFS関数を使った条件付き最小値の取得方法、MIN関数が0になるエラーの原因・対処法まで、実務ですぐ使える具体的なパターンを網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">在庫の最少数、テストの最低点、一番安い仕入れ価格。「この中で一番小さい値はどれ？」と調べたい場面、仕事でよく出てきますよね。</p>



<p class="wp-block-paragraph">そのたびに目視で数字を追いかけていませんか？ データが数百行になると見落としも起きやすくなります。</p>



<p class="wp-block-paragraph"><strong>ExcelのMIN関数を使えば、どんなに大きな表でも最小値を一瞬で取り出せます。</strong> この記事では基本の書き方から条件付き最小値、日付対応、エラー対処法まで解説していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">MIN関数とは？読み方と基本の仕組み</a><ol><li><a href="#toc2" tabindex="0">MIN関数がデータを扱うルール</a></li></ol></li><li><a href="#toc3" tabindex="0">MIN関数の書き方と基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">基本構文と引数</a></li><li><a href="#toc5" tabindex="0">セル範囲で最小値を求める</a></li><li><a href="#toc6" tabindex="0">複数の離れた範囲から最小値を求める</a></li></ol></li><li><a href="#toc7" tabindex="0">条件付きで最小値を求める方法</a><ol><li><a href="#toc8" tabindex="0">MINIFS関数で条件付き最小値を求める</a></li><li><a href="#toc9" tabindex="0">MIN(IF)配列数式で条件付き最小値を求める（Excel 2016以前）</a></li><li><a href="#toc10" tabindex="0">バージョン別の使い分け</a></li></ol></li><li><a href="#toc11" tabindex="0">実務で使えるMIN関数の活用パターン</a><ol><li><a href="#toc12" tabindex="0">0を除外して最小値を求める</a></li><li><a href="#toc13" tabindex="0">日付データに使って最古日を取得する</a></li><li><a href="#toc14" tabindex="0">条件付き書式でMIN関数を使う</a></li><li><a href="#toc15" tabindex="0">N番目に小さい値はSMALL関数で</a></li></ol></li><li><a href="#toc16" tabindex="0">MIN関数のよくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">結果が「0」になるときの対処法</a></li><li><a href="#toc18" tabindex="0">範囲内にエラーがあるときの対処法</a></li></ol></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">MIN関数とは？読み方と基本の仕組み</span></h2>



<p class="wp-block-paragraph">MIN関数は、指定した範囲の中から<strong>最小の数値を1つ返す</strong>関数です。</p>



<p class="wp-block-paragraph">読み方は「<strong>ミン関数</strong>」です。英語の「Minimum（ミニマム＝最小値）」の略が語源になっています。Excelの全バージョンとMicrosoft 365で使えます。職場のExcelならまず問題なく動きますよ。</p>



<p class="wp-block-paragraph">やっていることはとてもシンプルです。渡された数値をすべて比較して、一番小さい数値を返すだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力</th><th>出力</th></tr></thead><tbody><tr><td>数値やセル範囲（最大255個）</td><td>その中で一番小さい数値（1つ）</td></tr></tbody></table></figure>



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



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td><strong>1</strong></td><td>社員名</td><td>部署</td><td>4月売上</td></tr><tr><td><strong>2</strong></td><td>佐藤</td><td>営業部</td><td>580,000</td></tr><tr><td><strong>3</strong></td><td>鈴木</td><td>営業部</td><td>430,000</td></tr><tr><td><strong>4</strong></td><td>高橋</td><td>総務部</td><td>310,000</td></tr><tr><td><strong>5</strong></td><td>田中</td><td>営業部</td><td>720,000</td></tr><tr><td><strong>6</strong></td><td>伊藤</td><td>総務部</td><td>290,000</td></tr><tr><td><strong>7</strong></td><td>渡辺</td><td>営業部</td><td>650,000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc2">MIN関数がデータを扱うルール</span></h3>



<p class="wp-block-paragraph">MIN関数がセルのデータをどう処理するか知っておくと、トラブルを防げます。</p>



<figure class="wp-block-table"><table><thead><tr><th>データの種類</th><th>MIN関数の扱い</th></tr></thead><tbody><tr><td>数値</td><td>比較対象になる</td></tr><tr><td>空白セル</td><td>無視される</td></tr><tr><td>文字列</td><td>セル範囲内では無視される</td></tr><tr><td>論理値（TRUE/FALSE）</td><td>セル範囲内では無視される</td></tr><tr><td>エラー値（#N/Aなど）</td><td>そのままエラーが返る</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、引数に直接書いた場合の扱いが異なることです。<code>=MIN(TRUE, 5)</code> のように直接入力すると、TRUE=1・FALSE=0として計算されます。セル範囲内のTRUE/FALSEは無視されるので注意してください。</p>



<p class="wp-block-paragraph">数値が1つも含まれていない場合は <code>0</code> を返します。エラーではなく0になる点が要注意です。「あれ、最小値が0？」というときは、後半のエラー対処セクションをチェックしてみてください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>論理値や文字列もすべて含めて計算したい場合は、<a href="https://mashukabu.com/excel-function-howto-use-mina/">MINA関数</a>を使います。TRUE=1、FALSE=0、文字列=0として扱ってくれますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc3">MIN関数の書き方と基本的な使い方</span></h2>



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



<pre class="wp-block-code"><code>=MIN(数値1, [数値2], ...)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>内容</th></tr></thead><tbody><tr><td>数値1</td><td><strong>必須</strong></td><td>最小値を求めたい数値、セル参照、またはセル範囲</td></tr><tr><td>数値2〜255</td><td>任意</td><td>追加で比較したい数値や範囲（最大255個まで）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数には数値の直接入力、セル参照、セル範囲を指定できます。名前付き範囲（名前の定義）も使えるので、大きなデータを管理するときに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc5">セル範囲で最小値を求める</span></h3>



<p class="wp-block-paragraph">サンプル表の4月売上（C2:C7）の最小値を求めてみましょう。</p>



<pre class="wp-block-code"><code>=MIN(C2:C7)</code></pre>



<p class="wp-block-paragraph">結果は <code>290,000</code> です。6件の売上は290,000・310,000・430,000・580,000・650,000・720,000。最小の290,000（伊藤）が正しく取れていますね。</p>



<p class="wp-block-paragraph">数値を直接入力する書き方もできます。</p>



<pre class="wp-block-code"><code>=MIN(80, 95, 72, 88)</code></pre>



<p class="wp-block-paragraph">この場合は <code>72</code> が返ります。ちょっとした確認に便利ですが、実務ではセル範囲を指定するパターンがほとんどです。</p>



<p class="wp-block-paragraph">データが今後増える可能性がある場合は、列全体を指定できます。</p>



<pre class="wp-block-code"><code>=MIN(C:C)</code></pre>



<p class="wp-block-paragraph">C列のすべてのセルが対象になります。ただしデータ量が多いシートでは計算が遅くなります。範囲を絞れる場合は <code>C2:C1000</code> のように明示するのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc6">複数の離れた範囲から最小値を求める</span></h3>



<p class="wp-block-paragraph">引数をカンマで区切ると、離れたセル範囲をまとめて比較できます。</p>



<pre class="wp-block-code"><code>=MIN(B2:B13, D2:D13)</code></pre>



<p class="wp-block-paragraph">たとえばB列に上半期、D列に下半期の売上が入っているとします。この式なら年間を通した最小売上を一発で出せます。間の列は自動的にスキップされるので、必要なデータだけを対象にできますよ。</p>



<h2 class="wp-block-heading"><span id="toc7">条件付きで最小値を求める方法</span></h2>



<p class="wp-block-paragraph">「営業部だけの最低売上を出したい」「特定の月だけの最安値を知りたい」など、<strong>条件を絞って最小値を求めたい</strong>場面はよく出てきますよね。</p>



<p class="wp-block-paragraph">MIN関数単体では条件指定ができません。条件付き最小値を求める方法は、Excelのバージョンによって使い分けが必要です。</p>



<h3 class="wp-block-heading"><span id="toc8">MINIFS関数で条件付き最小値を求める</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-minifs/">MINIFS関数</a>（条件付きで最小値を返す関数）を使うのが一番シンプルな方法です。</p>



<pre class="wp-block-code"><code>=MINIFS(最小値の範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)</code></pre>



<p class="wp-block-paragraph">サンプル表で営業部の最低売上を求めるにはこう書きます。</p>



<pre class="wp-block-code"><code>=MINIFS(C2:C7, B2:B7, &quot;営業部&quot;)</code></pre>



<p class="wp-block-paragraph">B列が「営業部」の行だけを対象にして、C列の最小値を返します。営業部の売上は580,000・430,000・720,000・650,000の4件。結果は <code>430,000</code>（鈴木）になります。</p>



<p class="wp-block-paragraph">総務部の最低売上も同じ要領です。</p>



<pre class="wp-block-code"><code>=MINIFS(C2:C7, B2:B7, &quot;総務部&quot;)</code></pre>



<p class="wp-block-paragraph">総務部は310,000と290,000の2件なので、結果は <code>290,000</code>（伊藤）です。</p>



<p class="wp-block-paragraph">複数条件を組み合わせることもできます。「営業部」かつ「売上50万以上」のデータに絞る場合はこちらです。</p>



<pre class="wp-block-code"><code>=MINIFS(C2:C7, B2:B7, &quot;営業部&quot;, C2:C7, &quot;&gt;=&quot;&amp;500000)</code></pre>



<p class="wp-block-paragraph">営業部で50万以上は580,000・720,000・650,000の3件。結果は <code>580,000</code> です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>MINIFS関数は<strong>Excel 2019以降またはMicrosoft 365</strong>で使えます。Excel 2016では使えません。Excel 2016以前では次のMIN(IF)配列数式を使ってください。</p></blockquote>



<p class="wp-block-paragraph">MINIFS関数の詳しい使い方は「<a href="https://mashukabu.com/excel-function-howto-use-minifs/">MINIFS関数の使い方</a>」もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc9">MIN(IF)配列数式で条件付き最小値を求める（Excel 2016以前）</span></h3>



<p class="wp-block-paragraph">MINIFS関数が使えないバージョンでは、MIN関数と<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>を組み合わせた配列数式で代用できます。</p>



<p class="wp-block-paragraph">サンプル表で営業部の最低売上を求める式です。</p>



<pre class="wp-block-code"><code>=MIN(IF(B2:B7=&quot;営業部&quot;, C2:C7))</code></pre>



<p class="wp-block-paragraph"><strong>入力時はCtrl+Shift+Enterを押してください。</strong> Enterだけで確定すると正しい結果になりません。正しく入力できると、数式バーに <code>{=MIN(IF(B2:B7="営業部", C2:C7))}</code> と波括弧が自動で付きます。</p>



<p class="wp-block-paragraph">この波括弧は手入力では効きません。必ずCtrl+Shift+Enterで確定してくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>Excel 365（Microsoft 365）では動的配列に対応しているため、通常のEnterキーだけで配列数式が動作します。Ctrl+Shift+Enterは不要です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">バージョン別の使い分け</span></h3>



<p class="wp-block-paragraph">条件付き最小値を求める方法をまとめました。使っているExcelのバージョンに合わせて選んでください。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>対応バージョン</th><th>入力方法</th><th>特徴</th></tr></thead><tbody><tr><td><strong>MIN関数</strong>（条件なし）</td><td>全バージョン</td><td>Enter</td><td>条件指定は不可</td></tr><tr><td><strong>MIN(IF)配列数式</strong></td><td>全バージョン</td><td>Ctrl+Shift+Enter</td><td>古いExcelでも使える</td></tr><tr><td><strong>MINIFS関数</strong></td><td>Excel 2019以降 / 365</td><td>Enter</td><td>最もシンプル</td></tr><tr><td><strong>AGGREGATE関数</strong></td><td>Excel 2010以降</td><td>Enter</td><td>エラーを含む範囲向き</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Excel 2019以降ならMINIFS関数が一番おすすめです。それ以前のバージョンではMIN(IF)配列数式を使ってみてください。</p>



<h2 class="wp-block-heading"><span id="toc11">実務で使えるMIN関数の活用パターン</span></h2>



<p class="wp-block-paragraph">基本と条件付きがわかったところで、実務でよく使われる応用パターンを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">0を除外して最小値を求める</span></h3>



<p class="wp-block-paragraph">データの中に「0」が含まれていて、それを除外したいケースは実務で頻出します。未入力や実績なしのセルに0が入っていると、MIN関数の結果が0になってしまいます。</p>



<p class="wp-block-paragraph">MIN関数と<a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>の組み合わせで対応しましょう。</p>



<pre class="wp-block-code"><code>=MIN(IF(B2:B10&lt;&gt;0, B2:B10))</code></pre>



<p class="wp-block-paragraph">0以外の値だけを対象にして最小値を返す式です。Microsoft 365ではそのままEnterで確定できます。古いバージョンでは<strong>Ctrl+Shift+Enter</strong>で配列数式として入力してください。</p>



<p class="wp-block-paragraph">MINIFS関数が使える環境なら、もっとシンプルに書けます。</p>



<pre class="wp-block-code"><code>=MINIFS(B2:B10, B2:B10, &quot;&lt;&gt;0&quot;)</code></pre>



<p class="wp-block-paragraph">どちらの方法でも0を除外した最小値が取得できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">日付データに使って最古日を取得する</span></h3>



<p class="wp-block-paragraph">意外と知られていませんが、MIN関数は日付データにも使えます。Excelでは日付がシリアル値（連番の数値）で内部管理されています。そのためMIN関数で「一番古い日付」を取得できます。</p>



<p class="wp-block-paragraph">たとえばA列に入社日が入っている場合はこう書きます。</p>



<pre class="wp-block-code"><code>=MIN(A2:A50)</code></pre>



<p class="wp-block-paragraph">一番古い日付が返ります。結果セルの表示形式を「日付」にしておけば、見た目もきちんと日付で表示されますよ。</p>



<p class="wp-block-paragraph">特定の条件に合う最古日を取りたい場合もあります。たとえば「営業部の最初の受注日」を求めるなら、MINIFS関数が便利です。</p>



<pre class="wp-block-code"><code>=MINIFS(D2:D100, B2:B100, &quot;営業部&quot;)</code></pre>



<p class="wp-block-paragraph">D列に受注日、B列に部署名が入っている場合の式です。結果セルの表示形式を「日付」に設定するのを忘れないでくださいね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>逆に「一番新しい日付」を取り出したい場合は<a href="https://mashukabu.com/excel-function-howto-use-max/">MAX関数</a>を使います。最大のシリアル値＝最新の日付を取得できますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc14">条件付き書式でMIN関数を使う</span></h3>



<p class="wp-block-paragraph">表の中で最小値のセルを自動的に目立たせたい場合は、条件付き書式とMIN関数を組み合わせます。</p>



<p class="wp-block-paragraph">設定手順は次の3ステップです。</p>



<ol class="wp-block-list"><li>対象範囲（C2:C7）を選択</li><li>「ホーム」タブ →「条件付き書式」→「新しいルール」</li><li>「数式を使用して…」を選び、数式欄に <code>=C2=MIN($C$2:$C$7)</code> と入力</li></ol>



<p class="wp-block-paragraph">MIN関数の範囲を絶対参照（<code>$C$2:$C$7</code>）にするのがポイントです。これで最小値のセルだけが自動でハイライトされます。売上一覧や在庫表でボトムを目立たせたいときに使ってみてください。</p>



<h3 class="wp-block-heading"><span id="toc15">N番目に小さい値はSMALL関数で</span></h3>



<p class="wp-block-paragraph">「最下位じゃなくてワースト2位の値を知りたい」という場合は、MIN関数ではなく<a href="https://mashukabu.com/excel-function-howto-use-small/">SMALL関数</a>を使います。</p>



<pre class="wp-block-code"><code>=SMALL(C2:C7, 2)</code></pre>



<p class="wp-block-paragraph">サンプル表なら2番目に小さい <code>310,000</code>（高橋）が返ります。</p>



<p class="wp-block-paragraph">ちなみに <code>=SMALL(C2:C7, 1)</code> はMIN関数と同じ結果です。MIN関数は常にワースト1位専用なので、2位以降が必要なときはSMALL関数の出番ですよ。</p>



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



<p class="wp-block-paragraph">MIN関数自体がエラーを出すことは少ないですが、<strong>「期待どおりの結果にならない」</strong> ケースはよくあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>解決策</th></tr></thead><tbody><tr><td>結果が <code>0</code> になる</td><td>数値に見える文字列が入っている</td><td><a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a>で確認→変換</td></tr><tr><td>結果が <code>0</code> になる</td><td>範囲の指定ミス</td><td>数式バーで範囲を確認</td></tr><tr><td>結果が <code>0</code> になる</td><td>対象範囲がすべて空白</td><td>データ入力を確認</td></tr><tr><td><code>#N/A</code> や <code>#VALUE!</code> が出る</td><td>範囲内にエラーセルがある</td><td>AGGREGATE関数で回避</td></tr><tr><td>期待より大きい値が返る</td><td>一部が文字列で無視されている</td><td>文字列を数値に変換</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">結果が「0」になるときの対処法</span></h3>



<p class="wp-block-paragraph">MIN関数で一番多いトラブルがこれです。原因はほぼ「見た目は数字だが中身が文字列」というケースです。</p>



<p class="wp-block-paragraph">特にCSVファイルを取り込んだあとに起きやすい現象です。次のようなケースで数値が文字列化します。</p>



<ul class="wp-block-list"><li>セルの書式が「文字列」に設定されている</li><li>先頭にゼロが付いている（例: 007）</li><li>数値の前後に空白文字が含まれている</li></ul>



<p class="wp-block-paragraph">まず<strong>ISNUMBER関数</strong>で確認してみましょう。</p>



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



<p class="wp-block-paragraph"><code>TRUE</code> なら数値、<code>FALSE</code> なら文字列です。<a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a>でチェックする習慣をつけておくと、トラブルの切り分けが早くなります。</p>



<p class="wp-block-paragraph">文字列だった場合の対処法は3つあります。</p>



<ol class="wp-block-list"><li><strong>データタブの「区切り位置」</strong> &#8212; 範囲を選択→「区切り位置」→そのまま「完了」で一括変換</li><li><strong><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数</a></strong> &#8212; <code>=VALUE(A1)</code> で1セルずつ数値に変換</li><li><strong>エラーチェックオプション</strong> &#8212; セル左上の緑三角をクリック→「数値に変換」</li></ol>



<p class="wp-block-paragraph">大量のデータを変換するなら「区切り位置」が一番手軽です。</p>



<h3 class="wp-block-heading"><span id="toc18">範囲内にエラーがあるときの対処法</span></h3>



<p class="wp-block-paragraph">対象範囲に <code>#N/A</code> や <code>#VALUE!</code> が1つでも含まれていると、MIN関数もそのエラーを返してしまいます。</p>



<p class="wp-block-paragraph">このときは<strong>AGGREGATE関数</strong>を使います。エラーを無視して最小値を求められます。</p>



<pre class="wp-block-code"><code>=AGGREGATE(5, 6, C2:C7)</code></pre>



<p class="wp-block-paragraph">第1引数の <code>5</code> は「最小値」、第2引数の <code>6</code> は「エラー値を無視」という意味です。ちょっと覚えにくいですが、<code>5, 6</code> の組み合わせだけメモしておけば大丈夫です。</p>



<p class="wp-block-paragraph">AGGREGATE関数はExcel 2010以降で使えます。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で個別のエラーセルを処理する方法もあります。ただしデータが多い場合はAGGREGATE関数のほうが手軽ですよ。</p>



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



<p class="wp-block-paragraph">MIN関数は指定した範囲から<strong>最小値を1つ返す</strong>シンプルな関数です。ここまでの内容を整理しておきましょう。</p>



<ul class="wp-block-list"><li>書き方は <code>=MIN(範囲)</code> で、引数は最大255個まで指定できる</li><li>条件付き最小値は<strong><a href="https://mashukabu.com/excel-function-howto-use-minifs/">MINIFS関数</a></strong>（Excel 2019以降）が最もシンプル</li><li>Excel 2016以前では<strong>MIN(IF)配列数式</strong>をCtrl+Shift+Enterで入力</li><li>日付データにも使える（最古日の取得に便利）</li><li>「0が返る」ときは<a href="https://mashukabu.com/excel-function-howto-use-isnumber/">ISNUMBER関数</a>でデータが文字列になっていないか確認</li><li>エラーを含む範囲には<strong>AGGREGATE関数</strong>で対処</li><li>2位以降の値が必要なら<strong><a href="https://mashukabu.com/excel-function-howto-use-small/">SMALL関数</a></strong>を使う</li><li>最大値を求めたいときは<strong><a href="https://mashukabu.com/excel-function-howto-use-max/">MAX関数</a></strong>とセットで覚えると便利</li></ul>



<p class="wp-block-paragraph">まずは <code>=MIN(C2:C7)</code> の基本形から使ってみてください。条件付き最小値やエラー対処も覚えると、データ集計の幅がぐっと広がりますよ。</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-max/">MAX関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-minifs/">MINIFS関数の使い方</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-mina/">MINA関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数の使い方</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-isnumber/">ISNUMBER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-value/">VALUE関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-min/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
