STUDY387

エクセルで仕事をもっと簡単にしよう

COUNTIF関数にワイルドカードを組み合わせると最強に便利!

time 2015/04/13

COUNTIF関数にワイルドカードを組み合わせると最強に便利!
※ エクセル2013で説明しています。

ワイルドカードをご存知ですか?
以前『仕事が100倍楽になる、絶対に覚えたいワイルドカードでの検索と置換』でご紹介しましたが、あいまいな検索に重宝します。

実はこのワイルドカードは関数と組み合わせて使うこともできます。
特にCOUNTIF関数との相性がよく、覚えておくと超便利ですよ。

たとえば、COUNTIF関数を使って
下の氏名リストから30代の人数を調べるとき、
みなさんならどうしますか?
excel-countif-wildcards-01

年齢を数値に修正してから
COUNTIF関数で数えることもできますが、
ワイルドカードを使うともっと簡単にできます。

COUNTIF関数の検索値を「3?歳」とすればOKです。
下の画像の例だと、
COUTIF関数の数式を「=COUNTIF(B2:B22,A25)」とし、
検索値(3?歳)をA25セルに入力しています。
excel-countif-wildcards-02

結果、30代が4名と分かりました。
実際に数えた人数と一致していますね。
excel-countif-wildcards-03

ワイルドカードの「?」は任意の1文字を表しています。
従って「3?歳」は「"3" "任意の一文字" "歳"の順でならんだテキスト」を意味します。

エクセルで使えるワイルドカードは「?」の他に「*」があります。
(厳密にはもう一つあるのですがあまり使用しないので省略します)
*」は「任意の文字(0文字でもOK)」を意味します。

なので「3*歳」としても人数を数えることができますが、
*」は1文字とは限らず、また、
文字がなくても一致とみなされるので、
リストに「300歳」や「3歳」の人がいたらカウントされます。
要注意です。

excel-countif-wildcards-04

しかし、「*」が便利なときもあります。
たとえば「30 歳」というふうに30と歳の間に空白があるテキストが
混在するなら「3*歳」や「3?*歳」を検索値にすると「30 歳」もカウントされます。
もちろん300歳や3歳の人がいない場合に限りますが!
3?*歳にすれば少なくとも3歳はカウントされません)
excel-countif-wildcards-05

また、「30歳 」というふうに歳の後ろに空白があるテキストが
混在するなら「3?歳*」とすると「30歳 」もカウントされます。
excel-countif-wildcards-06

このように「?」「*」は一致する検索値の幅を広げ大変便利です。
しかし、先ほど300歳や3歳が数に加わったように、
予期せぬ値がカウントの対象となって、間違いが起こる場合もあります。
十分に注意して使用してください。

お役に立ちましたか?ご活用ください♪

sponsored link



sponsored link

sponsored link

何はともあれOFFICEのことならマイクロソフト。意外とキャンペーンやっています。

コピー用紙あったかな?トナーもあったかな?事務用品はアクスルへGO!