Excelで時刻入力が日付+時刻になる原因と直し方|hh:mm書式設定と勤務表のコツ

Excelで勤務表の開始・終了時刻を入力すると、なぜか「日付+時刻」表示に変わってしまう…。数式は正しいのに見た目が崩れて毎回直すのは面倒です。まず“表示形式”と値の種類を分けて確認し、最短で直しつつ再発も防ぐ手順をまとめます。

目次

「9:30」と入れたのに日付が付くときは表示形式を確認

まず結論から言うと、セルに入力した値そのものが壊れているわけではなく、セルの表示形式が「日付+時刻」になっている場合があります。Excelは「時刻」も「日付」も同じ仕組み(連続した数値)で管理しているため、表示形式が“日付を含む形式”だと、時刻だけを入力しても日付が付いて見えます。

入力した内容セルの表示形式見た目(表示)内部の値(イメージ)
9:30時刻(hh:mm)09:300.395833…(1日のうちの9:30分)
9:30日付+時刻(例:yyyy/m/d h:mm)1900/1/0 9:30 など(環境により表記差)0.395833…(値は同じでも表示が違う)
2026/1/8 9:30日付+時刻2026/1/8 9:30(日付の通し番号)+0.395833…

原因を理解するとラクになる:Excelは「日付」と「時刻」を数値として持っている

Excelの日時は、ざっくり言うと次のように保存されています。

  • 日付:ある基準日からの通し番号(例:1、2、3…)
  • 時刻:1日(24時間)を1.0とした小数(例:12:00=0.5)

つまり「9:30」は、Excel内部では「0.395833…」のような小数です。これに「日付の通し番号」が足されると「日付+時刻」になります。見た目を決めるのは値ではなく、ほとんどが表示形式です。

内部の値時刻表示(hh:mm)日付+時刻表示(例:yyyy/m/d h:mm)意味
0.2506:001900/1/0 6:00(例)1日の1/4(6時間)
0.512:001900/1/0 12:00(例)正午
1.000:001900/1/1 0:00(例)基準日ちょうど
1.395833…09:301900/1/1 9:30(例)基準日+9:30

この仕組みを知っていると、「日付が付く=Excelが勝手に壊した」ではなく、“見え方の設定が日付寄りになっているだけ”と切り分けできます。

最短の解決策:入力前に列を「時刻(hh:mm)」に書式設定する

勤務表のように、同じ列に繰り返し時刻を入力する場合は、入力前に列ごと書式設定しておくのが一番確実です。あとから直すより、入力ミスも減ります。

手順(列全体を時刻表示にする)

  1. 開始時刻・終了時刻など、時刻を入れる列全体を選択します(列見出しのA/B/C…をクリック)。
  2. キーボードでCtrl+1(セルの書式設定)を開きます。
  3. 「表示形式」タブで「時刻」を選び、一覧から13:30のような形式(24時間表記)を選びます。
  4. 一覧にピッタリの形式がなければ「ユーザー定義」でhh:mm(またはh:mm)を指定します。
  5. OKを押してから、9:30などの時刻を入力します。

hh:mm と h:mm はどちらが良い?

勤務表では見た目の統一が大事なので、次の基準が使いやすいです。

  • 見た目を揃えたい:hh:mm(09:05のように0埋め)
  • 入力の自然さを優先:h:mm(9:05のように先頭0なし)

どちらも計算結果は同じです。表示の好みで選んで問題ありません。

「書式を変えたのに直らない」時のチェックポイント

「時刻表示にしたのに、まだ日付が付いて見える」「一部のセルだけおかしい」という場合は、原因が1つではないことが多いです。次の表で切り分けると早いです。

症状よくある原因見分け方対処
表示だけが日付+時刻になる表示形式が日付+時刻セルを選択→書式がyyyy/m/d系表示形式をhh:mmへ
同じ列なのに一部だけ直らないセルごとに書式がバラバラ/コピー貼り付けで混入列全体ではなくセル単体で書式が違う列全体を選択して書式統一
日付が付いた値が“中身として”入っている日付+時刻の値(通し番号+小数)が混ざっている数式バーに日付が見える/フィルターで日付が効く表示だけならhh:mm。値の変換は目的を確認
計算できない/左寄せになる文字列として入力されている(例:全角コロン)足し算しても変化しない/=ISNUMBER(A2)がFALSE文字列→時刻へ変換(置換、TIMEVALUE等)

