Excel 文字列を比較する方法(完全一致・部分一致)

2019年6月11日

概要

Excelには文字列の一致しているかを

返す機能があります。

その機能には完全一致を調べるもの、

部分一致を調べるあいまい検索があります。

主にIF関数や条件付き集計関数、

VLOOKUP関数に用いられます。

完全一致

比較演算子

文字列が全て一致している場合にTRUEします。

方法は単純に”(ダブルコーテーション)で囲んだ

文字列と比較する数式を作ります。

IF関数の場合は比較演算子を使います。

文字列の完全一致の例

一字一句違いのない場合のみTRUEとなります。

3行目のように検査対象を含んでいたとしても

異なっていると判断されてFALSEとなります。

EXACT関数

厳密な比較にはEXACTを使用します。

比較演算子とは下記の差があるので

その時々で都合のよいほうを利用します。

「半角文字の数字」と「数値」の比較・=ではデータ型が違うと別と判定
・EXACT関数では数値が一緒であれば同じと判定
アルファベットの大文字と小文字・=では大文字と小文字を区別しない
・EXACT関数では大文字と小文字を区別する

部分一致の例

先述の例の含むパターンや前方一致(先頭が一致)、

後方一致(末尾が一致)の場合、

ワイルドカードで数式を作ります。

ワイルドカード

意味のある特殊な文字を使う方式です。

主に条件付き集計関数、VLOOKUP関数に使用します。

IF関数 にはそのままでは使えません。

ワイルドカードには下記のものがあります。

文字読み方用途
*アスタリスク同じ位置の任意の数の文字列
?クエスチョン同じ位置の任意の1文字
~チルダアスタリスクとクエスチョンを通常の文字として扱う

条件付き集計関数やVLOOKUPでの使用例

?は任意の文字数が何文字かを特定したい場合に使用します。

逆に任意の文字数を特定したくない場合は*を使用します。

これによりVLOOKUP関数で特定の文字列を含む

検索ケースを実現可能になります。

ワイルドカード使用例

IF関数での使用例

IF関数ではワイルドカードを直接、使えないため

ワイルドカードの使えるCOUNTIF関数を

間に挟むことで間接的に機能させます。

文字列比較関数を使っても出来ますが

数式が複雑になりがちのため

この方法をお勧めします。

COUNTIF関数を仲介してIF関数にワイルドカードを機能させる

サンプルファイル

関連記事

セルの検索と置換

VLOOKUP関数で特定文字列を含む(前方一致、部分一致、後方一致)検索を行う方法

IF系関数とその関連機能の記事一覧