はじめに
IF関数の第一引数[論理式]では「〇〇から始まる文字列ならなんでも」、「〇〇を含む文字列ならなんでも」または「〇〇から始まって任意の3文字が続く文字列ならば」といったワイルドカードを使うことができません。
しかし、COUNTIF関数との組み合わせでワイルドカードを使うという手段がありますので、この記事で紹介します!
このブログのメインコンテンツであるエクセル関数の擬人化キャラクター「関数ちゃん」にも登場してもらいます!
ワイルドでしょう~?
IFちゃんはもう少しワイルドになっても良い! そうは思いませんか?
急にどうしたのかなキュウさん…話聞きますよ
稟議書の一覧表があって「営業〇課」のように営業部の課である場合に
E列のセルに「営業部」と表示させたいのですが…
IFちゃんにお願いしようとしたらワイルドカードは使えないと言われてしまいました
色々方法はありそうですが、
ワイルドカードが使えるCOUNTIFちゃんとIFちゃんのコンビネーションで解決してみましょうか
あ、あなたが神か…!
<例で使用している数式>
=IF(COUNTIF(B2,"営業*")>0,"営業部","")
ここではCOUNTIFちゃんにちょっと変わった働きをしてもらっています。
第一引数の[範囲]が1セルになっているでしょう?
ちょっと…リングが狭いわよ
そして[検索条件]に必殺ワイルドカードです!
COUNTIFちゃんは範囲が1セルなので、条件に合えば「1」、合わなければ「0」のどちらかを返すことになります。
「”営業*”」だから、営業から始まる文字列なら
カウントして良いってことね、任せて
なるほど、あとはCOUNTIFちゃんが「0」か「1」かの条件分岐なのでIFちゃんの出番、ということですね
左様…我々関数ちゃんは組み合わせ次第で
無限の可能性を秘めているのだ…
論理式は色々考えられますね
真のとき「営業部」としたいなら「=1」「<>0」でもOKです!
さらに進んだことをいえば、比較演算子を省略できます
比較演算子を省略…??
<例で使用している数式>
=IF(COUNTIF(B2,"営業*"),"営業部","")
条件式の結果は「0」ならFALSE、それ以外ならTRUEに読み替えられるんです
今回は「0」か「1」の二択なので「0」ならFALSE、「1」ならTRUEが返るのを利用するんです
まぁ…これはしばらく覚えなくて良いです
他の人の数式で使われているのを見た時に思い出せれば上々でしょう!
ワイルドなCOUNTIFちゃんに引っ張られるIFちゃん… 面白いですね!!
おわりに
COUNTIF関数の引数に1セルを渡して使う…なんだか不思議な感じのする数式を紹介しました。
実務では「営業部」なんて表示させずにSUMIF関数のワイルドカードでサクっと金額列を集計してしまうような気もします。
ただただ、COUNTIFちゃんに「狭い」と言わせたかっただけの記事かもしれませんが、お役に立てたら幸いです!
コメント