Excelで時間データを扱っていると、
- 1:30 を「1時間30分」と表示したい
- 08:05 を「8時05分」と見やすくしたい
- 勤怠表や作業時間表で分かりやすい表記にしたい
と考えることがあります。
しかし、セルの表示形式だけでは対応できないケースも多く、思ったような表示にならず困ることも少なくありません。
そんなときに便利なのがTEXT関数です。
TEXT関数を使えば、Excel内部の時間データを自由な形式で表示できます。
この記事では、TEXT関数を使って時間表示を変更する基本方法から、「○時間○分」表示の作り方、実務で役立つ活用例まで詳しく解説します。
目次
- ✅ TEXT関数で時間表示を変更する基本方法
- ・TEXT関数の構文
- ・時間をそのまま文字列表示する例
- ・hとhhの違い
- ✅ TEXT関数で「○時間○分」と表示する方法
- ・時間と分の文字を追加する
- ・表示例
- ・分を2桁で表示する
- ✅ TEXT関数で時刻表示を自由にカスタマイズする方法
- ・○時○分表示にする
- ・秒まで表示する
- ・午前午後を表示する
- ・日本語形式で表示する
- ✅ 24時間を超える時間を表示する方法
- ・24時間超の時間を表示する数式
- ・表示例
- ・なぜ[h]を使うのか
- ✅ TEXT関数を使うときの注意点
- ・結果は文字列になる
- ・再計算に利用できない
- ・表示専用で使う
- ✅ 実務で役立つTEXT関数の活用例
- ・勤務時間の表示
- ・作業時間レポート
- ・関数と組み合わせる
- ・VBAによる自動化も可能
- ✅ まとめ:TEXT関数で時間表示を見やすく変更しよう
✅ TEXT関数で時間表示を変更する基本方法
時間表示を変更するとき、多くの人はセルの書式設定だけで対応しようとします。
しかし、帳票や報告書では「時間」「分」という文字を付けたいケースがよくあります。
このような場合は表示形式だけでは対応しづらく、TEXT関数の方が柔軟です。
まずは基本的な使い方を理解しておきましょう。
・TEXT関数の構文
TEXT関数の基本構文は次の通りです。
=TEXT(値,"表示形式")
時間データがA1セルに入力されている場合は次のように記述します。
=TEXT(A1,"h:mm")
・時間をそのまま文字列表示する例
例えばA1に次の時間が入力されているとします。
| A列 |
|---|
| 1:30 |
| 8:05 |
| 15:45 |
数式
=TEXT(A1,"h:mm")
結果
| 表示結果 |
|---|
| 1:30 |
| 8:05 |
| 15:45 |
表示形式を統一したい場合に便利です。
・hとhhの違い
時間部分には主に次の書式を使用します。
| 書式 | 表示例 |
|---|---|
| h | 8 |
| hh | 08 |
例えば
=TEXT(A1,"hh:mm")
なら、
08:05
のように先頭の0を維持できます。
時間の表示形式を変更するだけでなく、「何時間なのか」を数値として取り出して集計したい場合は、HOUR関数の活用も便利です。時間データから時刻部分だけを抽出する方法については、【Excel】HOUR関数の使い方|時間だけを取り出して集計する方法の記事で詳しく解説しています。
✅ TEXT関数で「○時間○分」と表示する方法
実務で最もよく使われるのが「○時間○分」形式です。
勤務時間や作業時間を見やすくしたいときによく利用されます。
ただし、通常の時間表示とは書き方が少し異なるため注意が必要です。
・時間と分の文字を追加する
A1セルに時間が入っている場合は次の数式を使用します。
=TEXT(A1,"h""時間""m""分""")
・表示例
| 元データ | 結果 |
|---|---|
| 1:30 | 1時間30分 |
| 8:05 | 8時間5分 |
| 15:45 | 15時間45分 |
文字列を追加したい場合は、
""文字列""
で囲むのがポイントです。
・分を2桁で表示する
05分のように表示したい場合は次の数式を使います。
=TEXT(A1,"h""時間""mm""分""")
結果
8時間05分
となります。
「1時間30分」のように見やすく表示できるようになると、今度はその時間を分単位で集計したくなる場面もあります。勤務時間や作業時間を数値化したい場合は、【Excel】時間を分に変換する方法|勤務時間や作業時間を正しく集計する実務テクニックもあわせて確認してみてください。
✅ TEXT関数で時刻表示を自由にカスタマイズする方法
TEXT関数は「時間○分」以外にも様々な表示形式へ変更できます。
実務では用途に応じて使い分けることが重要です。
・○時○分表示にする
数式
=TEXT(A1,"h""時""mm""分""")
結果
8時05分
・秒まで表示する
数式
=TEXT(A1,"h:mm:ss")
結果
8:05:30
・午前午後を表示する
数式
=TEXT(A1,"AM/PM h:mm")
結果
AM 8:05
または
PM 3:45
・日本語形式で表示する
数式
=TEXT(A1,"h時mm分ss秒")
結果
8時05分30秒
帳票や報告書でよく利用される形式です。
✅ 24時間を超える時間を表示する方法
時間集計を行う場合は注意が必要です。
通常の時間表示では24時間を超えると1日として処理されてしまいます。
例えば、
25時間
を表示したいのに、
1:00
と表示されることがあります。
・24時間超の時間を表示する数式
A1セルに集計時間がある場合
=TEXT(A1,"[h]""時間""mm""分""")
を使用します。
・表示例
| 時間データ | 結果 |
|---|---|
| 25:30 | 25時間30分 |
| 48:15 | 48時間15分 |
・なぜ[h]を使うのか
通常のhは24時間でリセットされます。
一方、
[h]
は累積時間を表示します。
勤務時間集計や工数管理では非常に重要なポイントです。
関連して24時間を超える時間表示を扱う場合は、別記事の「24時間以上を正しく表示する方法」も参考になります。
長時間勤務や作業工数を集計する場合は、24時間超の時間表示を正しく理解しておくことが重要です。表示が崩れる原因や実務で使われる設定方法については、【Excel】24時間以上を正しく表示する方法|「25:00」表示の実務テクニックの記事で詳しく解説しています。
✅ TEXT関数を使うときの注意点
TEXT関数は便利ですが、いくつか注意点があります。
知らずに使用すると後で計算できなくなることがあります。
・結果は文字列になる
TEXT関数の結果は数値ではなく文字列です。
例えば
=TEXT(A1,"h:mm")
の結果は見た目は時間ですが内部的には文字列です。
・再計算に利用できない
次のような計算は期待通りにならない場合があります。
=TEXT(A1,"h:mm")+TEXT(B1,"h:mm")
時間計算を続ける場合は元データを使用しましょう。
・表示専用で使う
TEXT関数は次のような用途に向いています。
- 報告書
- 印刷資料
- 勤怠表
- 作業実績表
- ダッシュボード表示
見せるためのデータに使うと考えると分かりやすいです。
✅ 実務で役立つTEXT関数の活用例
TEXT関数は単なる表示変更だけではありません。
見やすい資料作成にも活用できます。
・勤務時間の表示
=TEXT(B2-C2,"h""時間""mm""分""")
勤務時間を分かりやすく表示できます。
・作業時間レポート
=TEXT(A1,"[h]""時間""mm""分""")
長時間の工数管理にも対応できます。
・関数と組み合わせる
例えばNOW関数と組み合わせると、
=TEXT(NOW(),"yyyy/mm/dd hh:mm")
現在日時を見やすく表示できます。
・VBAによる自動化も可能
毎日作成する報告書や勤務実績表では、VBAを利用して時間データの整形を自動化する方法もあります。
データ量が多い場合や定期的な帳票作成が必要な場合は、関数だけでなくVBAによる自動化も検討すると作業効率をさらに向上できます。
✅ まとめ:TEXT関数で時間表示を見やすく変更しよう
TEXT関数を使うことで、Excelの時間データを用途に応じて自由な形式で表示できます。
- TEXT関数で時間表示を自由に変更できる
- 「○時間○分」表示も簡単に作成できる
- hhを使うと先頭の0を維持できる
- [h]を使うと24時間超の累積時間を表示できる
- TEXT関数の結果は文字列になる
- 帳票やレポート作成で特に便利
時間データは見せ方を工夫するだけで資料の分かりやすさが大きく向上します。
ぜひTEXT関数を活用して、見やすく伝わる時間表示を作成してみてください。