• ベストアンサー

数値で表示されている時間を秒単位に変換したい

Excleの関数についての質問です。 ある表について、A列を「処理時間」としているのですが、その列は書式を時刻(XX:XX:XX)の形ではなく、数字で入力しています。 例えば、11:20:01であれば「112001」、00:00:01であれば「1」と入力されています。 (頭0は無し) ここに秒単位変換用の列を追加し、処理時間が1(時刻形式では00:00:01)であれば1、100(時刻形式では00:01:00)であれば60、10000(時刻形式では01:00:00)であれば3600というように、秒単位に変換する関数を組みたいのですが、どのようにすれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

>秒単位に変換する関数を組みたい マニアじゃないんだから8万何千とか憶えとこうっても無理がありますよね。 =TEXT(A1,"0!:00!:00")/"0:0:1" 書式設定の表示形式は標準 「時:分:秒」の時刻の値をシンプルに1秒で割り算すれば,全部で何秒かすぐに判ります。

re_na_chu
質問者

お礼

ご回答ありがとうございました。 86400を掛けるという方法でも十分「おぉっ!」となったのですが、この方法を試してみて「おおおおおっ!」と更に驚いてしまいました。 驚きの大きさでBAとさせて頂きます。 非常に助かりました。

その他の回答 (4)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.4

=MID(TEXT(A1,"000000"),1,2)*3600+MID(TEXT(A1,"000000"),3,2)*60+MID(TEXT(A1,"000000"),5,2)*1

re_na_chu
質問者

お礼

ご回答ありがとうございました。 なるほど、2桁ずつで区切るというやり方もあるのですね。 シリアル値に詳しくない私でもわかりやすいです。 非常に参考になりました。

回答No.3

#2です。訂正します。 題意を読み違えたいました。 #2は撤回します。 #1さんの数式で十分でしたが、 一応、#2の回答基準で書くと、 =TEXT(A1,"0!:00!:00")*86400 とか。([表示形式]は標準のままです。) 失礼いたしました。

re_na_chu
質問者

お礼

再度のご回答ありがとうございました。 86400を掛けるというのはまったく思いつきませんでした。 非常に参考になりました。

回答No.2

こんにちは。 > ... 秒単位変換用の列を追加 ... に続けて、 その列の[セルの書式][表示形式]をお好みの時刻表示にしておきます。 例えばA1を参照する場合の数式は、 =--TEXT(A1,"0!:00!:00") ですので、秒単位変換用の列にこの数式を確定してください。 もし、この数式の結果を(時刻表示が設定されたセルに)コピーする場合は、 値のみ貼り付けすればいいです。

re_na_chu
質問者

お礼

ご回答ありがとうございました。

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

=TEXT(A1,"00!:00!:00")*86400

re_na_chu
質問者

お礼

ご回答ありがとうございました。 なるほど、一度表示形式を時刻にすることでシリアル値として計算するのですね。 非常に参考になりました。

関連するQ&A