XMATCH関数

Excel 365, Excel 2021

概要

XMATCH関数は、指定された項目を配列内またはセル範囲内で検索し、その相対位置(何番目かを示す数値)を返します。従来のMATCH関数を進化させた高機能な検索関数で、柔軟な検索モードとマッチングオプションを提供します。

構文

XMATCH(検索値, 検索範囲, [一致モード], [検索モード])

パラメータ

パラメータ タイプ 必須 説明
検索値 Any はい 検索対象の値(セル参照、数値、文字列など)
検索範囲 Range/Array はい 検索を行う配列またはセル範囲
一致モード Number いいえ 0:完全一致(default), -1:次に小さい値, 1:次に大きい値, 2:ワイルドカード
検索モード Number いいえ 1:先頭から(default), -1:末尾から, 2:昇順バイナリ, -2:降順バイナリ

XMATCH関数の使用

XMATCHはデータ配列内で指定値の位置を特定する関数です。VLOOKUPやMATCHの代替として使用でき、特に複数条件のルックアップや動的検索に優れています。INDEX関数と組み合わせることで、任意の行列データから値を抽出可能です。

XMATCHの一般的な例

基本的な完全一致検索

=XMATCH(E3,C3:C7)

C3:C7内でE3の値を検索し、相対位置を返す(例:"Grape"が2番目なら2を返す)

近似一致(次に大きい値)

=XMATCH(F2,C3:C9,1)

売上しきい値F2以上の最初の担当者の位置を返す(ボーナス対象者数)

2次元テーブル検索(INDEX+XMATCH)

=INDEX(C6:E12,XMATCH(B3,B6:B12),XMATCH(C3,C5:E5))

行と列の両方でXMATCHを使用し、特定セル値を抽出

逆方向検索

=XMATCH("商品A",C3:C10,-1)

配列末尾から先頭へ検索し、一致位置を返す

よくある質問

XMATCHはMATCHの進化版で、検索モードや一致オプションが豊富。MATCHにはない逆検索・バイナリ検索に対応し、デフォルト動作も改善されています。

検索モード2(昇順)または-2(降順)使用時は、検索範囲が事前にソートされている必要があります。未ソートだと誤った結果が返ります。

一致モード2で使用可能。*(複数文字)、?(1文字)、~(リテラル)に対応します。

一般的なエラーと解決策

#N/A エラー

Cause: 検索値が見つからない

Solution: 一致モードを調整するか、データ確認

#VALUE! エラー

Cause: バイナリ検索で範囲が未ソート

Solution: 検索モードを1に戻すか、データをソート

予期しない位置

Cause: 検索モードの誤設定

Solution: 検索モード引数を確認

注記

  • Excel 365/2021限定機能
  • MATCH関数からの移行を推奨
  • 大規模データでバイナリ検索が高速
  • XLOOKUPと組み合わせると最強
  • 配列数式としても使用可能

互換性

利用可能: Excel 365, Excel 2021

利用不可: Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003

コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021