Excel。簡単なのに意外と知らない日付の数え方と文字だけの数え方
<COUNT関数・COUNTIF関数>
件数を数える関数は色々あるのを知っていても、次の2つはどのような関数を使ったら簡単に件数を
算出することが出来るのかを知らない人が結構いまして、
それが、日付の数え方と全体の中で文字だけの数え方なのです。
次の表を使って確認してみましょう。
B列をみると、日付が入力されているセルと、
文字が入力されているセルがあるわけです。
まずは、
日付がいくつあるのかということを算出したい場合は
どうしたらいいでしょうか?
というわけですね。
YEAR関数を使って年数を~とか、
日付そのものに注目しちゃうと、ダメなんですね。
この場合のポイントは、『シリアル値』ということに気付けるか
どうかということになります。
1900/1/1を1としたシリアル値。
つまり、数値が表示形式の日付で表示されているだけなのです。
ですから、日付を数えるには、
一番シンプルなCOUNT関数を使ってあげれば、簡単に算出することが出来ます。
なので、E2の数式は、
=COUNT(B2:B7)
COUNT関数は、数値の件数を算出する関数ですので、
日付もシリアル値で数値なので数えてくれる対象になるので、
COUNT関数を使うだけで日付の件数を数えてくれます。
ところが、
今回は日付と文字のミックスされたデータから
日付だけを数えるということでしたので、COUNT関数でいいのですが、
日付と数値がミックスされた場合は、
COUNT関数が使えませんので、それぞれのケースで対応する必要があります。
その一例をデータの一部を変更してご紹介しておきます。
C列に1か0が表示されていますね。
この数値を足してあげれば件数が出るのですが、
C2の数式は次のようにしてあります。
=(YEAR(B2)=2019)*1
今回は2019年に限定したケースですが、
B2の年が2019ならば、TRUEを返します。
TRUEでは数えるのが面倒なので、×1して数値化します。
TRUEはExcelでは1なので、1。FALSEは0ですね。
このように少し考える必要があります。
では、今度は、文字だけを数えるにはどうしたらいいのでしょうか?
例えば、「開始前」など、文字が統一されていれば、
COUNTIF関数で簡単に数えることができるのですが、
文字が統一されていない場合はできません。
当然、COUNTA関数では、空白以外を数えてしまいますから使えません。
今回のように”文字”を数えたい場合には、
COUNTIF関数とワイルドカードを組み合わせることで、簡単に算出してくれます。
E3には、COUNTIF関数を使った数式が入っています。
数式は、
=COUNTIF(B2:B7,"*")
一応、COUNTIF関数ダイアログボックスでも確認しておきましょう。
範囲には、B2:B7
検索条件には、”*”
これで算出することが出来ます。
現場では、色々なパターンがありますので、
ちょっと知っているといいケースかもしれませんね。