システム開発やデータ分析、ログ解析をしていると、UnixTime(ユニックスタイム) という数値形式の時刻データを目にすることがあります。
UnixTimeは「1970年1月1日 00:00:00(UTC)」からの経過秒数で表されるため、そのままでは人が直感的に理解しにくい形式です。
ExcelでCSVやログデータを扱う際に、
「UnixTimeを日付に変換したい」
「日本時間(JST)で表示したい」
「Excelの日付をUnixTimeに戻したい」
と悩む方も多いのではないでしょうか。
この記事では、ExcelでUnixTimeを日付に変換する基本式から、日本時間への変換方法、逆変換、計算への応用例までを初心者にもわかりやすく解説します。
Excelだけで完結できる実務向けの内容ですので、ぜひ最後までご覧ください。
UnixTime(ユニックスタイム)とは、
1970年1月1日 00:00:00(UTC)を起点とした経過秒数で時刻を表す方式です。
例として、以下のように管理されています。
秒数のみで管理できるため、
といったメリットがあります。
一方で、Excelでそのまま表示すると「大きな数字」にしか見えません。
そのため、Excelの日付形式へ変換する知識が重要になります。
Excelは「1900年1月1日」を起点としたシリアル値で日付を管理しています。
そのため、UnixTimeをExcelの日付に変換するには、基準日の違いを調整します。
次の数式をセルに入力してください。
=(A1/86400)+DATE(1970,1,1)
各要素の意味
数式を入力後、**セルの表示形式を「日付」または「時刻」**に変更すると、通常の日時として表示されます。
UnixTimeは基本的に**UTC(世界協定時刻)**で管理されています。
日本国内の業務で使う場合は、9時間の時差補正が必要です。
=(A1/86400)+DATE(1970,1,1)+(9/24)
この式を使えば、
「2025/08/16 10:00:00」 のような日本時間表記で確認できます。
システム連携やAPI連携では、
Excelの日付をUnixTimeに戻す必要があるケースも多くあります。
=(A1-DATE(1970,1,1))*86400
ポイント
※日本時間のExcel日付をUTC基準のUnixTimeにする場合は、
事前に「-9時間」調整する点に注意してください。
UnixTimeは秒数なので、時間計算が非常にシンプルです。
経過分数を求める場合
=(B1-A1)/60
経過時間(時間)を求める場合
=(B1-A1)/3600
Webサーバーやシステムログでは、
UnixTime形式で時刻が保存されていることが多くあります。
Excelで日付に変換することで、
などをグラフ化・可視化でき、分析が一気に楽になります。
数式が正しくても、表示形式が「標準」のままだと
日付ではなく数値のまま表示されます。
→ 必ず「日付」「時刻」に設定しましょう。
UnixTimeはUTC基準です。
日本時間で使う場合は +9時間補正を忘れないことが重要です。
古いExcelでは関数の挙動が異なる場合があります。
DATE関数や表示形式は事前に確認しましょう。
Excelを使えば、プログラミング不要でこれらの処理が可能です。
UnixTimeはシステム向けの便利な時刻形式ですが、
人が扱うにはExcelでの変換が欠かせません。
この記事で紹介したポイントを押さえれば、
ようになります。
ログ解析やデータ分析、業務効率化のためにも、
ExcelでのUnixTime変換方法をぜひ活用してください。