Excelの秒数を分:秒・時:分:秒(AM/PM)に変換する方法|86400で割る表示形式のコツ

Excelで「261」など秒だけの数値を、4:21のような分:秒や12:04:21 AMのような時:分:秒に変換したいときは、秒を“日”の単位に換算してから表示形式を整えるのが近道です。計算に使える数値のまま、見た目だけを時刻表示にできます。

目次

なぜ「÷86400」が必要なのか:Excelの時刻のしくみ

Excelの時刻は、見た目こそ「12:34:56」のように表示されますが、内部的には日付・時刻を連続した数値(シリアル値)として管理しています。

ポイントはとてもシンプルで、1日=1として扱われます。つまり、1時間・1分・1秒は「1日の何分のいくつか」という小数になります。

単位Excel内部の値(1日=1)秒からの換算イメージ
1日1秒 ÷ 86400
1時間1/24秒 ÷ 3600(時間)→ さらに ÷24
1分1/1440秒 ÷ 60(分)→ さらに ÷1440
1秒1/86400秒 ÷ (24×60×60)

たとえば261秒は、1日に対して261/86400日です。ここまで変換できれば、あとはセルの表示形式を「分:秒」「時:分:秒」「AM/PM付き」などに切り替えるだけで、狙った“時刻っぽい見た目”になります。

よくある失敗:秒数のまま表示形式だけ変えるとズレる

秒数が261のセルに対して、何も考えずに表示形式を「mm:ss」にしても、Excelは261を“261日”として解釈します。日付成分が混ざったり、意図しない時刻になったりして「思ってたのと違う」表示になりがちです。

まずは秒 → 日へ換算(÷86400)してから表示形式を当てる、という順番を守るのがコツです。

方法A(おすすめ):数値として時刻化して、表示形式で見せる

この方法は、変換後のセルが本当の時刻(数値)として扱われるため、合計・平均・差分などの計算にも強いのがメリットです。実務では基本的にこちらが安定します。

手順

  1. 秒数が入っているセルをA2とします(例:A2に261)。
  2. 別セル(例:B2)に次を入力します。
    =A2/86400
  3. B2を選択し、セルの書式設定を開きます。
    WindowsならCtrl+1、MacならCmd+1が早いです。
  4. 「表示形式」→「ユーザー定義」で、目的の形式を設定します。

目的別:おすすめの表示形式(ユーザー定義)

目的表示形式(例)261秒の表示例使いどころ
分:秒(先頭ゼロなし)m:ss4:21タイム計測や作業ログで“自然な見た目”にしたい
分:秒(2桁固定)mm:ss04:21動画の尺や音声の再生時間など、桁を揃えたい
時:分:秒(先頭ゼロなし)h:mm:ss0:04:211時間未満でも「0:」を出し、見落としを防ぎたい
時:分:秒(2桁固定)hh:mm:ss00:04:21レポートや一覧で桁を揃えたい
AM/PM付きの時刻hh:mm:ss AM/PM12:04:21 AM時刻表記として見せたい(0時台は12:xx AM)

日本語環境のExcelでは、AM/PMが「午前/午後」として表示されることもあります。表示が期待と違う場合は、表示形式の種類を変えるか、後述のTEXT関数で文字列として固定する方法が確実です。

大事な分かれ道:「時刻」か「経過時間」か

「秒数」を変換したい場面の多くは、実は“時計の時刻”ではなく“経過時間(所要時間)”です。ここを取り違えると、60分や24時間を超えたときに表示が破綻します。

  • 時計の時刻:1日(24時間)でぐるっと一周してリセットされる(例:25時間 → 1時間として見える)
  • 経過時間:合計時間として積み上げたい(例:25時間 → 25時間のまま見せたい)

経過時間として扱うなら、表示形式は[ ]付きの指定を覚えておくと失敗が減ります。

60分を超える可能性があるなら「[m]:ss」を使う

「mm:ss」は一見便利ですが、Excelの仕様上、分は60でリセットされます。つまり、3600秒(60分)を超えると、分だけを見たときに“合計分”になりません。

秒数変換式mm:ss の表示[m]:ss の表示どちらが正解?
261=A2/8640004:214:21どちらでもOK(1時間未満)
3723(=1時間2分3秒)=A2/8640002:0362:03合計分で見たいなら [m]:ss
7250(=2時間0分50秒)=A2/8640000:50120:50「分:秒」で集計する業務は [m]:ss が安全

スポーツのラップタイムやコールセンターの応対時間など、“分が増え続ける”前提のデータでは、最初から[m]:ssを採用しておくと後で困りません。

24時間を超える可能性があるなら「[h]:mm:ss」を使う

1日を超える(86400秒超)データでは、hh:mm:ssだと24時間でリセットされます。経過時間として正しく見せたいなら[h]を使います。

