Excel。6月に会員登録した人数を知りたいけど、楽な方法ないかな?
<SUMPRODUCT+MONTH関数>
次のような顧客情報があります。登録月が6月の人に年間更新の有無を確認したいそうで、
6月に登録した人数を把握したいというのが目的。
普通に考えるならば、D列にMONTH関数を使って、
6と算出されたものの数を数えるというのが、結構基本的な考え方だと思います。
一応やっておきましょう。
D2をクリックして、MONTH関数ダイアログボックスを表示しましょう。
シリアル値には、C2を入力してOKボタンをクリックして、
オートフィルで数式をコピーしましょう。
あとは、F2にCOUNTIF関数を使って算出させます。
なおF1の6月は、表示形式のユーザー定義で”月”を表示させているだけで、
セルの内容は、6なので、F1を使って算出していきます。
では、F2にCOUNTIF関数ダイアログボックスを表示しましょう。
範囲には、D2:D2
検索条件には、F1
では、OKボタンをクリックしましょう。
数式は、
=COUNTIF(D2:D12,F1)
このように3名と算出することが出来ました。
この場合でもOKなのですが、次の方法でも算出することが出来ますので、
参考になれば幸いです。
【SUMPRODUCT関数を使ってみる】
D列にMONTH関数で算出した結果を数える方法ではないやり方なのですが、SUMPRODUCT関数を使う方法です。SUMPRODUCT関数は、掛け算の結果を合計する関数ですね。
F3をクリックして、
SUMPRODUCT関数ダイアログボックスを表示しましょう。
配列1には、MONTH(C2:C12)を入力して、OKボタンをクリックします。
数式は、このようになっています。
=SUMPRODUCT(MONTH(C2:C12))
ただ、これだけでは当然ダメで、次のように数式をアレンジしていきます。
=SUMPRODUCT((MONTH(C2:C12)=F1)*1)
このように、先ほどと同じように、3と算出することが出来ましたね。
どうして算出することができたのでしょうか?
MONTH(C2:C12)=F1
MONTH(C2)=F1が合致したらTRUE。
合致しなければ、FALSE。と判断が出ます。
では、E列を追加して、確認してみましょう。
E2には、
=MONTH(C2)=$G$1
という数式を作り、オートフィルで数式をコピーしてみると、
G1、つまり、6と合致しているところは、TRUEが算出されて、
合致しないところは、FALSEが算出されます。
TRUEは1。FALSEは0。
というようにExcelでは決まっているのですが、
このままでは計算が出来ないので、×1してあげることにより、
数値に変換することが出来ます。
E2の数式を次のように修正して、
オートフィルで数式をコピーしてみましょう。
=(MONTH(C2)=$G$1)*1
1と0の数値になりましたね。
こうなれば、この範囲の合計値ですから、3になったことがわかりますよね。
今回のように、一度月を算出してその件数を数えてもいいですが、
SUMPRODUCT関数を使うことでも、算出することができますよ。