【エクセルTips】IF関数でワイルドカードを使う!?COUNTIF関数とのネストを紹介します!

エクセル

はじめに

IF関数の第一引数[論理式]では「〇〇から始まる文字列ならなんでも」、「〇〇を含む文字列ならなんでも」または「〇〇から始まって任意の3文字が続く文字列ならば」といったワイルドカードを使うことができません。
しかし、COUNTIF関数との組み合わせでワイルドカードを使うという手段がありますので、この記事で紹介します!
このブログのメインコンテンツであるエクセル関数の擬人化キャラクター「関数ちゃん」にも登場してもらいます!

ワイルドでしょう~?

キュウ
キュウ

IFちゃんはもう少しワイルドになっても良い! そうは思いませんか?

シノ
シノ

急にどうしたのかなキュウさん…話聞きますよ

キュウ
キュウ

稟議書の一覧表があって「営業〇課」のように営業部の課である場合に
E列のセルに「営業部」と表示させたいのですが…
IFちゃんにお願いしようとしたらワイルドカードは使えないと言われてしまいました

シノ
シノ

色々方法はありそうですが、
ワイルドカードが使えるCOUNTIFちゃんとIFちゃんのコンビネーションで解決してみましょうか

キュウ
キュウ

あ、あなたが神か…!

COUNTIF関数とのネストで、IF関数でワイルドカードを使う
<例で使用している数式>
=IF(COUNTIF(B2,"営業*")>0,"営業部","")
シノ
シノ

ここではCOUNTIFちゃんにちょっと変わった働きをしてもらっています。
第一引数の[範囲]が1セルになっているでしょう?

COUNTIF
COUNTIF

ちょっと…リングが狭いわよ

シノ
シノ

そして[検索条件]に必殺ワイルドカードです!
COUNTIFちゃんは範囲が1セルなので、条件に合えば「1」、合わなければ「0」のどちらかを返すことになります。

COUNTIF
COUNTIF

「”営業*”」だから、営業から始まる文字列なら
カウントして良いってことね、任せて

キュウ
キュウ

なるほど、あとはCOUNTIFちゃんが「0」か「1」かの条件分岐なのでIFちゃんの出番、ということですね

IF
IF

左様…我々関数ちゃんは組み合わせ次第で
無限の可能性を秘めているのだ…

シノ
シノ

論理式は色々考えられますね
真のとき「営業部」としたいなら「=1」「<>0」でもOKです!
さらに進んだことをいえば、比較演算子を省略できます

キュウ
キュウ

比較演算子を省略…??

比較演算子の省略
<例で使用している数式>
=IF(COUNTIF(B2,"営業*"),"営業部","")
シノ
シノ

条件式の結果は「0」ならFALSE、それ以外ならTRUEに読み替えられるんです
今回は「0」か「1」の二択なので「0」ならFALSE、「1」ならTRUEが返るのを利用するんです
まぁ…これはしばらく覚えなくて良いです
他の人の数式で使われているのを見た時に思い出せれば上々でしょう!

キュウ
キュウ

ワイルドなCOUNTIFちゃんに引っ張られるIFちゃん… 面白いですね!!

おわりに

COUNTIF関数の引数に1セルを渡して使う…なんだか不思議な感じのする数式を紹介しました。
実務では「営業部」なんて表示させずにSUMIF関数のワイルドカードでサクっと金額列を集計してしまうような気もします。
ただただ、COUNTIFちゃんに「狭い」と言わせたかっただけの記事かもしれませんが、お役に立てたら幸いです!

【内部リンク】エクセル関数 COUNTIF関数擬人化キャラクター記事

【外部リンク】Microsoftサポート|COUNTIF関数

コメント

タイトルとURLをコピーしました