Blog ブログ

「○○という文字列を含む場合」「含まない場合」で表示内容を変える関数【Excel】

ビジネス

こんにちは、NET SANYOのK2です。
今回はエクセル(Excel)で「ある文字列がセルに含まれる場合」「含まれない場合」で表示内容を変える方法をご紹介します。

数式

=IF(COUNTIF(セルの座標,”*文字列*”),文字列を含む場合の表示内容、含まない場合の表示内容)

解説と例

架空のスケジュール表を例にご説明します。

C列のセルに「授業」という言葉が含まれる場合のみ、D列に「大学行く」と表示したいと思います。
D5に次のように入力します。

=IF(COUNTIF(C5,”*授業*”),”大学行く”、””)

数式を入力したら、オートフィルで下へ複製します。
スケジュールに「授業」が含まれる場合は「大学行く」、含まれない場合は何も表示されないようになりました!

ポイントとなるのは、言葉の前後につけた「*」。

*のような記号を「ワイルドカード」と呼びます。「その言葉のみ入力されたセル」だけでなく、「言葉の含まれたセル」も真(合っている)としたいときは、言葉の前後にワイルドカードをつけることが必要なのです。

*の詳しい使い方や、*以外のワイルドカードを次項でご紹介します。

ワイルドカードの種類と使い方

ワイルドカードとは、「指定した文字列を含むセル」を真とするために使う記号です。
ワイルドカードには様々な種類がありますので、ご紹介します。

*言葉*

言葉の前後に他の文字がある場合も真になります。

【例】*日*

「日」「毎日」「日本晴れ」など、「日」が含まれるものは全て真になります。

*言葉

言葉の前に他の文字がある場合は真になりますが、言葉の後に他の文字がある場合は偽(合っていない)になります。

【例】*日

「日」「勤労感謝の日」は真ですが、「日常」は偽になります。

言葉*

言葉の後に他の文字がある場合は真になりますが、言葉の前に他の文字がある場合は偽になります。

【例】日*

「日」「日常」「日本の文化」は真ですが、「毎日」は偽になります。

?言葉

言葉の前に1文字ある場合のみ真となります。

単語の前後に文字が無い場合も偽となります。
「??言葉」なら言葉の前に2文字ある場合が真、「???言葉」なら言葉の前に3文字ある場合が真…といったように、?の個数は自由に増やせます。

【例】?日

「毎日」「平日」は真ですが、「日」「日常」「二十日」は偽になります。

言葉?

言葉の後に1文字ある場合のみ真となります。

【例】日?

「日々」「日常」は真ですが、「日」「日にち」「翌日」は偽となります。

~

?や*の前に~を付けることで、?や*をワイルドカードではなく文字列として認識させることができます。

【例】*~?

「打ち合わせ?」など、語尾に?がつくセルが真となります。

まとめ

COUNTIF(範囲,条件)はもともと「条件に合ったセルが範囲内にいくつあるか」をカウントしてくれる関数ですが、IF関数・ワイルドカードと組み合わせるとこのような柔軟な使い方ができます。

便利な関数なので、ぜひ事務処理に活用して下さいね。

WRITER

K2

印刷物・Web・動画制作会社「NET SANYO」の中の人です。Perfumeにドはまりしている息子(3歳)により、一緒に歌う際のっち役をするよう命じられました。頑張ろうと思います。