<?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/%e6%a4%9c%e7%b4%a2/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 09 Apr 2026 03:43:15 +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>HLOOKUP関数とは？使い方・エラー対処法・VLOOKUPとの違い</title>
		<link>https://mashukabu.com/excel-function-howto-use-hlookup/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-hlookup/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 07 Feb 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[HLOOKUP]]></category>
		<category><![CDATA[VLOOKUP]]></category>
		<category><![CDATA[XLOOKUP]]></category>
		<category><![CDATA[検索]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2414</guid>

					<description><![CDATA[ExcelのHLOOKUP関数の使い方を基本から解説。構文・引数・実践例に加え、#N/Aや#REF!エラーの対処法、VLOOKUP・XLOOKUPとの違い、XLOOKUPへの移行ポイントもわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「横方向に並んだデータから値を取り出したいのに、VLOOKUPだとうまくいかない……」そんな経験はありませんか？ VLOOKUPは縦方向の検索には強いですが、横方向のデータには対応していません。</p>



<p>そこで活躍するのがHLOOKUP関数です。この記事では、HLOOKUP関数の基本的な使い方から実践的な活用例、よくあるエラーの対処法、そしてVLOOKUP・XLOOKUPとの違いまで、わかりやすく解説していきます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>この記事は次のような人におすすめ</strong></p><p>&#8211; 横方向に並んだ表からデータを検索・取得したい人<br>&#8211; HLOOKUP関数の引数や使い方を基礎から理解したい人<br>&#8211; VLOOKUPやXLOOKUPとの違い・使い分けを知りたい人</p></blockquote>




  <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">HLOOKUP関数とは？</a><ol><li><a href="#toc2" tabindex="0">読み方と語源</a></li><li><a href="#toc3" tabindex="0">HLOOKUP関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">HLOOKUP関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc7" tabindex="0">HLOOKUP関数の基本的な使い方</a></li><li><a href="#toc8" tabindex="0">HLOOKUP関数の実践的な使い方・応用例</a><ol><li><a href="#toc9" tabindex="0">月別データから特定月の値を取得する</a></li><li><a href="#toc10" tabindex="0">MATCH関数と組み合わせて行番号を自動化する</a></li><li><a href="#toc11" tabindex="0">IFNA関数と組み合わせてエラーを回避する</a></li></ol></li><li><a href="#toc12" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc13" tabindex="0">#N/A エラー</a></li><li><a href="#toc14" tabindex="0">#REF! エラー</a></li><li><a href="#toc15" tabindex="0">#VALUE! エラー</a></li></ol></li><li><a href="#toc16" tabindex="0">VLOOKUP・XLOOKUPとの違いと使い分け</a><ol><li><a href="#toc17" tabindex="0">HLOOKUPとVLOOKUPの違い（行方向 vs 列方向）</a></li><li><a href="#toc18" tabindex="0">XLOOKUPへの移行がおすすめ</a></li></ol></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">関数一覧</a></li><li><a href="#toc21" tabindex="0">エラー値についてのまとめ記事</a></li></ol></li></ol>
    </div>
  </div>

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



<h3 class="wp-block-heading"><span id="toc2">読み方と語源</span></h3>



<p>読み方は「エイチ ルックアップ」関数です。</p>



<p>HLOOKUPの「H」は「Horizontal（ホリゾンタル）」の頭文字で、「水平・横方向」という意味があります。つまり、横方向にデータを検索する関数ということですね。</p>



<p>ちなみに、よく比較されるVLOOKUP関数の「V」は「Vertical（バーティカル）＝垂直・縦方向」を意味しています。名前を覚えるだけで、どちらが縦でどちらが横かがわかるようになりますよ。</p>



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



<p>HLOOKUP関数は、指定した範囲の<strong>上端行（1行目）で検索値を横方向に探し</strong>、見つかった列の指定した行数分だけ下のセルの値を取得する関数です。</p>



<p>たとえば、月別の売上表で「4月」を検索して、その列の3行目にある売上金額を取り出す、といった使い方ができます。</p>



<p>データが横方向（行方向）に並んでいるときに使うのがHLOOKUP、縦方向（列方向）に並んでいるときに使うのがVLOOKUPと覚えておきましょう。</p>



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



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



<p>まずはHLOOKUP関数の構文を確認しましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>構文</strong></p><p><strong>=HLOOKUP( 検索値, 範囲, 行番号, [検索の型] )</strong></p></blockquote>



<p>引数は全部で4つあり、最初の3つは必須、4つ目の「検索の型」は省略できます。</p>



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



<p>各引数の役割を表で整理しました。</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><tr><td>範囲</td><td>必須</td><td>検索対象と取得したい値を含むセル範囲。上端行が検索対象になります</td></tr><tr><td>行番号</td><td>必須</td><td>取得したいデータがある行の番号。上端行を「1」として数えます</td></tr><tr><td>検索の型</td><td>省略可</td><td>FALSEまたは0で完全一致、TRUEまたは1で近似一致。省略するとTRUEになります</td></tr></tbody></table></figure>



<p><strong>「検索の型」はFALSE（完全一致）を指定するのがおすすめです。</strong> 省略するとTRUE（近似一致）になりますが、意図しない結果が返ることがあるため、基本的にはFALSEを明示的に指定しておきましょう。</p>



<p>なお、TRUEを指定する場合は、上端行のデータが<strong>昇順に並んでいる必要があります</strong>。昇順になっていないと正しい結果が得られないので注意してください。</p>



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



<p>ここでは、支店別の売上データから特定の支店の値を取り出す例で解説します。</p>



<p>次のような横方向の表があるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th></tr></thead><tbody><tr><td>1</td><td>&nbsp;</td><td>東京支店</td><td>大阪支店</td><td>名古屋支店</td><td>福岡支店</td></tr><tr><td>2</td><td>売上</td><td>500</td><td>350</td><td>280</td><td>200</td></tr><tr><td>3</td><td>経費</td><td>120</td><td>80</td><td>65</td><td>50</td></tr><tr><td>4</td><td>利益</td><td>380</td><td>270</td><td>215</td><td>150</td></tr></tbody></table></figure>



<p>東京支店の利益（380）を取得するには、次のように入力します。</p>



<pre class="wp-block-code"><code>=HLOOKUP(&quot;東京支店&quot;, B1:E4, 4, FALSE)</code></pre>



<p>この数式の意味を分解してみましょう。</p>



<ul class="wp-block-list"><li><strong>検索値</strong>: &#8220;東京支店&#8221; — 上端行から「東京支店」を探します</li><li><strong>範囲</strong>: B1:E4 — B1からE4の範囲を指定しています</li><li><strong>行番号</strong>: 4 — 上端行から数えて4行目（利益の行）の値を取得します</li><li><strong>検索の型</strong>: FALSE — 完全一致で検索します</li></ul>



<p>結果として「380」が返ります。行番号を「2」に変えれば売上（500）、「3」に変えれば経費（120）を取得できますよ。</p>



<p>セル参照を使うこともできます。たとえばG1セルに支店名が入力されている場合は、次のように書けます。</p>



<pre class="wp-block-code"><code>=HLOOKUP(G1, B1:E4, 4, FALSE)</code></pre>



<p>こうすると、G1セルの値を変更するだけで、取得する支店のデータを切り替えられます。入力規則のドロップダウンと組み合わせれば、簡易的なダッシュボードにもなりますね。</p>



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



<h3 class="wp-block-heading"><span id="toc9">月別データから特定月の値を取得する</span></h3>



<p>実務では、月別に横方向に並んだ集計表をよく見かけますよね。こういったデータからHLOOKUP関数で特定の月の値を取り出せます。</p>



<p>たとえば、以下のような月別売上表があるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th><th>&#8230;</th><th>M</th></tr></thead><tbody><tr><td>1</td><td>&nbsp;</td><td>1月</td><td>2月</td><td>3月</td><td>&#8230;</td><td>12月</td></tr><tr><td>2</td><td>売上</td><td>100</td><td>120</td><td>150</td><td>&#8230;</td><td>200</td></tr><tr><td>3</td><td>目標</td><td>110</td><td>110</td><td>140</td><td>&#8230;</td><td>190</td></tr></tbody></table></figure>



<p>3月の売上を取得するには、次のように入力します。</p>



<pre class="wp-block-code"><code>=HLOOKUP(&quot;3月&quot;, B1:M3, 2, FALSE)</code></pre>



<p>結果は「150」が返ります。行番号を3にすれば、目標値（140）を取得できます。</p>



<h3 class="wp-block-heading"><span id="toc10">MATCH関数と組み合わせて行番号を自動化する</span></h3>



<p>行番号をハードコーディングすると、表の構成が変わったときにメンテナンスが大変です。そこでMATCH関数と組み合わせると、取得したい項目名から自動的に行番号を算出できます。</p>



<pre class="wp-block-code"><code>=HLOOKUP(&quot;3月&quot;, B1:M3, MATCH(&quot;目標&quot;, A1:A3, 0), FALSE)</code></pre>



<p>この書き方なら、行の順番が入れ替わっても数式を修正する必要がありません。さらに柔軟に2方向の検索を行いたい場合は、INDEX関数とMATCH関数の組み合わせも検討してみてください。</p>



<h3 class="wp-block-heading"><span id="toc11">IFNA関数と組み合わせてエラーを回避する</span></h3>



<p>HLOOKUP関数で検索値が見つからないと、<code>#N/A</code>エラーが表示されてしまいます。これを避けるには、IFNA関数と組み合わせるのが便利です。</p>



<pre class="wp-block-code"><code>=IFNA(HLOOKUP(&quot;札幌支店&quot;, B1:E4, 4, FALSE), &quot;該当なし&quot;)</code></pre>



<p>検索値が見つからなかった場合に「該当なし」と表示されるので、見た目もスッキリしますし、後続の計算でエラーが連鎖するのを防げます。</p>



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



<p>HLOOKUP関数を使っていると、思わぬエラーに遭遇することがあります。ここではエラーの種類別に原因と対処法を整理しました。</p>



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



<p><code>#N/A</code>エラーは「検索値が見つからない」ときに発生します。</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>TRIM関数でスペースを除去する</td></tr><tr><td>文字列と数値の型が一致していない</td><td>VALUE関数で数値に変換、またはTEXT関数で文字列に変換する</td></tr><tr><td>全角・半角が混在している</td><td>ASC関数やJIS関数で表記を統一する</td></tr></tbody></table></figure>



<p>エラーを非表示にしたい場合は、IFNA関数やISNA関数と組み合わせて対処しましょう。</p>



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



<p><code>#REF!</code>エラーは「行番号が範囲の行数を超えている」ときに発生します。</p>



<p>たとえば、範囲がB1:E3（3行）なのに行番号を「4」と指定するとこのエラーが出ます。指定した範囲の行数を確認して、行番号が範囲内に収まるように修正してください。</p>



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



<p><code>#VALUE!</code>エラーは「行番号に1未満の数値や文字列を指定した」ときに発生します。行番号には必ず1以上の整数を指定しましょう。</p>



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



<p>Excelには検索系の関数がいくつかあります。HLOOKUP関数とよく比較される関数との違いを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>HLOOKUP</th><th>VLOOKUP</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>近似一致（TRUE）</td><td>近似一致（TRUE）</td><td>完全一致</td></tr><tr><td>対応バージョン</td><td>Excel 2003以降</td><td>Excel 2003以降</td><td>Microsoft 365 / Excel 2021以降</td></tr><tr><td>見つからない場合の指定</td><td>不可（IFNAで対応）</td><td>不可（IFNAで対応）</td><td>第4引数で指定可</td></tr><tr><td>列/行の追加への耐性</td><td>弱い（番号ズレ）</td><td>弱い（番号ズレ）</td><td>強い（範囲参照）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">HLOOKUPとVLOOKUPの違い（行方向 vs 列方向）</span></h3>



<p>もっとも混同しやすいのがHLOOKUPとVLOOKUPの違いです。どちらも「表から値を引く」関数ですが、検索する方向がちょうど90度違います。</p>



<ul class="wp-block-list"><li><strong>HLOOKUP</strong>: 範囲の<strong>上端行</strong>を横に探し、<strong>縦方向（下）</strong> に指定した行数分だけ下のセルを返す</li><li><strong>VLOOKUP</strong>: 範囲の<strong>左端列</strong>を縦に探し、<strong>横方向（右）</strong> に指定した列数分だけ右のセルを返す</li></ul>



<p>表のレイアウトが縦長（項目名が1列目に並ぶ）ならVLOOKUP、横長（項目名が1行目に並ぶ）ならHLOOKUP、と覚えておけば迷いません。</p>



<h3 class="wp-block-heading"><span id="toc18">XLOOKUPへの移行がおすすめ</span></h3>



<p><strong>使い分けのポイントは以下のとおりです。</strong></p>



<ul class="wp-block-list"><li><strong>データが横方向に並んでいる</strong> → HLOOKUP関数</li><li><strong>データが縦方向に並んでいる</strong> → <a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a></li><li><strong>Microsoft 365やExcel 2021以降を使っている</strong> → <a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>がおすすめ</li></ul>



<p>XLOOKUP関数は縦方向・横方向の両方に対応しており、HLOOKUPとVLOOKUPの機能を1つの関数でカバーできます。さらにデフォルトが完全一致、見つからない場合の代替値を第4引数で直接指定できる、列や行を追加しても数式が壊れにくい、といったメリットもあります。</p>



<p>お使いのExcelのバージョンがMicrosoft 365やExcel 2021以降であれば、新規の数式はXLOOKUPで書くことを強くおすすめします。既存のHLOOKUP/VLOOKUPも、メンテナンスの機会に少しずつXLOOKUPへ置き換えていくと、将来的なトラブルを減らせますよ。</p>



<p>ただし、Excel 2019以前のバージョンではXLOOKUPは使えません。職場のパソコンがまだ古いバージョンという方や、取引先とファイルをやり取りする場合は、互換性を考えてHLOOKUP関数をしっかり押さえておくのがおすすめです。</p>



<p>関連する検索・参照系の関数としては、<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-match/">MATCH関数</a>の組み合わせも便利です。XLOOKUPが使えない環境で2方向検索をしたい場合に重宝するので、あわせてチェックしてみてください。</p>



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



<p>HLOOKUP関数は、横方向に並んだデータから値を検索・取得するための関数です。この記事のポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>HLOOKUPの「H」はHorizontal（水平）の略で、<strong>横方向に検索</strong>する関数</li><li>引数は「検索値・範囲・行番号・検索の型」の4つ。検索の型は<strong>FALSEを指定するのが基本</strong></li><li>検索値が見つからないときの<code>#N/A</code>エラーは、IFNA関数と組み合わせて回避できる</li><li>VLOOKUPとは検索方向が90度違う。表のレイアウトに合わせて使い分ける</li><li>Microsoft 365やExcel 2021以降であれば、<strong>XLOOKUP関数への置き換え</strong>がおすすめ</li></ul>



<p>横方向のデータ検索はHLOOKUP関数にお任せです。ぜひ実務で活用してみてくださいね。</p>



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



<p>biz-tacticsではExcel関数の一覧を3パターンご用意しています。用途に合わせてお使いください。</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><li><a href="https://mashukabu.com/excel-function-alphabetical-order-pronunciation/">Excel関数の読み方一覧</a></li></ul>



<h3 class="wp-block-heading"><span id="toc21">エラー値についてのまとめ記事</span></h3>



<p>関数でエラーが発生した際に表示される、エラーの種類を以下の記事でまとめています。</p>



<p><a href="https://mashukabu.com/excel-error-value-list/">【Excel】セルに表示されるエラーの種類と原因、対処方法を解説</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-hlookup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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-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">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>
