5/08/2016

Excel。COUNTIF関数の条件をセル入力で設定変更することはできませんか?


Excel。COUNTIF関数の条件をセル入力で設定変更することはできませんか?

<条件可変式COUNTIF関数>


企業研修のおりに、ご紹介するCOUNTIF関数。
まぁ、多くの方が使い方を知っているので、特にご質問はないのですが、
先日、
「COUNTIF関数の条件をいちいち、関数を修正しないで変更することはできませんか?」
とのこと。

そこで、セル参照させれば、簡単にできますよ。
ってお伝えしたのですが、そうではなくて、こういうのでした。

「その数値以上とかより大きいとかも、セルで変更することは出来ないものでしょうか?」
というもの。

なるほど、そう来ました。ということで、こんなんですか?
と作ってみたら、喜んでいただいたので、その時に作成したものを今回ご紹介しちゃいます。

下記のような表を作ってみました。

A1:C12が対象者の表になります。
E2には、点数の条件
F2には、I列の以上~以下までを参照させた判定条件を選択できるようにしてあります。
G2には、F2を受けて、その比較演算子を表示させるようにしております。
F5には、その条件に基づいて算出した結果を表示させております。

さて、F2の判定の設定からご説明してきます。

このように▼のリストで選択できるようしております。

これは、入力規則のリストの設定をして作成しております。

データの入力規則ダイアログボックスを表示してみましょう。

設定タブの入力値の種類には、リストを設定して、元の値には、I2:I6を設定しております。

これで、以上~以下までを選択できるようになりましたが、
これだけでは、COUNTIF関数は作れません。比較演算子が必要になりますので、
IF関数を使って、G2に算出させるようにしております。

では、G2ですが、このような数式が設定しております。

=IF(F2="以上",">=",IF(F2="より大きい",">",IF(F2="等しい","=",IF(F2="未満","<","<="))))

ベタベタなIF関数のネストですね。

ちょっと気持ち悪い感じもしますが、今回はIF関数のネストで算出させるようにしました。

あとは、このE2とG2を使って、COUNTIF関数を作っていきます。

では、F5をクリックして、COUNTIF関数ダイアログボックスを表示しましょう。

範囲には、C2:C11を入力します。
検索条件ですが、G2&E2 と入力します。

すなわち、G2とE2を&で結合させるわけですね。
通常、比較演算子を使った条件の場合は、”(ダブルコーテーション)で囲むのですが、
今回のケースのようにセル参照させる場合には、
”(ダブルコーテーション)で囲む必要はありません。

あとは、OKボタンをクリックしましょう。これで完成しました。

ちなみに、F5に作成した数式は、

=COUNTIF(C2:C11,G2&E2)


では、条件を以下に変えてみましょう。

合致数が変わりましたね。

このように、設定してあげると、COUNTIF関数もかなりアクティブな感じになりますね。

条件可変式COUTIF関数ってところでしょうか。

ですので、アイディアとしては、SUMIF関数でやってみるとか、できますよ。