- ベストアンサー
30秒で1と計算したい
30秒で1分となるように計算する方法がわかりません。 例)20:14 - 10:25 = 9:19 どなたかご教授お願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
30進法なら1時間は900秒のはずですが、補足の質問に >例)01:02:04-00:48:20=13:16? と30進法では存在しない48という数字があるので 分→時間 は60進法のままと判断します。 そうなら1時間は1800秒(60分*30秒)ですから =TIME(0,INT(((HOUR(A1)*1800+MINUTE(A1)*30+SECOND(A1))-(HOUR(A2)*1800+MINUTE(A2)*30+SECOND(A2)))/30),MOD(((HOUR(A1)*1800+MINUTE(A1)*30+SECOND(A1))-(HOUR(A2)*1800+MINUTE(A2)*30+SECOND(A2))),30)) となります。
その他の回答 (5)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 No.5の方と同じ解釈で、秒だけ30進法とすると、 =A1-A2-(SECOND(A1)<SECOND(A2))*"0:0:30" でいいのかな。 これだと、No.4の補足欄の例は、「0:13:14」になります。
- sero
- ベストアンサー率47% (916/1944)
失礼しました。 時間:分ではなく分:秒で、1分を30秒とみなす事だったのですね。 下記の式で計算し、表示形式をユーザー定義で m:ss にすれば良いでしょう。 =TIME(0,INT(((MINUTE(A1)*30+SECOND(A1))-(MINUTE(A2)*30+SECOND(A2)))/30),MOD(((MINUTE(A1)*30+SECOND(A1))-(MINUTE(A2)*30+SECOND(A2))),30))
補足
ありがとうございます。できました! たびたびですが、教えていただけますでしょうか。 時間:分:秒のときはどうなりますでしょうか。 例)01:02:04-00:48:20=13:16? どうも自分でやるとうまく計算できません。。。
- rio_d
- ベストアンサー率47% (71/149)
#1です。 ムリに日付型を使わず、文字列型で処理したほうがやりやすいかと思いますが… 算出結果289がB1に入っているとして、 =TIME((B1-MOD(B1,30))/30,MOD(B1,30), 0) 【解説】 Time(H,M,S)→引数に数字を入れると時刻を返します。 (例)Time(4,5,6)→04:05:06を返します。 MOD(A,B)→AをBで割った時の余りを返します。 (例)MOD(30,8)→6を返します。(30÷8=3…6) B1セルに計算用セルを使わない場合は、B1のところに(MINUTE(A1)*30+SECOND(A1))-(MINUTE(A2)*30+SECOND(A2))が入ります。
- sero
- ベストアンサー率47% (916/1944)
質問文と例の相関がよくわかりません。 普通に20時間14分から10時間25分を引いたら9時間49分ですよね? 30秒を1分とカウントするなら単純に2倍した19時間38分(19:38)となるのでは?
- rio_d
- ベストアンサー率47% (71/149)
こんばんは。 20:14→20×30+14(分)、 10:25→10×30+25(分) と考えると、 20:14 - 10:25 → 614 - 325 → 289 289(分)÷30は9あまり19→9:19 という方法で計算できます。 このように一旦分に変換してから計算し、もう一度時分に直す方法が良いかと思います。 文字列操作で頑張ってみてください。
補足
ありがとうございます。 A1 20:14 A2 10:25 として、 (MINUTE(A1)*30+SECOND(A1))-(MINUTE(A2)*30+SECOND(A2)) = 289 まではできたんですが、、 この先がつまってます。 ご教授いただけませんでしょうか。
お礼
できました。 どうもありがとうございました。