【Excel】日付+時間帯検索関数の作成方法

このQ&Aのポイント
  • エクセル97を利用している方が、X月Y日の9:00から17:00までの件数をカウントする関数の作成方法を教えてください。
  • 毎回日付+時間の関数を1つ1つ作成するのは手間なので、引数を利用して複数の関数を簡単に作成する方法が知りたいです。
  • 利用する数値の例が用意されています。
回答を見る
  • ベストアンサー

エクセル 日付+時間帯検索

こんにちは エクセル97の利用しています。 X月Y日の9;00から17;00までの件数をカウントする関数を作成しました。 例 9/1から12/30で9;00~17:00までのカウントする関数。 =COUNTIF($K$5:$K$54,">=2012/09/01 9:00:")-COUNTIF($K$5:$K$54,">2012/09/01 17:00") =COUNTIF($K$5:$K$54,">=2012/09/02 9:00:")-COUNTIF($K$5:$K$54,">2012/09/02 17:00") =COUNTIF($K$5:$K$54,">=2012/09/03 9:00:")-COUNTIF($K$5:$K$54,">2012/09/03 17:00") しかし毎回、日付+時間の関数を1つ1つ作成するのは大変なので引数を利用したいのですがうまくいきません。 =COUNTIF($K$5:$K$54,">=A1")-COUNTIF($K$5:$K$54,">B1")  NG      A           B 1 2012/09/01 9:00 2012/09/01 17:00  どなたか、簡単に複数の関数作成する方法をおしえてください。 どうぞよろしくおねがいします。 (カウントする数値例)      K 5 2012/9/1 10:12 6 2012/9/1 10:57 7 2012/9/1 12:14 8 2012/9/3 9:31 9 2012/9/3 11:13 ・ 2012/9/3 18:16 ・ 2012/9/3 19:22 ・ 2012/9/3 12:57 ・ 2012/9/3 14:03 ・ 2012/9/3 14:53 ・ 2012/9/4 12:26 ・ 2012/9/4 15:53 ・ 2012/9/5 14:53 ・ 2012/9/5 19:00      ・        ・       ・

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

">=A1"、">B1" では NG ですね。 引数はダブルコーテーションから外に出して、& で連結してください。 =COUNTIF($K$5:$K$54,">=" & A1)-COUNTIF($K$5:$K$54,">" & B1)

kanabun1234
質問者

お礼

ありがとうございます。目的が達成できました。 あやうく1000件関数を手作業で作成するところでした。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

次の式でもよいですね。 =SUMPRODUCT((INT(K5:K54)>="2012/9/1"*1)*(INT(K5:K54)<="2012/12/30"*1)*(MOD(K5:K54,1)>="9:00"*1)*(MOD(K5:K54,1)<="17:00"*1)) 日付と時間はエクセルではシリアル値として捉えられて整数部分が日付で小数点以下が時間で表されますね。 そのためINT関数で小数点以下を切り捨てた日付部分を、MOD関数で引数を1にすることで整数部分を除いた時間部分を調べています。上の式ではSUMPRODUCT関数を用いて日付が指定の範囲にあり、時間が指定の範囲にあるセルの数を求めることになります。

kanabun1234
質問者

お礼

なるほど~。勉強なりました。 ありがとうございます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 結局 9/1~12/30 の間で 9:00~17:00 の時間帯の個数を表示したい!ということですよね? >例 9/1から12/30で9;00~17:00までのカウントする関数 とありますが、 A1セルに  >2012/09/01 9:00 B1セルに >2012/09/01 17:00  となっている部分でB1セルは 2012/12/30 17:00  になっているという前提での一例です。 表示したいセルに =SUMPRODUCT((INT($K$5:$K$54)>=INT(A1))*(INT($K$5:$K$54)<=INT(B1))*(MOD($K$5:$K$54,1)>=MOD(A1,1))*(MOD($K$5:$K$54,1)<=MOD(B1,1))*1) としてみてはどうでしょうか? ※ A1セルの日付~B1セルの日付までのA1セルの時刻~B1セルの時刻の間 としています。 外していたらごめんなさいね。m(_ _)m

kanabun1234
質問者

お礼

なるほどです。 ありがとうございます。次回の参考とさせていだだきます。

noname#204879
noname#204879
回答No.2

別解ということで… 添付図参照 L5: =MOD(K5,1) E2: =AND(L5>=A$5,L5<=B$5) C2: =DCOUNT(L4:L1000,1,E4:E5)

kanabun1234
質問者

お礼

ありがとうございます。参考とさせていただきます。

