- ベストアンサー
【Excel】日付+時間帯検索関数の作成方法
- エクセル97を利用している方が、X月Y日の9:00から17:00までの件数をカウントする関数の作成方法を教えてください。
- 毎回日付+時間の関数を1つ1つ作成するのは手間なので、引数を利用して複数の関数を簡単に作成する方法が知りたいです。
- 利用する数値の例が用意されています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
">=A1"、">B1" では NG ですね。 引数はダブルコーテーションから外に出して、& で連結してください。 =COUNTIF($K$5:$K$54,">=" & A1)-COUNTIF($K$5:$K$54,">" & B1)
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
次の式でもよいですね。 =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関数を用いて日付が指定の範囲にあり、時間が指定の範囲にあるセルの数を求めることになります。
お礼
なるほど~。勉強なりました。 ありがとうございます。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 結局 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
お礼
なるほどです。 ありがとうございます。次回の参考とさせていだだきます。
お礼
ありがとうございます。目的が達成できました。 あやうく1000件関数を手作業で作成するところでした。