Excel 文字列を比較する方法(完全一致・部分一致)
Excelには文字列が一致しているかを調べる機能が複数あります。
その機能には完全一致を調べるものと部分一致を調べる、あいまい検索があります。
これらは主にIF関数や条件付き集計関数、XLOOKUP関数、VLOOKUP関数に用いるものです。
この記事では文字列比較機能のそれぞれの特徴と適切な場面を紹介します。
完全一致
比較演算子
文字列が全て一致している場合にTRUEとなります。
方法は単純に"(ダブルコーテーション)で囲んだ文字列同士を=で挿んだ数式を作ります。
=文字列1 = 文字列2
IF関数の場合の使用例です。

一字一句違いのない場合のみTRUEとなります。
3行目のように検査対象を含んでいたとしても異なっていると判断されてFALSEとなります。
この比較演算子は手軽に使用できますが、大文字小文字を区別しないなど
比較が厳密でない部分があるため厳密な比較を行いたい場合はEXACT関数を使用します。
EXACT関数
比較演算子とは下記の差があるのでその時々で都合のよいほうを利用します。
「半角文字の数字」と「数値」の比較 | ・=ではデータ型が違うと別と判定 ・EXACT関数では数値が一緒であれば同じと判定 |
アルファベットの大文字と小文字 | ・=では大文字と小文字を区別しない ・EXACT関数では大文字と小文字を区別する |
EXACT関数はこのように使用します。
=EXACT(文字列1,文字列2)
下記がEXACT関数の結果例と比較演算子の結果との対比です。

部分一致の例
含むパターン(部分一致)や
前方一致(先頭が一致)、後方一致(末尾が一致)の場合、
ワイルドカードという特殊な文字で数式を作ります。
主に条件付き集計関数、 XLOOKUP関数、VLOOKUP関数に使用します。
IF関数にはそのままでは使えません(後述)。
このワイルドカードには下記のものがあります。
文字 | 読み方 | 用途 |
---|---|---|
* | アスタリスク | 同じ位置の任意の数の文字列 |
? | クエスチョン | 同じ位置の任意の1文字 |
~ | チルダ | アスタリスクとクエスチョンを通常の文字として扱う |
条件付き集計関数やVLOOKUP関数での使用例
?は任意の文字数が何文字かを明確に指定したい場合に使用します。
逆に文字数を特定しない場合は*を使用します。
これによりVLOOKUP関数や条件付き集計関数であいまい検索を実現できます。
(XLOOKUP関数では一致モードを変更する必要があります)
比較方法 | 数式例 |
---|---|
部分一致 | *文字列* |
前方一致 | 文字列* |
後方一致 | *文字列 |

IF関数での使用例
IF関数にはワイルドカードが使えませんが
COUNTIF関数を間に挟むことで機能させることが可能です。
=IF(COUNTIF(検索対象,"*文字列*")>=1,"含む","含まない")
※>=1はなくても機能します。

FILTER関数の場合
FILTER関数の場合、ワイルドカードが利用できないため文字列関数で対応する必要があります。
(詳細はFILTER関数の記事内)
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方、関数の解説(140種類)、
頻出テクニックと実用例(109種類)、
XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。