システム開発やデータ分析をしていると、時刻が「UnixTime(ユニックスタイム)」という形式で記録されていることがあります。UnixTimeは1970年1月1日からの経過秒数で表されるため、人が見慣れた「2025/08/16 10:00:00」といった日付とは違う数値になります。そのためExcelで扱う際には、変換や計算の方法を知っておくことが必要です。
この記事では、UnixTimeとは何か、Excelで日付に変換する方法、逆に日付からUnixTimeを求める方法、さらには計算に応用する方法をわかりやすく解説します。Excel初心者の方から業務でデータ処理を行う方まで役立つ内容になっていますので、ぜひ最後までご覧ください。
UnixTime(ユニックスタイム)とは、1970年1月1日 00:00:00(UTC)からの経過秒数で表される時間のことです。
たとえば、
0
→ 1970年1月1日 00:00:001609459200
→ 2021年1月1日 00:00:00(UTC)というように秒数で管理されています。
メリットは「システムで扱いやすい」ことですが、Excelでそのまま表示するとただの大きな数字にしか見えません。そこで、Excelで日付に変換する必要があります。
Excelは「1900年1月1日」を起点にしたシリアル値を使って日付を管理しています。そのため、UnixTimeをExcelの日付に変換するには「1970年1月1日との差」を調整する必要があります。
次の式をセルに入力すると変換できます。
= (A1 / 86400) + DATE(1970,1,1)
ここで、
A1
→ UnixTimeが入っているセル86400
→ 1日の秒数(24×60×60)DATE(1970,1,1)
→ UnixTimeの基準日この式でExcelのシリアル値に変換されます。セルの表示形式を「日付」に変更すると、通常の日時として確認できます。
UnixTimeは基本的にUTC(世界協定時刻)で表されます。そのため日本時間に直す場合は「+9時間」の調整が必要です。
= (A1 / 86400) + DATE(1970,1,1) + (9/24)
ここで 9/24
は「9時間」を1日の割合で表したものです。これで「2025/08/16 10:00:00」といった日本時間が得られます。
システムにデータを入力する場合など、Excelの日付をUnixTimeに戻したいこともあります。その場合は、次の式を使います。
= (A1 - DATE(1970,1,1)) * 86400
ここで、
A1
→ Excelの日付が入っているセルDATE(1970,1,1)
→ UnixTime基準日86400
→ 秒に変換するための係数これでUnixTimeが求められます。
UnixTimeは秒数なので、Excelでの計算に活用できます。
たとえば、A1に開始時刻、B1に終了時刻のUnixTimeがある場合、
= (B1 - A1) / 60
とすれば「経過分数」を計算できます。/3600
とすれば「経過時間(時間単位)」になります。
WebサーバーのアクセスログなどにはUnixTimeが記録されています。これをExcelで変換してグラフにすれば「アクセスが集中する時間帯」や「処理時間の平均値」を可視化できます。
DATE
関数の挙動に注意してください。Excelを使えば、専門的なプログラミングスキルがなくてもこうしたデータを処理できます。
UnixTimeはシステム上で扱いやすい形式ですが、人が読むにはそのままでは不便です。Excelを使えば次のことが簡単にできます。
業務でログデータやシステム出力を扱う方は、ぜひこれらの式を覚えて活用してください。Excelだけで手軽に時間管理やデータ分析が可能になります。