プロが教える店舗&オフィスのセキュリティ対策術

1周が4セクターに分かれたタイムをエクセルで合計し、それぞれ1周分のラップタイムを出そうとしています。(1周: 約2分14秒前後です)
例えば、3周分のセクタータイムをセルA〜Dに記入した場合なのですが…。

……A ………… B ………… C ………… D
1: 33.632 … 36.677 … 34:658 … 28.488
2: 33.152 … 35.314 … 34.715 … 28.403
3: 33.535 … 35.405 … 35.210 … 29.039

初めにセルの表示形式をユーザー定義で mm:ss.000 に変更すると、おかしな数字になってしまい計算できません。
また、各セルの表示形式を "00:"#.000 にすると、表示自体は 00:33.632 のように表示されるのですが、あくまで表示のみのようで時間計算に使えません。

各セルの頭に手動で 00: と一つづつ入力したあとに、表示形式を mm:ss.000 に変更すると時間として認識され、これを合計すれば1周分のタイムが出せるのは分かるのですが…。
ラップ数が増えると一つ一つ手入力で修正を加えるのはとても大変で困っています。

ラップ数が増えても、1周分のラップタイムをExcel関数などで簡略化し算出する方法をを教えて下さい。
Excel VBA は初心者のため、必要な場合は細かく教えて頂けると助かります。

質問者からの補足コメント

  • セルC1のタイムを書き間違えました。すみません。。
    (誤) 34:658 → (正) 34.658

      補足日時:2016/04/28 17:34

A 回答 (8件)

文章での説明は分かり難いので図を参考に見てください。


作業列(下図の例では、E~H列)を設定して計算すれば時間計算にも使えます。
参考にI列で時間計算しています。
作業列が邪魔なら、非表示にしてください。
「Excelでミリ秒計算する方法」の回答画像8
    • good
    • 1
この回答へのお礼

参考図まで付けて丁寧に教えて下さりありがとうございます!
お陰さまで無事タイム計算できました!
とても分かりやすかったです。本当にありがとうございました!

お礼日時:2016/04/29 20:21

先ほどは本当にすみませんでした。


E列にラップタイムを表示するという事で、入力も簡素化するために次のような提案をいたします。
①A~D列の書式は「0.000」とします。
②E列の書式は「mm:ss.000」とします。
③E列に「=SUM(A1:D1)/24/60/60」のような式を入れます。
入力は秒単位で行えば、E列には時間としてのデータがセットされます。
いかがでしょうか?
    • good
    • 0
この回答へのお礼

何度もアドバイスして下さりありがとうございます!
お陰さまで無事タイム計算できました!
シンプルでとても良かったです。本当にありがとうございました!

お礼日時:2016/04/29 20:19

ごめんなさいチャント確認してから再掲載します。

今までの事は無かったことにして下さい。
    • good
    • 0

文字列として記入して、その後にセルの表示形式を「時刻」にしたのではないだろうか。


この場合、セルを再編集しないと「文字列」のままです。
もしこのようなやり方をしていたのであれば、対策は3通りあります。

1.セルを再編集する。
 編集したいセルを選択し、F2キーを押すと編集できる。
 F2キーを押して何もせずEnterキーを押せばよい。
 これを必要なセルにおいて繰り返し。
2.数値の1を乗算貼り付けする。
 空いているセルに数値の1を入力し、そのセルをコピーする。
 「時刻」表示形式にしたセルをすべて選択し、「形式を選択して貼り付け」から「乗算」を選んで貼り付ける。
3.「区切り位置」の機能を使いで列を「時刻」に指定する。
 「区切り位置」で区切り文字を「@」など、セルに存在しない文字を指定して列を【分ける】フリをする。
 次のステップで【分けられた】列の書式を「時刻」に指定する。
あとはセルの表示形式でユーザー書式「mm:ss.000」を指定。

たぶんこれで良いとは思うが...。
    • good
    • 0
この回答へのお礼

はい、仰る通り元データは文字列として記入されたものでした。
とても参考になりました。ありがとうございました!

お礼日時:2016/04/29 20:18

質問通りですが


=TEXT(A1,"""0:""#.000 ")*1
としてみては?
    • good
    • 0
この回答へのお礼

お陰さまで無事タイム計算できました!
ありがとうございました!

お礼日時:2016/04/29 20:16

またまたごめんなさい


「=t-Int(t/24/60/60)」で出来ました。
    • good
    • 0

すいません、秒未満は入力でカットされてしまいますね。

    • good
    • 0

入力は可能でも秒単位未満は表示出来なかったと思います。


別セルに表示ならば可能です。
エクセルは1日(24時間)を1としたシリアル値で管理しています。
つまり秒未満も内部ではもっているので「=Int(t/24/60/60)」で求める事が出来ます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!