6/19/2018

Excel。簡単なのに意外と知らない日付の数え方と文字だけの数え方【Count】

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
検索条件には、”*”

これで算出することが出来ます。
現場では、色々なパターンがありますので、
ちょっと知っているといいケースかもしれませんね。