この記事では、エクセルで時分秒を秒に変換・直す方法について解説していきます。
ポイントは、以下の3点です。
・HOUR関数、MINUTE関数、SECONDを使う方法
・TIME関数を使う方法
・マクロを使う方法
エクセル操作は1つ1つ追っていけば必ずうまくできるため、ぜひ本記事を参考にスキルアップにつなげてくださいませ♪
関数で時分秒を秒に変換する方法【HOUR関数、MINUTE関数、SECOND関数】
それでは以下のサンプルを用いて関数での時分秒を秒に変換する方法を確認していきます。
例えば、以下のようなデータがあるとします。
これを秒に変換するには、B2セルに以下の数式を入力します。
=HOUR(A2)*3600+MINUTE(A2)*60+SECOND(A2)
ここでは、HOUR関数で時間、MINUTE関数で分、SECOND関数で秒を取り出し、時間を3600倍、分を60倍して合計することで秒数を求めています。
ENTERで処理を確定させます。
この時に正しく変換されない場合は、数値の表示が標準になっているか確認してください。
ユーザー設定など、他の表記になっている場合はうまく反映されません!
その後、B2セルの右下にカーソルを合わせてダブルクリックすると、数式がB列全体にオートフィルされます。
TIME関数で時分秒を秒に変換する方法
続いてはTIME関数を使った時分秒を秒に変換する方法を確認していきます。
例えば、01:23:45のようなデータをA2セルに入力します。
次に、B2セルに以下の数式を入力します。
=(TIME(1,23,45) – TIME(0,0,0)) * 86400
TIME関数で01:23:45と00:00:00の時間を作成し、その差を取ります。
1日は86400秒なので、その差に86400を掛けることで秒数が求められますね。
ENTERで確定しましょう。
結果として、B2セルには5025と表示され、01:23:45は5025秒であることがわかりました。
このようにTIME関数を使うことで、時分秒を簡単に秒数に変換することができます。
1つずつ丁寧に理解することがポイントですね♪
マクロで時分秒を秒に変換する方法
最後にマクロを使った時分秒を秒に変換する方法を見ていきましょう。
Sub ConvertTimeToSeconds()
Dim lastRow As Long
Dim i As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow
Cells(i, "B").Value = TimeToSeconds(Cells(i, "A").Value)
Next i
End Sub
Function TimeToSeconds(timeVal As Date) As Long
TimeToSeconds = Hour(timeVal) * 3600 + Minute(timeVal) * 60 + Second(timeVal)
End Function
このコードを実行すれば、A2セル以降の時分秒がB2セル以降に秒で変換されて反映されます。
もし上手くいかない場合には、A列の時分秒の形式が正しいことや、B列の表示が標準になっていることを確認してください。
マクロを実行するには、開発タブからVisual Basic Editorを開き、モジュールに上記コードを貼り付けて実行しましょう。
まとめ 【Excel】エクセルで時分秒を秒に変換・直す方法(関数、書式設定、マクロ)
以上、エクセルで時分秒を秒に変換する3つの方法を紹介しました。
関数や書式設定を使えば簡単に変換できますし、大量のデータならマクロを使うのも有効です。
用途に応じて使い分けると良いでしょう。