COUNTIFS関数の日付や期間でカウントされず0になる原因
ここでは、COUNTIFS関数で日付や期間の条件がうまくカウントされないで0になる原因と対応方法について解説します。
「日付や期間がカウントされないで0になる」状態の具体例の確認と、数式のどこが悪いのか、正しい数式の書き方の説明です。
1.まずはやりたいことを確認
まずは、やりたいことを例を含めて確認します。
1-1.「期間」や「日付」の条件で正しくカウントしたい
やりたいことは、COUNTIF関数の「『期間』や『日付』の条件で正しくカウントする」です。
数式を正しく入れたつもりなのにうまくいかない、0になるという状態を解消します。
1-2.例で確認
ひとつ例を見てみましょう。
例では、B列に入った日付に対して「4月1日から4月10日」の条件にあてはまるセルをカウントしようとしています。
ちなみに、セルE6に入れた数式は、
=COUNTIFS($B$3:$B$17,">=D4",$B$3:$B$17,"<=E4")
です。
しかし、結果は「0」が返ってきました。本当は5件あるはずなのに、です。
なお、同じ現象はCOUNTIF関数でも起こります。
2.原因と数式の書き方を間違う要因
次に、正しくカウントできない原因と、数式の書き方を間違ってしまう要因を見てみましょう。
2-1.正しくカウントできない原因は
正しくカウントできない原因は、「検索条件の書き方(例の『">=D4"』や『"<=E4"』の部分)を間違っている」ことです。
この書き方だと「4月1日以上」という意味ではではなく、「『>=D4』という文字列がないか?」という意味になってしまうのです。
「条件値にセル番号を入れる」場合には、別の書き方が必要です。
2-2.数式の書き方を間違う要因
このような形で数式の書き方を間違う要因は、関数の引数ダイアログにあります。
なぜなら「ダイアログで検索条件の所に『>=D4』と入力しOKボタンを押すと、自動で『">=D4"』に変わってしまうから」です。
では実際にやってみましょう。
「>=D4」でOKボタンを押すと…
自動で「">=D4"」に変わりましたね。。。
これでは間違ってしまうのも無理ないです。
3.正しくカウントできる数式の書き方
COUNTIF関数やCOUNTIFS関数で「以上」や「以下」などとする場合、数式の形は次のようにします。
【COUNTIF関数の場合】
【COUNTIFS関数の場合】
比較演算子とは、「>」や「>=」といった記号のことです。
ポイントは、次の通りです。
- 比較演算子のみを「"」で囲む
- 比較演算子の後に「&」を入れる
- &の後に「セル番号」を入れる
ちなみに、先ほどの例でいうと正しい数式は、
=COUNTIFS($B$3:$B$17,">="&D4,$B$3:$B$17,"<="&E4)
となります。
これで正しくカウントがされます。
なお、数式の中に日付を直接入力する形だと、数式は、
=COUNTIFS($B$3:$B$17,">=4/1",$B$3:$B$17,"<=4/10")
となり、全部を「"」で囲ってよくなっています。
条件値がセル参照の場合と数式内への直接入力の場合で異なる、ということに注意してください。
参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】
なお、COUNTIFS関数を使いこなすためのポイントを載せたその他のページへは、以下のリンクをクリックしてください。
- COUNTIFS関数 使いこなすためのポイントはこちら
- ●基本操作
- ◎基本的な使い方
- ●条件指定
- ◎日付・空白・空白以外等の条件指定の仕方
- ◎以上・以下等条件を範囲・期間指定する方法
- ◎複数条件を「または(OR)」で指定する方法
- ◎検索条件をまとめて切り換える方法
- ●検索条件範囲
- ◎ 複数列、連続/飛び飛びで指定する方法
- ●エラー対処
- ◎日付や期間の条件で0になる原因
- ◎#VALUE!エラーになる2つの原因と対処方法