すでに「日付+時刻」になってしまったセルを直す方法

ここからは、すでに入力済みのデータをどう直すかです。ポイントは、表示が変なだけなのか/値として日付が混ざっているのかで作業が変わることです。

表示形式を変えるだけでよいケース

入力値が時刻の小数(0〜1未満)だけなら、表示形式をhh:mmに変えるだけで見た目が整います。列全体を選んで書式設定すれば、同じ列で再発しにくくなります。

日付付きの値は、必要性を確認してから変換する

「2026/1/8 9:30」のような日時も、セルの表示形式をhh:mmにすれば時刻だけを表示できます。数式バーに日付が残るのは正常です。表示形式は計算に使う値を変えません。日付が必要な勤務実績・集計では、そのまま保持してください。

時刻だけの数値を別途作る必要がある場合に限り、元の列を残して別列へ=MOD(A2,1)を入力します。これは日付部分を除く操作で、表示変更とは違います。結果の列をhh:mmで表示し、日付を失っても問題ない用途か確認します。元データへ安易に値貼り付けしたり、消して再入力したりする必要はありません。

「文字列の時刻」が混ざっているケース(全角コロンやコピペ由来)

見た目は「9:30」でも、実は文字列で保存されていると、集計や差分計算でつまずきます。特に多いのが次のパターンです。

  • IMEの影響で「9:30」(全角コロン)になっている
  • 別システムからコピペして、時刻が文字列扱いになっている
  • 先頭にアポストロフィ(')が付いている

最速で直す:全角コロンを半角に置換してから変換

全角コロンが原因なら、置換で一気に改善することがあります。

  1. 対象範囲を選択
  2. Ctrl+H(置換)
  3. 「検索する文字列」に:(全角)、「置換後の文字列」に:(半角)
  4. 「すべて置換」

それでも数値にならない場合は、次の式で“時刻として解釈”させます。

=TIMEVALUE(A2)

結果が出たら、前述の通り「値貼り付け」で置き換えます。

勤務表で混乱しがち:「時刻」と「経過時間(勤務時間)」は別物

勤務表をExcelで作るとき、初心者〜中級者が一度はハマるのがここです。

  • 開始時刻・終了時刻:“時計の時刻”(1日の中の位置)
  • 勤務時間の合計:“経過時間”(何時間働いたか)

どちらも内部的には似た値で扱えますが、表示形式は分けて設計した方がトラブルが減ります。

経過時間の表示は [h]:mm が鉄板(24時間を超えても崩れない)

合計勤務時間が24時間を超える可能性がある場合、hh:mmのままだと表示が折り返されます。たとえば25時間30分は、hh:mmだと「01:30」に見えてしまいます。

実際の経過時間hh:mmでの表示[h]:mmでの表示どちらを使う?
8時間15分08:158:15どちらでもOK
25時間30分01:30(24時間で折り返し)25:30[h]:mm推奨

[h]:mmは「角括弧つきのh」がポイントで、経過時間として累積表示してくれます。月間集計、週次集計、複数人の合計などで特に効きます。

日跨ぎ(深夜勤務)を正しく計算する:負の時間を出さないコツ

開始が22:00、終了が6:00のように日付をまたぐと、単純な終了−開始はマイナスになります。ただし、以下のMOD・IF式は日付なしの時刻だけを使い、勤務が24時間未満で、終了が小さい場合は翌日とみなす場合に限ります。入力間違いや日付欠落を自動で正しく直す式ではありません。

方法:24時間未満の勤務をMODで計算する

=MOD(終了時刻-開始時刻,1)

休憩があるなら、次のように組み合わせます。

=MOD(終了時刻-開始時刻,1) - 休憩時間

結果のセルは[h]:mmにしておくと、見た目も計算も安定します。

方法:IFで終了が小さいときだけ「+1日」する

=IF(終了時刻<開始時刻, 終了時刻+1, 終了時刻) - 開始時刻

この方法は考え方が直感的で、後から見返したときにも理解しやすいのがメリットです。

24時間以上の勤務にはMODを使わないでください。1日分が切り捨てられ、開始と終了が同時刻なら0になります。日付付きの開始日時がA2、終了日時がB2なら=B2-A2を使い、結果を[h]:mmで表示します。休憩時間を引く場合も同じ時間単位の値を使い、負の結果は入力・休憩時間を確認します。

「日付+時刻」が悪いとは限らない:設計として“あえて”入れるケース

今回の相談では「勝手に日付が付くのが困る」ですが、実務では逆に日付+時刻で持った方が安全な場面もあります。

  • 日跨ぎ勤務が多く、開始日と終了日がズレる
  • 勤怠の締め処理で「日付がないと判定できない」集計がある
  • 実績の打刻データを取り込み、日時が必ず付いてくる

この場合は、入力列を次のように分けると管理しやすいです。

列例おすすめ表示形式ねらい
勤務日2026/1/8日付締め・集計の基準
開始9:30時刻(hh:mm)入力のしやすさ
終了18:15時刻(hh:mm)入力のしやすさ
開始日時(計算列)2026/1/8 9:30日付+時刻日跨ぎ・精密計算用
終了日時(計算列)2026/1/8 18:15日付+時刻日跨ぎ・精密計算用

「入力は時刻だけでラクに」「計算は日時で厳密に」という分業にすると、入力者のストレスと集計の事故を両方減らせます。

再発防止の実務テク:列の書式を固定し、入力ルールも決める

書式を直しても、次のような操作で再発することがあります。

  • 別のシートから日付+時刻のセルをコピーして貼り付けた
  • 列の一部だけ書式が違うままになっている
  • テンプレを使わず、毎回ゼロから表を作っている

おすすめ:Excelの「テーブル化」で書式を自動継承させる

勤務表の範囲を選んで「挿入」→「テーブル」にすると、新しい行を追加しても同じ書式が自動で適用されやすくなります。時刻列をhh:mmにしておけば、入力が増えても表示がブレにくくなります。

入力規則(データの入力規則)で“ありえない時刻”を防ぐ

入力ミス(例:99:99、24:60)や文字列混入を減らしたいなら、時刻列に入力規則を入れておくと効果的です。

  1. 時刻列を選択
  2. 「データ」→「データの入力規則」
  3. 「許可」を「時刻」
  4. 「次の値の間」で0:00〜23:59(運用に合わせて調整)

さらに入力メッセージに「例:9:30 のように半角コロンで入力」などと書いておくと、現場での混乱が減ります。

よくある質問(勤務表での“あるある”をまとめて解消)

書式をhh:mmにしたのに、日付が消えないのはなぜ?

数式バーに日付が残るだけなら正常です。セル自体に日付が見える場合は、対象セルの書式と=ISNUMBER(A2)で値の種類を確認してください。文字列は書式変更だけでは数値時刻になりません。表示だけを直すためにMODで元データを上書きする必要はありません。

合計時間が「1:30」になってしまう(本当は25:30)

合計セルの表示形式がhh:mmだと24時間で折り返します。合計の列・セルは[h]:mmにしてください。

開始・終了は合っているのに、勤務時間がマイナスになる

まず日付・開始終了の入力順・休憩時間を確認します。日付なしで24時間未満の翌日終了という条件ならMODまたはIFを使えます。日付付きの日時は終了日時−開始日時で計算し、MODで負の値を隠さないでください。

「9:30」(全角)だと計算できない

文字列扱いになっていることが多いです。Ctrl+Hで全角コロンを半角に置換し、必要ならTIMEVALUEで変換してください。

入力のたびに書式が変わるのを完全に止めたい

Excelは“入力内容に合わせて賢く表示を整える”仕様もあるため、ゼロにはできません。ただし、列全体の書式を固定し、テーブル化+入力規則を組み合わせると、実務上はほぼ再発を防げます。

まとめ:勤務表は「列の書式を先に決める」と一気に安定する

時刻入力が「日付+時刻」に見える場合は、まず表示と実値を分けて確認します。まずは時刻列をhh:mm(経過時間は[h]:mm)で統一します。日付は集計に必要なら保持し、時刻だけの値が必要な場合のみ元列を残してMODを使います。ここまで整えると、入力のストレスも集計ミスも大幅に減らせます。

公式資料:Excelの表示形式、MOD関数、日付・時刻の表示形式、TIMEVALUE関数。確認日:2026年10月19日。

この記事を書いた人

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

コメント

コメントする

目次