• ベストアンサー

excel関数で教えてください

データでいかのようなものがあるとします。 2011/01/01 00:00:02 2011/01/01 00:00:05 2011/01/01 00:01:04 2011/01/01 00:15:02 2011/01/01 00:29:01 これを 15分単位にカウントしたいのですが、どうすればいいでしょうか? 例: 2011/01/01 00:00:00 3 件(00:00:00~00:14:59) 2011/01/01 00:15:00 2 件(00:15:00~00:29:59) 宜しくお願いします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 ANo.2です。  もし、件数が0件となる時刻が多過ぎて、0件の時刻まで表示すると、表が無駄に長くなり過ぎるため、件数が1件以上ある時刻のみを表示する様にしたい場合には、次の様な方法があります。  まず、C2セルに次の関数を入力して下さい。 =IF(AND(ISNUMBER(MINUTE(MIN($A:$A))),SUM($D$1:$D1)<COUNT($A:$A)),(TEXT(SMALL($A:$A,SUM($D$1:$D1)+1),"yyyy/m/d h")&":0")+TIME(,FLOOR(MINUTE(SMALL($A:$A,SUM($D$1:$D1)+1)),15),),"")  次に、D2セルに次の関数を入力して下さい。 =IF(ISNUMBER($C2),COUNTIF($A:$A,"<"&$C2+"0:15")-COUNTIF($A:$A,"<"&$C2),"")  次に、D2セルの[セルの書式設定]の[表示形式]を、[ユーザー定義]の 0"件" として下さい。  次に、C2~D2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  これで、15分単位の時刻と、それぞれの時間帯における件数が、自動的に表示されます。

kojikoji0218
質問者

お礼

ありがとうございます。 遅くなりましたが大変参考になりました。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、元データがA列に並んでいて、C列に15分単位の時刻、D列に件数を、それぞれ自動的に表示させるものとします。  まず、C1セルに次の関数を入力して下さい。 =IF(ISNUMBER(MINUTE(MIN($A:$A))),(TEXT(MIN($A:$A),"yyyy/m/d h")&":0")+TIME(,FLOOR(MINUTE(MIN($A:$A)),15),),"")  次に、C2セルに次の関数を入力して下さい。 =IF(OR($C$1="",$C$1+"0:15"*(ROWS($1:2)-1)>MAX($A:$A)),"",$C$1+"0:15"*(ROWS($1:2)-1))  次に、D1セルに次の関数を入力して下さい。 =IF(ISNUMBER($C1),COUNTIF($A:$A,"<"&$C1+"0:15")-COUNTIF($A:$A,"<"&$C1),"")  次に、D1セルの[セルの書式設定]の[表示形式]を、[ユーザー定義]の 0"件" として下さい。  次に、D1セルをコピーして、D2セルに貼り付けて下さい。  次に、C2~D2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  これで、15分単位の時刻と、それぞれの時間帯における件数が、自動的に表示されます。

kojikoji0218
質問者

お礼

助かりました。 おかげで資料もばっちり出来ました。

  • DJ-Potato
  • ベストアンサー率36% (692/1917)
回答No.1

日付・時間データは、1日単位なので、1時間は1/24、1分は1/1440です。 15分は1/96です。 B1 =INT(A1*96)/96 で、COUNTIF関数で集計したらいいと思います。

kojikoji0218
質問者

お礼

ありがとうございました。 参考になりました

関連するQ&A

専門家に質問してみよう