大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excelで、文字列を部分一致で比較する方法について、ご紹介します。文字列を部分一致で比較するには、ワイルドカードを使います。IF関数では、ワイルドカードを使えないので「COUNTIF関数」を使いましょう。COUNTIF関数とIF関数を使えば、部分一致で比較して、条件分岐もできます。

はじめに

この記事では、部分一致で文字列を比較する方法について、ご紹介します。

部分一致で比較するには、ワイルドカードを使います。

ワイルドカードは、2種類あります。

  • 「*」:なんでもいい。
  • 「?」:なんでもいい。ただし、1文字。

というような感じで使えます。

ワイルドカードを使えるExcel関数と、使えないExcel関数があります。

「IF関数」では使えないので、「COUNTIF関数」とワイルドカードを組み合わせて使います。

条件分岐させたい場合は、「IF関数」をCOUNTIF関数に組み合わせて使いましょう。

では、部分一致で文字列を比較する方法について、解説していきます。

この記事で紹介すること

  • 文字列を部分一致で比較する方法

本記事の内容を動画でまとめています

目次から見たい項目へ移動すると便利ですよ。

目次

Excelで文字列を部分一致で比較する

Excelで、文字列を部分一致で比較します。

部分一致する際に使うのが、ワイルドカードです。

ワイルドカードは、2種類あります。

  • 「*」:なんでもいい。
  • 「?」:なんでもいい。ただし、1文字。

という感じで使えます。

ワイルドカードを使えるExcel関数と、使えないExcel関数があります。

文字列の比較でパッと思いつくのが「IF関数」です。

ただ、「IF関数」では、ワイルドカードが使えません。

IF関数ではワイルドカードは使えない

「IF関数」では、ワイルドカードが使えないんですよね。

ちょっとやってみます。

「ABC」を含むかの条件を作ります。

これでは、部分一致で比較はできないです。

=IF(A2="*ABC*","含む","含まない")

セルに入力します。

「IF関数」ではワイルドカードは使えない

ABCを含むかの条件式をIF関数で作る

結果は、「含まない」となってしまいます。

実際は、文字列の中に「ABC」を含みます。

ただ、「IF関数」でワイルドカードは使えないので、含まないとなってしまいます。

文字列を部分一致で比較したい場合は、「COUNTIF関数」が使います。

COUNTIF関数でワイルドカードを使う

「COUNTIF関数」でワイルドカード「*」を使ってみます。

COUNTIF関数でワイルドカード「*」を使う

「ABC」を含むかの条件式を作ります。

=COUNTIF(A2,"*ABC*")>0

セルに入力してみます。

COUNTIF関数で文字列を部分一致で比較した結果

結果は、「TRUE」となりました。

COUNTIF関数を使って、部分一致で文字列を比較できました。

COUNTIF関数でワイルドカード「?」を使う

もう一つのワイルドカード「?」も、COUNTIF関数で使えます。

「ABC+1文字」かを比較してみます。

=COUNTIF(A2,"ABC?")>0

セルに入力してみます。

ABC+1文字かをCOUNTIF関数で部分一致で比較

結果は、「TRUE」となりました。

ワイルドカード「?」を使って、部分一致で比較ができました。

部分一致で比較した結果を、論理式で使いたい場合は、「IF関数」と組み合わせるとできます。

やってみます。

ExcelでCOUNTIFとIFを組み合わせて部分一致で文字列を比較

COUNTIF関数とIF関数を組み合わせて、部分一致で文字列を比較してみます。

「ABC」が文字列に含まれているかを比較

「ABC」が文字列の中に含まれているかを比較してみます。

「ABC」を含むかを比較

入力する数式は、次のようになります。

=COUNTIF(A2,"*ABC*")>0
=IF(A4,"含む","含まない")

セルに入力してみます。

COUNTIF関数で部分一致で比較した結果をIF関数で条件分岐する

結果は、「含む」となりました。

COUNTIF関数とIF関数をまとめる

COUNTIF関数とIF関数をまとめると、次のようになります。

=IF(COUNTIF(A2,"*ABC*")>0,"含む","含まない")

セルに入力してみます。

COUNTIF関数とIF関数をまとめて部分一致で比較した結果

結果は、先ほどと同じで「含む」となりました。

こんな感じで、COUNTIF関数とIF関数を組み合わせると、部分一致で比較して条件分岐する、ということができます。

「ABC+1文字」の文字列かを比較

文字列が「ABC+1文字」かを比較してみます。

「ABC+1文字」かを比較

ワイルドカード「?」を使います。

入力する数式は、次のようになります。

=COUNTIF(A2,"ABC?")>0
=IF(A4,"一致","不一致")

セルに入力します。

ワイルドカード「?」とCOUNTIF関数、IF関数で部分一致で文字列を比較して条件分岐する

結果は、「一致」となりました。

COUNTIF関数とIF関数をまとめる

数式をまとめると、次のようになります。

=IF(COUNTIF(A2,"ABC?")>0,"一致","不一致")

セルに入力します。

COUNTIF関数とIF関数をまとめて部分一致で比較して条件分岐

結果は、先ほどと同じで「一致」となりました。

こんな感じで、部分一致で文字列を比較して、条件分岐させたい場合は、「COUNTIF関数」と「IF関数」を組み合わせて使いましょう。

おわりに

この記事では、部分一致で文字列を比較する方法について、ご紹介しました。

部分一致で比較するには、ワイルドカードを使います。

ワイルドカードは、2種類あります。

  • 「*」:なんでもいい。
  • 「?」:なんでもいい。ただし、1文字。

というような感じで使えます。

ワイルドカードを使えるExcel関数と、使えないExcel関数があります。

「IF関数」では使えないので、「COUNTIF関数」とワイルドカードを組み合わせて使います。

条件分岐させたい場合は、「IF関数」をCOUNTIF関数に組み合わせて使いましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す