• 締切済み

秒の1の位を四捨五入したい。

excelシート上に 以下のようにデータが入力されています。 (シリアル値で入力されて、書式でyyyy/mm/dd hh:mm:ssとなっています) (シート名: 集計) 行/列    A           B 1  2007/01/01 07:00:16  2007/01/01 07:00:17 2  2007/01/01 07:01:36  2007/01/01 07:01:36 3  2007/01/01 07:02:12  2007/01/01 07:02:15 4  2007/01/01 07:17:12  2007/01/01 07:17:15 このデータの秒の1の位を四捨五入をして 以下のようにデータを整形が出来なく悩んでおります。 (シート名: 集計) 行/列    A           B 1  2007/01/01 07:00:20  2007/01/01 07:00:20 2  2007/01/01 07:01:40  2007/01/01 07:01:40 3  2007/01/01 07:02:10  2007/01/01 07:02:20 4  2007/01/01 07:17:10  2007/01/01 07:17:20 目的は、前回質問した 『同じ時間に使用した人数を表すグラフの作成』で 同じ時間に利用している人数を求める関数で =SUMPRODUCT((集計!$A$1:$A$4<=$A1)*(集計!$B$1:$B$4>=$A1)*1) 下記のA列の時間と比較するのに秒の1の位が0でなければ 関数が正しく動かないので、これを正しく動かす事が目的です。 (シート名: 結果) A列   B列 時刻   人数 9:45:10    0 10:00:20   1 10:15:10   1 10:30:50   2 10:45:10   3 11:00:40   3 11:15:20   2 11:30:30   1 11:45:10   0 VBAで四捨五入が可能であればご教授お願い致します。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

1日=24*60*60秒なので10秒単位に時間を整数化してやれば四捨五入できます。 ただしVBAのROUND関数はEXCELとは異なる値を返すのでINT関数を使って =INT(A列*8640+0.5)/8640

すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#01です。補足要求です。前回の質問はこれでしたね。 http://oshiete1.goo.ne.jp/qa3394376.html 前回のお礼に書かれた補足も良く理解できていないのですが >秒の1の位が0でなければ関数が正しく動かないので、 は「そんなことはないはず」と思います。 でも今回の質問では集計シートと結果シートの時間帯が異なっているので、式を検証することができません 具体的なデータと、期待する結果を補足していただけませんか? また結果シートの時刻のならびは等間隔ではありませんが、これも何か意味があるのでしょうか?

すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

安直ですが、別列に次の関数で変換する方法は如何でしょうか。 =FLOOR(A1+"0:0:05","0:0:10")

すると、全ての回答が全文表示されます。
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

試しにA1に =NOW() を入力し、B1に  =MROUND(A1,"0:00:10") を入力して、A1、B1セルの書式を h:mm:ss にしてみてください。 F9で再計算させると秒の1位で四捨五入できます ただしMROUND関数は「ツール」→「アドイン」→「分析ツール」にチェックを入れないと使えません

すると、全ての回答が全文表示されます。

関連するQ&A