秒数イメージhh:mm:ss の表示[h]:mm:ss の表示
9006125時間1分1秒01:01:0125:01:01
17280048時間00:00:0048:00:00

「稼働時間」「サーバーの連続稼働」「バッチ処理の所要時間」など、日をまたぐ集計では[h]:mm:ssが定番です。

AM/PM付きの「時刻っぽい表示」を作るコツ

秒数を時刻として見せたい(例:261秒 → 12:04:21 AM)の場合も、基本は同じで秒÷86400してから表示形式を変えます。

表示形式は次のように設定します。

hh:mm:ss AM/PM

ここで表示される「AM/PM」は、0:00〜11:59がAM(午前)、12:00〜23:59がPM(午後)という時計のルールに従います。261秒は0時4分21秒なので、12:04:21 AM(午前12時4分21秒)になります。

なお、経過時間(所要時間)をAM/PMで表示するのは混乱のもとです。所要時間なら、AM/PMではなく[h]:mm:ssなどで合計時間として見せる方が読み手に優しいです。

方法B:TEXT関数で“文字列として”時刻形式を出力する

見た目の整った文字列を作りたい、他システムに貼り付けたい、帳票の見出しに埋め込みたい……という用途では、TEXT関数が便利です。

基本形

=TEXT(A2/86400,"m:ss")

AM/PM付きの例

=TEXT(A2/86400,"hh:mm:ss AM/PM")

TEXT関数の注意点は、結果が文字列になることです。合計や平均との差分などの計算を続ける可能性があるなら、方法A(数値として時刻化)を基本にし、最後の見せ方だけTEXTにするのが失敗しません。

観点方法A:÷86400+表示形式方法B:TEXT関数
計算(SUM/AVERAGE)強い(時刻の数値のまま)弱い(文字列なので計算に使いにくい)
見た目の自由度表示形式の範囲内文字列として自由度高め
貼り付け・出力貼り付け先で見え方が変わる可能性貼り付け先でも同じ見え方になりやすい
おすすめシーン集計・分析・ピボット・グラフ帳票・通知文・メール本文・システム連携

秒数データを扱う実務のコツ:計算用列と表示用列を分ける

現場では、秒数が入った元データ(A列)を残しつつ、B列に「時刻化した数値」、C列に「表示用の文字列」を置くと運用が安定します。

列役割例メリット
A列元の秒数261再計算・別形式への変換が簡単
B列時刻化(数値)=A2/86400集計・平均との差分に強い
C列表示用(文字列)=TEXT(B2,"[m]:ss")貼り付け先で表示が崩れにくい

この構成にしておくと、「まずは分析したい」「最後に帳票として整形したい」という流れでも破綻しません。

よくあるトラブルと解決チェックリスト

症状よくある原因解決策
4:21にならず、変な時刻/日付になる秒数のまま表示形式だけ変えた=A2/86400で日へ換算してから表示形式を設定
1時間を超えると分がリセットされる表示形式がmm:ss合計分にしたいなら[m]:ssへ変更
24時間を超えると時間がリセットされるhh:mm:ssで表示している合計時間にしたいなら[h]:mm:ssへ変更
##### と表示される列幅が狭い/負の時刻になっている列幅を広げる。差分計算でマイナスが出るなら、符号付き表示の工夫をする
AM/PMが出ない・午前/午後にならないロケールや表示形式の指定が合っていない表示形式をhh:mm:ss AM/PMにする。うまくいかない場合はTEXT関数で固定
TEXTで作った結果を合計できない文字列なので計算対象にならない計算は方法Aの列(数値)で行い、最後にTEXTで見せる
秒数が計算できないインポート時に文字列として入っている=VALUE(A2)や=A2*1で数値化してから変換

応用:1セルで「時:分:秒(経過時間)」を作りたいとき

「表示形式の設定が面倒」「貼り付け先で確実に見た目を固定したい」という場合は、TEXTで一気に作るのもありです。

たとえば、合計時間として“何時間でも増える”形式にしたいなら、次のようにします。

=TEXT(A2/86400,"[h]:mm:ss")

これで、90061秒は「25:01:01」のように、24時間を超えても崩れずに表示できます。

逆変換も覚えておくと便利:時刻 → 秒

「時刻表示になったセルから秒数に戻したい」こともよくあります。その場合は、Excelの内部値が“日”なので、逆に×86400すれば秒に戻せます。

=B2*86400

時刻化した列を作っておくと、表示の変更や他形式への変換をやり直すときもスムーズです。

まとめ:迷ったら「÷86400 → 表示形式」で解決できる

  • Excelの時刻は1日=1の小数で管理される
  • 秒数はまず÷86400で日へ換算してから表示形式を設定する
  • 1時間超なら[m]:ss、24時間超なら[h]:mm:ssが安全
  • TEXT関数は便利だが、結果は文字列なので計算用と表示用を分けると安定

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次