<?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>位置取得 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%E4%BD%8D%E7%BD%AE%E5%8F%96%E5%BE%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Mon, 16 Mar 2026 11:45:01 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>位置取得 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのMATCH関数の使い方｜検索値の位置を取得する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-match/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-match/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 22 Jul 2022 07:21:50 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[INDEX MATCH]]></category>
		<category><![CDATA[MATCH関数]]></category>
		<category><![CDATA[位置取得]]></category>
		<category><![CDATA[検索]]></category>
		<category><![CDATA[関数比較]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2416</guid>

					<description><![CDATA[ExcelのMATCH関数で範囲内から値の位置番号を取得する方法を解説。完全一致・近似値の照合の型や、INDEX関数との組み合わせパターン、VLOOKUPとの使い分けを整理しています。]]></description>
										<content:encoded><![CDATA[
<p>「この値、表の何番目にあるんだろう？」と手作業で数えた経験はありませんか。データが数十行、数百行になると、目で追いかけるのは正直しんどいですよね。</p>



<p>MATCH関数を使えば、範囲の中から値の位置番号を一発で取得できます。さらにINDEX関数と組み合わせると、VLOOKUPでは難しかった「左方向の検索」も自由自在です。</p>



<p>この記事では、MATCH関数の基本から照合の型の使い分けまで解説していきます。INDEX+MATCHの黄金パターンやエラーの対処法も実例つきで紹介します。</p>



<p>この記事は次のような人におすすめ</p>



<ul class="wp-block-list"><li>指定した範囲の中から値が何番目にあるか知りたい</li><li>INDEX+MATCHの組み合わせをマスターしたい</li><li>VLOOKUPの左方向検索問題を解決したい</li></ul>




  <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">MATCH関数とは？</a></li><li><a href="#toc2" tabindex="0">MATCH関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li><li><a href="#toc5" tabindex="0">照合の型の詳細</a></li></ol></li><li><a href="#toc6" tabindex="0">MATCH関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">完全一致で位置を取得する（照合の型 0）</a></li><li><a href="#toc8" tabindex="0">以下の最大値で位置を取得する（照合の型 1）</a></li><li><a href="#toc9" tabindex="0">以上の最小値で位置を取得する（照合の型 -1）</a></li><li><a href="#toc10" tabindex="0">ワイルドカードを使った部分一致検索</a></li></ol></li><li><a href="#toc11" tabindex="0">INDEX+MATCH関数の黄金パターン</a><ol><li><a href="#toc12" tabindex="0">基本の書き方</a></li><li><a href="#toc13" tabindex="0">VLOOKUPの左方向検索問題を解決する</a></li><li><a href="#toc14" tabindex="0">行と列の両方をMATCHで検索する</a></li></ol></li><li><a href="#toc15" tabindex="0">MATCH関数の実務活用パターン</a><ol><li><a href="#toc16" tabindex="0">ランク分けの自動判定</a></li><li><a href="#toc17" tabindex="0">最終入力行の自動取得</a></li><li><a href="#toc18" tabindex="0">重複チェックでの活用</a></li><li><a href="#toc19" tabindex="0">IFERROR関数と組み合わせてエラーを防ぐ</a></li></ol></li><li><a href="#toc20" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc21" tabindex="0">VLOOKUP・XLOOKUP・INDEX+MATCHの違いと使い分け</a><ol><li><a href="#toc22" tabindex="0">どれを選べばいい？</a></li></ol></li><li><a href="#toc23" tabindex="0">まとめ</a><ol><li><a href="#toc24" tabindex="0">関連記事</a></li><li><a href="#toc25" tabindex="0">関数一覧</a></li><li><a href="#toc26" tabindex="0">エラー値について</a></li></ol></li></ol>
    </div>
  </div>

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



<p>MATCH関数は、指定した範囲の中から検索値を探し、その<strong>相対的な位置番号</strong>を返す関数です。読み方は「マッチ関数」で、英語の match（一致する）が語源です。</p>



<p>たとえば、A1:A5に商品名が5つ入っているとします。「バナナ」の位置を調べると<strong>3</strong>が返ります。セルのアドレスではなく「範囲の先頭から数えて何番目か」を返すのがポイントです。</p>



<p>MATCH関数は単体で使うこともありますが、<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>と組み合わせて使うケースが実務では圧倒的に多いです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>MATCH関数はExcel 2007以降のすべてのバージョン、Microsoft 365、Googleスプレッドシートで使用できます。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=MATCH(検査値, 検査範囲, [照合の型])</code></pre>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>検査値</td><td>必須</td><td>検索したい値を指定します。数値・文字列・セル参照が使えます</td></tr><tr><td>検査範囲</td><td>必須</td><td>検索対象の範囲を指定します。1行または1列の範囲のみ有効です</td></tr><tr><td>照合の型</td><td>省略可</td><td>検索の方法を 1, 0, -1 のいずれかで指定します。省略すると 1 になります</td></tr></tbody></table></figure>



<p>検査範囲には<strong>1行または1列</strong>しか指定できません。複数行かつ複数列の範囲を指定するとエラーになるので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc5">照合の型の詳細</span></h3>



<p>照合の型は MATCH関数の動作を決める重要な引数です。3種類の指定方法があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>照合の型</th><th>動作</th><th>データの並び順</th><th>用途</th></tr></thead><tbody><tr><td>0（完全一致）</td><td>検査値と完全に一致する値を検索します</td><td>並び順は問いません</td><td>商品コード・名前など正確な値を探すとき</td></tr><tr><td>1（以下の最大値）</td><td>検査値以下の最大の値を検索します</td><td><strong>昇順に並べておく必要あり</strong></td><td>価格帯・ランク分けなど範囲で区切るとき</td></tr><tr><td>-1（以上の最小値）</td><td>検査値以上の最小の値を検索します</td><td><strong>降順に並べておく必要あり</strong></td><td>在庫数や得点の上限判定をするとき</td></tr></tbody></table></figure>



<p>実務で最も使うのは <strong>照合の型 0（完全一致）</strong> です。迷ったらまず 0 を指定しておけば間違いありません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>照合の型を省略すると 1（以下の最大値）になります。完全一致のつもりで省略すると意図しない結果になるので、明示的に 0 を書く習慣をつけてみてください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc7">完全一致で位置を取得する（照合の型 0）</span></h3>



<p>商品リストから「バナナ」の位置を調べる例です。</p>



<p>A列に商品名が入っているとき、次の数式で位置番号を取得できます。</p>



<pre class="wp-block-code"><code>=MATCH(&quot;バナナ&quot;, A1:A5, 0)</code></pre>



<p>A1:A5が「りんご, みかん, バナナ, ぶどう, もも」なら、結果は <strong>3</strong> です。</p>



<p>セル参照を使って検索値を指定することもできます。</p>



<pre class="wp-block-code"><code>=MATCH(D1, A1:A5, 0)</code></pre>



<p>D1に入っている値をA1:A5から探して位置を返します。</p>



<h3 class="wp-block-heading"><span id="toc8">以下の最大値で位置を取得する（照合の型 1）</span></h3>



<p>価格帯やランク分けに便利なのが照合の型 1 です。</p>



<p>たとえばA1:A4に「0, 60, 70, 80」と昇順で入っているとします。得点が75のとき、次の数式を使います。</p>



<pre class="wp-block-code"><code>=MATCH(75, A1:A4, 1)</code></pre>



<p>75以下の最大値は「70」なので、結果は <strong>3</strong>（3番目の位置）です。これを使えば得点に応じたランク分けが簡単にできます。</p>



<h3 class="wp-block-heading"><span id="toc9">以上の最小値で位置を取得する（照合の型 -1）</span></h3>



<p>照合の型 -1 は降順データから検索するときに使います。</p>



<p>A1:A4に「100, 80, 60, 40」と降順で入っている場合を考えます。</p>



<pre class="wp-block-code"><code>=MATCH(70, A1:A4, -1)</code></pre>



<p>70以上の最小値は「80」なので、結果は <strong>2</strong> です。</p>



<h3 class="wp-block-heading"><span id="toc10">ワイルドカードを使った部分一致検索</span></h3>



<p>照合の型 0 のときだけ、ワイルドカードが使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>ワイルドカード</th><th>意味</th><th>例</th></tr></thead><tbody><tr><td>*</td><td>任意の文字列（0文字以上）</td><td>&#8220;東京*&#8221; で「東京都」「東京支店」に一致</td></tr><tr><td>?</td><td>任意の1文字</td><td>&#8220;田?太郎&#8221; で「田中太郎」に一致</td></tr><tr><td>~</td><td>ワイルドカードのエスケープ</td><td>&#8220;~*&#8221; でアスタリスクそのものを検索</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=MATCH(&quot;東京*&quot;, A1:A10, 0)</code></pre>



<p>「東京」で始まる最初の値の位置を返します。</p>



<h2 class="wp-block-heading"><span id="toc11">INDEX+MATCH関数の黄金パターン</span></h2>



<p>MATCH関数が真価を発揮するのは、<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>との組み合わせです。INDEX関数は「行番号と列番号を指定して値を取り出す」関数です。ここにMATCH関数で取得した位置番号を渡すと、柔軟な検索ができるようになります。</p>



<h3 class="wp-block-heading"><span id="toc12">基本の書き方</span></h3>



<pre class="wp-block-code"><code>=INDEX(取り出す範囲, MATCH(検索値, 検索する範囲, 0))</code></pre>



<p>具体例を見てみましょう。A列に商品コード、B列に商品名、C列に価格が入った表があるとします。</p>



<p>商品コード「A003」の価格を取得するには、次のように書きます。</p>



<pre class="wp-block-code"><code>=INDEX(C1:C10, MATCH(&quot;A003&quot;, A1:A10, 0))</code></pre>



<p>MATCH関数がA列から「A003」の位置を取得し、INDEX関数がC列の同じ行の値を返す仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc13">VLOOKUPの左方向検索問題を解決する</span></h3>



<p><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>は便利な検索関数ですが、<strong>検索列より左側の列からは値を取得できない</strong>という制限があります。</p>



<p>たとえば、A列に商品名、B列に商品コードが並んでいるとき、商品コードから商品名を調べたい場合です。VLOOKUPだと検索列（B列）の左にある商品名（A列）は取り出せません。</p>



<p>INDEX+MATCHならこの制限がありません。</p>



<pre class="wp-block-code"><code>=INDEX(A1:A10, MATCH(&quot;A003&quot;, B1:B10, 0))</code></pre>



<p>B列から「A003」の位置を取得し、A列（左側）の値を返しています。検索列と取得列の位置関係を気にしなくてよいのが大きなメリットです。</p>



<h3 class="wp-block-heading"><span id="toc14">行と列の両方をMATCHで検索する</span></h3>



<p>INDEX関数に行番号と列番号の両方をMATCHで渡すと、クロス検索ができます。</p>



<pre class="wp-block-code"><code>=INDEX(B2:D10, MATCH(&quot;東京&quot;, A2:A10, 0), MATCH(&quot;4月&quot;, B1:D1, 0))</code></pre>



<p>A列から「東京」の行位置を取得し、1行目から「4月」の列位置を取得します。交差するセルの値が結果です。大きな集計表から特定のデータを引き出すときに重宝します。</p>



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



<h3 class="wp-block-heading"><span id="toc16">ランク分けの自動判定</span></h3>



<p>得点に応じてランクを自動判定する例です。F列にランク境界値（0, 60, 70, 80, 90）を入れます。G列にランク名（E, D, C, B, A）を用意しておきます。</p>



<pre class="wp-block-code"><code>=INDEX(G1:G5, MATCH(B2, F1:F5, 1))</code></pre>



<p>照合の型 1 で「得点以下の最大の境界値」の位置を取得し、対応するランク名を返します。IF関数をネストするより圧倒的にスッキリ書けます。</p>



<h3 class="wp-block-heading"><span id="toc17">最終入力行の自動取得</span></h3>



<p>データの最後の行を自動で見つけたいときにも使えます。</p>



<pre class="wp-block-code"><code>=MATCH(9.99E+307, A:A, 1)</code></pre>



<p>9.99E+307 はExcelで扱える最大の数値です。照合の型 1 で「最大値以下」を検索すると、数値データの最終行の位置が返ります。</p>



<p>文字列データの場合は <a href="https://mashukabu.com/excel-function-howto-use-countif/">COUNTIF関数</a> などと組み合わせる方法もあります。</p>



<h3 class="wp-block-heading"><span id="toc18">重複チェックでの活用</span></h3>



<p>同じ値が複数あるとき、MATCH関数は最初に見つかった位置を返します。この性質を利用して重複チェックに使えます。</p>



<pre class="wp-block-code"><code>=MATCH(A2, A:A, 0)&lt;&gt;ROW(A2)</code></pre>



<p>MATCH関数が返す位置と現在の行番号が一致しない場合、その値は上のほうで既に出現しています。結果がTRUEなら重複データです。</p>



<h3 class="wp-block-heading"><span id="toc19">IFERROR関数と組み合わせてエラーを防ぐ</span></h3>



<p>MATCH関数は検索値が見つからないと #N/A エラーを返します。<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>で囲んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(INDEX(B1:B10, MATCH(D1, A1:A10, 0)), &quot;該当なし&quot;)</code></pre>



<p>検索値が見つからない場合に「該当なし」を表示します。</p>



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



<p>MATCH関数で発生しやすいエラーと、その原因・対処法をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>検索値が範囲内に見つからない</td><td>値のスペルや全角半角を確認。IFERROR関数で囲む</td></tr><tr><td>#N/A</td><td>照合の型 1 で昇順になっていない</td><td>データを昇順に並べ替えるか、照合の型 0 に変更</td></tr><tr><td>#N/A</td><td>照合の型 -1 で降順になっていない</td><td>データを降順に並べ替えるか、照合の型 0 に変更</td></tr><tr><td>#N/A</td><td>文字列の前後にスペースが混入</td><td><a href="https://mashukabu.com/excel-function-howto-use-trim/">TRIM関数</a>で空白を除去してから検索</td></tr><tr><td>#VALUE!</td><td>検査範囲が複数行かつ複数列</td><td>1行または1列の範囲に修正</td></tr><tr><td>#REF!</td><td>INDEX+MATCHで取得範囲がずれている</td><td>INDEX関数の範囲とMATCHの範囲の行数が一致しているか確認</td></tr></tbody></table></figure>



<p>#N/A エラーが最も多いトラブルです。「値が合っているはずなのに #N/A が出る」ときは、次の点をチェックしてみてください。</p>



<ul class="wp-block-list"><li>全角と半角が混在していないか（<a href="https://mashukabu.com/excel-function-howto-use-substitute/">SUBSTITUTE関数</a>やASC関数で統一）</li><li>数値が文字列として入力されていないか（セルの左上に緑の三角が出ていたら文字列格納の可能性）</li><li>前後に余計なスペースが入っていないか</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>LEN関数でセルの文字数を確認すると、見えないスペースが混入しているかどうかを判別できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc21">VLOOKUP・XLOOKUP・INDEX+MATCHの違いと使い分け</span></h2>



<p>検索関数はどれを使えばいいか迷いますよね。3つの主要な検索方法を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>VLOOKUP</th><th>INDEX+MATCH</th><th>XLOOKUP</th></tr></thead><tbody><tr><td>検索方向</td><td>左端列のみ</td><td>自由（左右どちらも可）</td><td>自由（左右どちらも可）</td></tr><tr><td>列の追加・削除への強さ</td><td>列番号がずれる場合あり</td><td>列番号に依存しない</td><td>列番号に依存しない</td></tr><tr><td>近似値検索</td><td>第4引数で対応</td><td>照合の型 1 / -1 で対応</td><td>一致モードで対応</td></tr><tr><td>複数条件の検索</td><td>補助列が必要</td><td>配列数式で対応可</td><td>補助列が必要</td></tr><tr><td>対応バージョン</td><td>すべてのバージョン</td><td>すべてのバージョン</td><td>Microsoft 365 / Excel 2021以降</td></tr><tr><td>数式の読みやすさ</td><td>シンプル</td><td>やや長い</td><td>シンプル</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">どれを選べばいい？</span></h3>



<ul class="wp-block-list"><li><strong>シンプルに左から右へ検索したい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>でOK</li><li><strong>左方向の検索が必要、または古いExcelを使っている</strong> → INDEX+MATCHが最適</li><li><strong>Microsoft 365 / Excel 2021を使っている</strong> → <a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>が最も便利</li></ul>



<p>INDEX+MATCHは対応バージョンの広さと柔軟性が最大の強みです。XLOOKUPが使えない環境では、INDEX+MATCHを覚えておけば困ることはありません。</p>



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



<p>MATCH関数は、範囲内の値の位置番号を取得する関数です。この記事で紹介したポイントを振り返ります。</p>



<ul class="wp-block-list"><li><strong>照合の型 0（完全一致）</strong> を基本にする。省略すると 1 になるので明示的に指定する</li><li><strong>INDEX+MATCHの組み合わせ</strong> で、VLOOKUPの左方向検索制限を解消できる</li><li><strong>#N/A エラー</strong> が出たら、全角半角・スペース混入・並び順を確認する</li><li>XLOOKUPが使えない環境では INDEX+MATCH が最強の検索パターン</li></ul>



<p>まずは照合の型 0 の完全一致検索から試してみてください。INDEX+MATCHの組み合わせに慣れると、データ検索の幅がぐっと広がりますよ。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-countif/">COUNTIF関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方</a></li></ul>



<h3 class="wp-block-heading"><span id="toc25">関数一覧</span></h3>



<p>Excel関数の一覧は下記の記事でまとめています。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">【Excel】アルファベット順 関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">【Excel】機能別のエクセル関数一覧</a></li></ul>



<h3 class="wp-block-heading"><span id="toc26">エラー値について</span></h3>



<p>Excelのエラー値の種類と対処法は、下記の記事で詳しく解説しています。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-error-value-list/">【Excel】セルに表示されるエラーの種類と原因、対処方法を解説</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-match/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
