- ベストアンサー
エクセルでの経過時間の分計算。
エクセルでの経過時間の分計算。 よろしくお願いします。セル内に”0900”と入力すれば、”=NOW()”関数式で表示されている現在時間からの経過した分を表示できないか考えています。何か良い方法が分かる方がいれば、よろしくお願いします。 例) A B C 1 10:05:39 0900 65 2 3 A1"=NOW()" B1"0900と入力" C1"経過分時間65を表示"
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
C1セルには次の式を入力し、セルの表示形式は標準にします。 =HOUR(A1-IF(LEN(B1)>2,LEFT(B1,LEN(B1)-2),0)/24-RIGHT(B1,2)/24/60)*60+MINUTE(A1-IF(LEN(B1)>2,LEFT(B1,LEN(B1)-2),0)/24-RIGHT(B1,2)/24/60)
その他の回答 (4)
- hallo-2007
- ベストアンサー率41% (888/2115)
一例です もし 09:00 とB列がシリアル値で入っているとしたら =HOUR(A1-B1)*60+MINUTE(A1-B1) 発想は 時間の差の部分を取り出して 60をかけて分にして 分の差の部分を足す。 もし 0900 と文字列で入っているのならば =(HOUR(A1)-LEFT(B1,2)*1)*60+MINUTE(A1)-RIGHT(B1)*1 として文字列の一部分を取り出して計算させる方法もあります。
お礼
回答ありがとうございます。思った通りにうまくいきましたが、入力時間によっては-がついて表示されてしまいました。
- imogasi
- ベストアンサー率27% (4737/17069)
その時点で固定でよいならA1はCTRL+: B1は9:00のように入れるのがお勧め。 経過は=A1-B1 C1の表示形式は[m]:ss 日をまたぐときはどうなるか未検証だが。 ーー 計算の都度現在時刻に変化してほしいなら A1に=NOW()-TODAY() B1は9:00のような入れかたをする。 C1の式は=A1-B1 C1の表示形式は[m]:ss ーー B1に入力を0900と入れる理由は何?関数が複雑化するだけでは? エクセルの便利な時刻シリアル値の仕組みをなぜ使わないのか。時刻シリアル値と表示形式の密接な関係を知らないのでは?
お礼
回答ありがとうございます。B1に入力を0900と入れる理由は入力が楽にしたいがためです。あと、申し訳ありません、時刻シリアル値と表示形式の密接な関係は全く解りません。
- hananoppo
- ベストアンサー率46% (109/235)
B1セルには時刻形式で「9:00」のように入力してください。 それなら、C1セルは次の数式でよいです。 =INT((A1-TODAY()-B1)*24*60)
お礼
回答ありがとうございます。時刻形式を変更すればうまくできました。ありがとうございました。
- aokii
- ベストアンサー率23% (5210/22062)
以下の方法でいかがでしょう。 =TEXT(A1-B1,"[mm]")
お礼
回答ありがとうございます。参考にさせていただきたいと思います。
お礼
回答ありがとうございます。思っていたとおりにできました。助かりました。