- ベストアンサー
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) 宜しくお願いします。
- みんなの回答 (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分単位の時刻と、それぞれの時間帯における件数が、自動的に表示されます。
その他の回答 (2)
- kagakusuki
- ベストアンサー率51% (2610/5101)
今仮に、元データが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分単位の時刻と、それぞれの時間帯における件数が、自動的に表示されます。
お礼
助かりました。 おかげで資料もばっちり出来ました。
- DJ-Potato
- ベストアンサー率36% (692/1917)
日付・時間データは、1日単位なので、1時間は1/24、1分は1/1440です。 15分は1/96です。 B1 =INT(A1*96)/96 で、COUNTIF関数で集計したらいいと思います。
お礼
ありがとうございました。 参考になりました
お礼
ありがとうございます。 遅くなりましたが大変参考になりました。