【Excel】エクセルで数字を時間・分に変換する方法
エクセルでは、数値を時間や分として扱いたい場面がよくあります。
たとえば、作業時間を分単位で集計したデータを、見やすい「時間 分」の表示に変えたいこともあるでしょう。
一方で、Excelの時刻は1日を1として管理する仕組みのため、単純に表示形式を変えただけでは期待どおりにならないケースがあります。
分の数値を時間に変換する基本式は、分数を1440で割ることです。
1440は24時間×60分であり、Excelにおける1日分の時間を表します。
この記事では、数字を時間や分へ変換する数式、表示形式、合計時間を正しく扱う方法を詳しく解説します。
エクセルで数字を時間・分へ変換する基本数式
それではまず、数値を時間・分の形式へ変換する基本数式について解説していきます。
| A列 | B列 | C列 |
|---|---|---|
| 作業者 | 作業時間 分 | 時間表示 |
| 田中 | 90 | 1時間30分 |
| 佐藤 | 125 | 2時間5分 |
分数を時刻シリアル値へ変える計算
分単位の数値がB列に入力されている場合、C2セルには=B2/1440と入力します。
Excelでは1日が1、12時間が0.5、1時間が1/24として保存されています。
そのため、90分を時刻として扱うには、90を1日の総分数である1440で割る必要があります。
分から時刻へ変換する数式
=B2/1440
数式を入力した直後のセルには、0.0625のような小数が表示される場合があります。
これは計算が失敗したのではなく、セルの表示形式が標準のままだからです。
数式で時刻の値を作り、表示形式で見せ方を整えるという順序が重要です。
数式を下方向へコピーすれば、1行目を見出しとした一覧表でも各行の分数をまとめて変換できます。
オートフィルを使う場合は、C2セル右下のフィルハンドルを下へドラッグしましょう。
【操作のポイント】分数を時間に変換するセルは、元データの分数を1440で割る数式にします。
表示形式による時間・分の見せ方
=B2/1440を入力したC2セルを選択し、セルの書式設定を開きます。
表示形式のユーザー定義で[h]”時間”m”分”を指定すると、90分は1時間30分と表示されます。
時間と分を記号でコンパクトに表示したい場合は、[h]:mmという表示形式も便利です。
合計時間を扱う表では、hではなく[h]を使うことが大切です。
h:mmでは24時間を超える合計が翌日の時刻として折り返されるのに対し、[h]:mmなら25時間30分のように累計時間を表示できます。
表示形式の例
[h]”時間”m”分”
[h]:mm
h”時”m”分”
時刻として扱う対象が1日未満だけならh”時”m”分”でも表示できます。
残業時間、勤務時間、プロジェクト時間の合計などでは、[h]を選ぶと安心です。
【操作のポイント】累計時間を表示する場合は、ユーザー定義で[h]:mmまたは[h]”時間”m”分”を設定します。
オートフィルによる数式のコピー
C2セルに数式と表示形式を設定したら、同じ計算をC列の必要な行へコピーします。
表の途中に空白行がない場合は、C2セルを選択してフィルハンドルをダブルクリックすると、隣接するB列のデータ範囲に合わせて数式が入ります。
数式をコピーすると、=B2/1440は次の行で=B3/1440へ自動的に変わります。
参照先を固定したい計算では$記号を使いますが、行ごとの分数を変換する基本式では通常不要です。
結果が####と表示される場合は、列幅が不足している可能性があります。
C列の右端をダブルクリックして列幅を自動調整すると、時間表示を確認しやすくなります。
【操作のポイント】1行目をヘッダーにした表では、2行目に式を入力してから下方向へオートフィルします。
時間数の数字を時間・分へ分解する関数
続いては、時間を小数で入力した数値を時間と分へ分解する方法を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 案件 | 時間 数値 | 時間表示 |
| 資料作成 | 1.5 | 1時間30分 |
| 会議 | 2.25 | 2時間15分 |
小数時間を時刻値へ変える式
B2セルに1.5のような時間数が入力されている場合、C2セルには=B2/24と入力します。
1.5時間は90分ですが、Excelの時刻値では24時間が1です。
そのため、時間数を24で割ることでExcelが認識できる時刻シリアル値になります。
小数時間から時刻へ変換する数式
=B2/24
表示形式を[h]”時間”m”分”にすると、1.5は1時間30分、2.25は2時間15分と表示されます。
分から変換する場合は1440で割り、時間から変換する場合は24で割る点を区別しましょう。
数値の1.75は1時間45分であり、1時間75分ではありません。
小数部分は60進法の分ではなく、時間の割合として計算される点に注意が必要です。
【操作のポイント】小数で入力された時間数は、24で割ってから時刻形式で表示します。
INT関数とMOD関数による文字列表示
計算用の時刻ではなく、報告書用に文字として時間と分を表示したい場合があります。
このときは、=INT(B2)&”時間”&ROUND(MOD(B2,1)*60,0)&”分”という式を利用できます。
INT関数は小数点以下を切り捨てて時間の整数部分を取り出します。
MOD(B2,1)は小数部分だけを求め、その値に60を掛けることで分を算出します。
小数時間を文字列へ変換する数式
=INT(B2)&”時間”&ROUND(MOD(B2,1)*60,0)&”分”
この式の結果は文字列なので、後からSUM関数で合計する用途には向きません。
合計や差し引きの計算が必要な表では、文字列化せずに=B2/24で時刻値を作る方法が適しています。
【操作のポイント】集計する値は時刻値のまま保持し、文字列への変換は最終的な見せ方だけに使います。
時間と分を別セルへ取り出す方法
時間と分を別々の列に分けたい場合、時間は=INT(B2)、分は=ROUND(MOD(B2,1)*60,0)で求められます。
たとえばB2が2.5なら、時間のセルは2、分のセルは30になります。
勤務時間の内訳表、工数表、請求明細のように時間と分を別項目として使う場面で役立つ方法です。
ROUND関数を使うと、0.999999のような計算誤差によって59分ではなく60分になる問題を抑えやすくなります。
分が60になった場合には、時間へ繰り上げる処理も検討しましょう。
計算対象が多い場合は、元の数値を時刻値へ変換して表示形式だけを変更する設計のほうが管理しやすいこともあります。
【操作のポイント】時間と分を別列にする場合は、INT関数で時間、MOD関数と60で分を求めます。
分数を時間表示にするセル書式の設定
続いては、分数を時間表示にするセル書式の設定を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 日付 | 対応時間 分 | 変換後 |
| 4月1日 | 45 | 0時間45分 |
| 4月2日 | 150 | 2時間30分 |
セルの書式設定を開く操作
C2セルに=B2/1440を入力した後、対象セルを選択して右クリックします。
表示されたメニューからセルの書式設定を選ぶと、数値、日付、時刻、ユーザー定義などを設定する画面が開きます。
キーボード操作では、Ctrlキーと1キーを同時に押してセルの書式設定を開くこともできます。
カテゴリでユーザー定義を選択し、種類の入力欄に表示形式を入力しましょう。
| A | B | C | |
|---|---|---|---|
| 1 | 日付 | 対応時間 分 | 変換後 |
| 2 | 4月1日 | 45 | 0:45 |
変換用のC列全体を選択してから書式を設定すれば、数式をコピーした先にも同じ表示形式が適用されます。
【操作のポイント】セルの書式設定はCtrl+1で開くと、リボンを探す手間を減らせます。
ユーザー定義の時間・分表示
ユーザー定義の種類欄には、[h]”時間”m”分”と入力します。
角括弧のhは、24時間を超えても時間を累積して表示する指定です。
mは時刻の表示形式では分を意味し、引用符で囲んだ時間と分はそのまま文字として表示されます。
作業時間の累計に向く表示形式
[h]”時間”m”分”
h:mmではなく[h]:mmを使うと、24時間以上の集計結果も正しく読めます。
たとえば1500分は25時間0分ですが、h:mmでは1:00と見えることがあります。
月間の勤務時間や複数日の作業時間では、この違いが集計ミスにつながるため注意しましょう。
【操作のポイント】24時間を超える可能性がある時間には、hを角括弧で囲む書式を指定します。
オートフィルと書式の引き継ぎ
数式と書式を設定したC2セルは、フィルハンドルで下へコピーできます。
フィルハンドルは、選択したセル右下にある小さな四角です。
下へドラッグすると、数式の参照先と表示形式の両方が通常は引き継がれます。
値だけをコピーしたい場合は、コピー後に表示されるオートフィルオプションから値のコピーを選びます。
式と書式を残したい変換表では、値のコピーではなく通常のオートフィルを使います。
計算結果を別ファイルへ渡すときだけ、コピーして値として貼り付けを行うとよいでしょう。
【操作のポイント】変換式を下へ広げるときは、数式と表示形式を同時に引き継げるオートフィルが便利です。
時間・分から合計時間を求める集計方法
続いては、時間・分から合計時間を求める集計方法を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 日付 | 作業時間 分 | 時間表示 |
| 4月1日 | 480 | 8時間0分 |
| 4月2日 | 510 | 8時間30分 |
SUM関数で時刻値を合計する方法
C2からC10に=B2/1440で作成した時刻値がある場合、合計セルには=SUM(C2:C10)を入力します。
セル内の値が文字列ではなく時刻の数値として保存されていれば、通常のSUM関数で問題なく加算できます。
合計セルの表示形式も、必ず[h]”時間”m”分”または[h]:mmに設定しましょう。
合計セルだけが1時間0分のように表示される場合、24時間で折り返す表示形式になっている可能性があります。
作業時間を分のまま合計する場合は、=SUM(B2:B10)で総分数を求め、別セルでその合計を1440で割る方法もあります。
時間表示列を合計する数式
=SUM(C2:C10)
分数の合計を時刻へ変換する数式
=SUM(B2:B10)/1440
【操作のポイント】合計セルは数式だけでなく、[h]を含む表示形式まで確認します。
24時間を超える表示の注意点
Excelの標準的な時刻表示は、1日を超えると日付部分へ繰り上がります。
たとえば49時間30分をh:mmで表示すると、1:30のように見えてしまうことがあります。
これは49時間が2日と1時間30分に分かれ、時刻部分だけが表示されるためです。
勤務時間や工数の合計では、時刻ではなく経過時間として表示する意識が必要です。
[h]:mmなら49:30、[h]”時間”m”分”なら49時間30分と表示されます。
日をまたぐデータでも正しい時間数を確認できるため、月次集計では特に有効です。
【操作のポイント】日付時刻ではなく経過時間を扱う表では、[h]付きのユーザー定義書式を使います。
空白セルとエラー値の扱い
元データのB列に空白があると、=B2/1440の結果は0時間0分に見えることがあります。
空白の行を空白のまま表示したいなら、=IF(B2=””,””,B2/1440)という式を使います。
この数式では、B2が空白なら空白を返し、数値があるときだけ時刻へ変換します。
空白セルを表示しない変換数式
=IF(B2=””,””,B2/1440)
数値以外の文字が混在する表では、入力規則を設定して分数だけを入力できるようにするとミスを減らせます。
エラーを見つけたときは、元データが数値として入力されているかを確認しましょう。
【操作のポイント】空白行を0時間0分にしたくない場合は、IF関数で空白判定を加えます。
時間と分を数値へ戻す逆変換の数式
続いては、時間と分を数値へ戻す逆変換の数式を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 作業内容 | 時間表示 | 分数へ変換 |
| 確認作業 | 1:30 | 90 |
| 修正作業 | 2:15 | 135 |
時刻を分数へ変換する計算
B2セルに1:30のような時刻値が入力されている場合、C2セルには=B2*1440と入力します。
時刻を分に直す場合は、分から時刻への変換と反対に1440を掛けます。
1時間30分はExcel内部では0.0625なので、0.0625に1440を掛けると90になります。
時刻から分数へ変換する数式
=B2*1440
変換後のセルは標準または数値の表示形式に設定し、小数点以下を0桁にすると分数を確認しやすくなります。
時刻が秒を含む場合、分数に小数が生じることがあります。
整数の分にそろえたいときは、=ROUND(B2*1440,0)を使いましょう。
【操作のポイント】時刻値を分数へ戻すときは1440を掛け、必要に応じてROUND関数で整数化します。
時刻を小数時間へ変換する計算
時刻を小数時間に変換したい場合は、=B2*24と入力します。
1:30は1.5、2:15は2.25という小数時間になります。
時給計算や工数単価の計算では、小数時間に変換した数値を使うことが多いでしょう。
たとえば時給が1500円で小数時間がC2にあるなら、=C2*1500で金額を求められます。
時刻のまま時給を掛けると、Excelでは1日を基準にした値として計算されるため、必ず24を掛けて時間数へ戻します。
小数時間は表示のためではなく計算のための値として扱うと理解しやすくなります。
【操作のポイント】時刻を時間数の小数へ変える場合は、時刻値に24を掛けます。
TIME関数で時間と分から時刻を作る方法
時間がB列、分がC列に分かれている場合、時刻を作るセルには=TIME(B2,C2,0)と入力します。
TIME関数は、時間、分、秒を指定してExcelの時刻値を返す関数です。
B2が2、C2が15なら、結果は2:15になります。
作成したセルに[h]”時間”m”分”の表示形式を設定すれば、2時間15分と表示できます。
時間と分から時刻を作る数式
=TIME(B2,C2,0)
ただしTIME関数は24時間を超える時間の扱いには注意が必要です。
経過時間として25時間を作る場合は、=B2/24+C2/1440のように計算する方法が適しています。
【操作のポイント】時間と分が別セルならTIME関数を使えますが、24時間超の累計には除算による計算が向きます。
時間計算で起こりやすい表示エラーの確認
続いては、時間計算で起こりやすい表示エラーの確認をしていきます。
| 状態 | 主な原因 | 確認内容 |
|---|---|---|
| 0:00と表示 | 除算式がない | 1440または24で割る |
| 1:00と表示 | 24時間で折り返し | [h]:mmへ変更 |
数字をそのまま時刻表示にした場合
90という数字が入力されたセルに時刻表示を設定しても、90時間や90分にはなりません。
Excelは90を90日として扱うため、意図しない日付や時刻が表示されます。
分として入力した90を正しく扱うには、=90/1440のように1日を基準にした値へ変換する必要があります。
数字の意味とExcelが持つ内部の値は別であり、表示形式だけでは単位を変換できません。
入力値が分なのか、時間なのか、時刻なのかを表のヘッダーで明記しておくと混乱を防げます。
特に他の人から受け取ったデータでは、元の単位を最初に確認しましょう。
【操作のポイント】数値を時刻として見せる前に、分なら1440、時間なら24で割る変換式を入れます。
マイナス時間が表示されない原因
終了時刻から開始時刻を引いた結果がマイナスになると、Excelでは####と表示されることがあります。
これは標準の日付システムでは負の時刻を表示できないためです。
日をまたぐ勤務で、開始時刻が22:00、終了時刻が翌日の2:00なら、単純な=終了時刻-開始時刻では正しい結果になりません。
この場合は、=MOD(終了時刻-開始時刻,1)を使うと4時間を求められます。
日またぎの時間差を求める数式
=MOD(C2-B2,1)
計算結果のセルには[h]:mmまたはh:mmの表示形式を設定します。
日またぎの可能性がある勤怠表では、最初からMOD関数を使う設計も選択肢です。
【操作のポイント】終了時刻が翌日になる場合は、MOD関数で時間差を1日の範囲に戻します。
文字列の時刻を数値に直す方法
セルの左側に1:30が表示され、計算できない場合は、時刻が文字列として保存されているかもしれません。
文字列の時刻は、VALUE関数で数値へ変換できる場合があります。
たとえば=VALUE(B2)を入力し、結果に時刻表示を設定すると、計算可能な時刻値になることがあります。
日本語の1時間30分という文字列から数値を取り出す処理は複雑になりやすいため、可能なら入力段階で時刻または分数の数値に統一することが理想です。
データの左寄せや緑色のエラーインジケーターも、文字列として保存された数値を見つける手掛かりになります。
【操作のポイント】計算できない時刻は文字列の可能性があるため、VALUE関数や入力形式を確認します。
まとめ エクセルで数字を時間・分に変換する方法
エクセルで数字を時間・分に変換する場合は、元の数字が分なのか時間なのかを最初に確認することが基本です。
分数を時間表示へ変換するなら、分数を1440で割り、セルの表示形式を[h]”時間”m”分”または[h]:mmに設定します。
小数時間を時間・分に変換するなら、時間数を24で割る方法が使えます。
計算用の値は時刻シリアル値として保持し、見た目だけを表示形式で整えると、合計や差し引きも正確に行えます。
24時間を超える合計には[h]付きの書式を使い、時刻を分に戻すときは1440を掛けましょう。
空白セル、文字列、日またぎの時間差などもあらかじめ考慮すると、勤務時間や作業時間の表を安定して管理できます。
数式、表示形式、元データの単位をセットで確認しながら、見やすく正確な時間集計を進めていきましょう。