関連するQ&A

  • エクセルのCOUNTIFについて

    A,B,Cのセル内の数値の個数ををCOUNTIFで求めました。 普通にできたのですが、A,B,Cのセルに関数を入れて、 計算結果をCOUNTIFで求めようとしましたがNGでした。 関数の結果をカウントする方法がありましたらお願いします。

  • エクセルで月間の件数をカウントしたい

    エクセルで月間の件数をカウントしたい エクセル2003で以下のよな表をつくりました。    A       B 1 日付      管理番号  2 2010/2/3 12345 3 2010/2/12 12346 4 2010/2/14 空白 5 2010/2/21 文字列 6 2010/3/4 12357 7 2010/3/7 12348 8 2010/3/30 文字列 ここから一ヶ月間の管理番号(数値)の件数を自動でカウントするようにしたいのですが、どのようにすれば良いでしょうか。 (例:2月の管理番号の件数) 月(A列)の件数を絞るのにはCOUNTIFの組み合わせなどで出来たのですが、さらに管理番号(B列)を絞り込むやり方が分かりません。 宜しくお願い致します。

  • Excelのcountif関数について

    エクセルのcountif関数について質問をさせていただきます。 Countif関数で「B1」と「B2」や「N」と「n」いう数値を別数値として数えたいのですが、 countif(セル:セル,"B1"」 と入れると、どうもB2もカウントされてしまいます。 別数値としてカウントする方法を教えていただけないでしょうか。 宜しくお願いします。

  • Excel 日付の検索条件

    A列に日付、B列に数値が入っていると仮定します。 たとえば、A列に2004/5/1~2004/5/31という数値が入っている場合、該当するB列の数値の合計をだしたいです。 シートのデータが無限に増えていく為、どこかのセルに検索条件を置く、という形は使用したくありません。 =SUMIF(A:A,"【2004/5/1~2004/5/31】",B:B)の関数を使用したいのですが、検索条件をどうすればいいのかがよくわかりません。 (何を記入しても0を返してきます) 検索条件、または他に使用できる関数があれば教えていただきたいです。 宜しくお願いします_(._.)_

  • エクセルで日付データの比較/判定でカウント

    エクセルで日付データの比較/判定でカウント A1に 2006/2/22 A2に 2006/2/23 ---------- という日付データが入っている。 またc1~c4に c1:2006/2/24+時間  (例2006/2/24 07:18) c2:2006/2/23+時間 c3:2006/2/23+時間 c4:2006/2/22+時間 ---------- という時刻まで含む日付データが入っている。 (処理)A1とC列のデータの日付けが同じものは1つc4だけなのでカウントし1件とその横の B列(B1)にカウント件数を表示したい。 B1に書く式はどのようにすればよいか。よろしくお願いします。

  • エクセル2000 複数条件検索 

    エクセル2000を使用しています。 エクセル2000は、COUNTIFS関数が使用できませので同じような条件の 関数を作成するにはどうすれば良いでしょうか。 例   A  B    C 1 月 9:00  OK 2 水 10:01  NG 3 月 10:36  OK 月曜日9:00~9:59でOKの件数は1件 式 =COUNTIFS(A1:A99, "月", B1:B99, "<10:00", C1:C6, "OK") 結果 1

  • 列内の数値の個数をカウントする

    A  B  2 101 3 101 4 101 5 102 6 102 7 103 上記のような状態の時、101、102、103の個数をカウントしたいです。 =COUNTIF($A$2:$A$7,101) でカウントできるかと思うのですが、この関数を下方向にコピーして、102、103も数えたいのですが、関数がわかりません(実際には、101、102、103どころではなく、約1000までの連番について数値をカウントしようとしています) 数値ごとに手作業で、=COUNTIF($A$2:$A$7,101)の101の部分を変えるわけにはいかないので、どうか上手い関数を教えていただきたいです。 よろしくお願いします。

  • エクセル2003、countif関数の検索条件について

    エクセル2003、countif関数の検索条件について 「A1セルより小さい数値の数」を調べたいのですが、 どうしてもうまく出来ません。 イメージ的には COUNTIF(B1:B20,"<A1") のようにしたいです。 回答よろしくお願いします。

  • エクセル教えてください。周りの人に聞けません。

    D1のセルに任意の数値、E1のセルに任意の記号(アルファベット等)を入れて F1に=D1&E1と関数を入れて文字列を作り、データベースを作成しています。現在弊社でダブルカウントが問題となっておりましてG列にダブルカウントの判定式を作りたいのです。F列の中でダブルカウントしていない場合はOK、ダブルカウントした場合はNGと出るようにしたいのですが、関数が組み立てられません。 ご存知の方、是非御教え下さい。宜しく御願い致します。 (例) A B C D E F G 1               1  A  1A  OK 2               2   A  2A  OK 3               3   A  3A  OK 4               1   A  1A  NG ・ ・ ・ 100 1   A  1A  NG

  • 2つの日付の中間の日付 エクセル 関数

    日付Aと日付Bの中間の日付を算出する関数を教えてください。 例:2013/01/01、2013/12/31の中間=2013/07/02 一度にたくさん計算できるようにエクセルに関数を組んでやりたいです。 よろしくお願いいたします。

専門家に質問してみよう