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関数でやってみるとか、できますよ。