エクセルで日時の情報とあわせて収集したデータを管理している方もいると思います。
その際に○○日から○○日のデータ、または○○時から○○時のデータが何個あるか知りたい場合
通常のCOUNT関数では求めることができません。
そこで別のセルに算出開始日時と算出終了日時を入力して、
自動でその範囲間に該当する日数をカウントできたら便利ですよね。
今回はそんな悩みを解決できるような内容になっています。
それでは見ていきましょう。
■こんなことができるようになる!
・指定した2つの日付の範囲に当てはまる日時のカウントを算出することができる。
⬛︎指定範囲間の日時をカウントする
通常であればカウントを求める際に「COUNT関数」と呼ばれる関数を使用します。
COUNT関数についてはこちらから
【COUNT関数】エクセルで選択した範囲の数値のみのデータの個数を求める・カウントする ► 独学エクセル塾 (dokugakuexcel.com)
しかし今回は指定範囲で絞り込むので COUNTIFS関数を使用していきます。
COUNTIFS関数についてはこちらから
【COUNTIFS関数】エクセルで複数の条件に合ったデータの個数をカウントする。 ► 独学エクセル塾 (dokugakuexcel.com)
では内容を見ていきましょう
・2つの日付の範囲内のカウントを求める
見本として下図のような収益のデータを用意しました。
B列には日付のデータが入っています。
今回はE3とF3に入力した日付の間に該当する日数を求めてみましょう。
COUNTIFSの関数の仕組みはこのようになってます。
=COUNTIFS(カウントしたい条件範囲1,カウントの条件1,カウントしたい条件範囲2,カウントの条件2,・・・)
カウントの条件の範囲1は日付で絞り込みたいので日付の範囲のB3:B12
カウントの条件1はE3以上の日付をカウントしたいので“>=”&E3
カウントの条件の範囲2も日付で絞り込みたいので日付の範囲のB3:B12
カウントの条件2はF3以下の日付をカウントしたいので“<=”& F3となります。
では当てはめていきましょう。
関数はこのようになります。
=COUNTIFS(B3:B12,“>=”&E3,B3:B12,“<=”&F3)
それでは入力していきましょう。
結果はこのようになります。
5月26日から6月2日のカウントを求める事ができました。
該当する日数は「5月26日」から「6月2日」で該当する日数は「8」なので
狙い通りの動作ができていますね。
もちろん、日付を変更しても変更した日付の範囲でカウントをしてくれます。
・2つの時刻の範囲内のカウントを求める
今度は入力した2つの時刻の範囲に該当する時刻データ数を求めてみましょう。
今回も先ほどの見本を参考にしていきましょう。
まず、前提として条件となる日時のデータに時刻の情報が含まれている必要があります。
数式は先ほどと同様になります。
=COUNTIFS(B3:B12,“>=”&E3,B3:B12,“<=”&F3)
では絞り込みの条件を14時から19時にしてみたいと思います。
結果はこのようになります。
時刻でも同様に2つの時刻範囲に該当する時刻データ数を求める事ができました。
該当する時刻は「14:00」から「19:00」で合計6個該当するので
狙い通りの動作ができていますね。
⬛︎補足 ○○日・時間以上・以下の日時をカウントする
ここからは補足です。
先ほどは2つの日時の範囲間のに該当する日時データをカウントしましたが、
今度は○○日・時間以上の日時データのカウント・以下の日時データのカウントをしてみましょう。
・○○日・時間以上の日時データのカウント
まずは○○日・時間以上の日時データのカウント方法です。
では再度、先ほどの見本データをご覧ください。
今回はE3に入力した日時以上の日時データをカウントしてみましょう。
先ほどは COUNTIFS関数を使用しましたが、今回は条件が1つなので COUNTIF関数となります。
COUNTIF関数の仕組みは下記の通りです。
=COUNTIF(絞り込む対象の範囲,絞り込む条件)
絞り込む対象の範囲は日時なのでB3:B12
絞り込む条件は F3に入力した日時以上なので“>=”&E3
関数に当てはめるとこのようになります。
=COUNTIF(B3:B12,“>=”&E3)
それでは入力してみましょう。
結果はこのようになります。
5月27日以上に該当する日数は「8」日ということがわかりました。
・○○日・時間以下の日時データのカウント
今度は○○日・時間以下に該当する日数をカウントする方法です。
考え方は先ほどと同様で「“>=”」の部分が「“<=”」となります。
では見本を見ていきましょう。
今回はE3に入力した日時以下に該当する日時データをカウントしてみましょう。
数式はこのようになります。
=COUNTIF(B3:B12,”<=”&E3)
では入力してみましょう。
結果はこのようになります。
5月27日以下に該当する日数は「3」日ということがわかりました。
⬛︎補足 2つの日付の範囲+絞り込み条件
先ほどは2つの日付の範囲に該当する日時データをカウントしましたが、さらに絞り込み条件を
増やしたい場合の方法を紹介します。
下図の見本をご覧ください。
先ほどのデータに加え、対象の項目をC列に追加しました。
仕様として2つの日付の範囲+対象に○がついてあるものの日時データのカウントをしたいと思います。
関数は COUNTIFSを使用していきます。
COUNTFS関数の条件は2つまでの縛りはなく、127個まで設定することができます。
では条件を追加した数式を見てみましょう。
=COUNTIFS(B3:B12,”>=”&F3,B3:B12,”<=”&G3,C3:C12,”○”)
「C3:C12,”○”」を追加する事でC列に○がついてある事が条件となりました。
それでは入力してみましょう。
結果はこのようになります。
5月26日から5月30日で対象に○がついてあるデータは「3つ」なのでカウント結果は「3」になっています。
今回は2つの日付データと対象の3つの条件でしたが
数式を追加する事で条件をさらに追加することができます。
⬛︎よくあるエラーと対処法
・条件に当てはまるがカウントしてくれない
こちらは対象日時または絞り込む際の条件の日時に問題があるかもしれません。
実際の画面をみてみましょう。
通常は「○月○日」といった表記ですが
ダブルクリックすると「年」までデータが入っています。
エクセルは日時と判断すると日付データとして年月日、
時刻を入力すると+時刻までデータとして入力されます。
つまり「年」が異なっていると範囲から除外されるのでカウントしてくれません。
一度日時データを確認してみてください。
・計算結果が0になる
日付範囲を設定する際に条件を「”>=”&対象セル」と設定しました。
この不等号の記号「<」と「>」ですが、全角と半角があります。
全角は「>」「<」で小文字は「>」「<」となってます。
見た目ではわかりにくいですが、全角で入力すると文字として認識され
不等号にならないので0となってしまいます。
入力の際は半角で入力してください。
⬛︎まとめ
いかがだったでしょうか。
日時とセットでデータを収集している方も多いとおもいます。
是非今回の内容を活用して
2つの日付間に該当する日時データをカウントしてみてください。
それでは次回の記事でお会いしましょう。