想定読者:FAS・コンサルのタイムチャージ集計、FP&A の人件費・残業時間の分析、投資先の生産性 KPI の作成を Excel で行う若手の方
前提知識:SUM などの基本関数と、セルの書式設定を開いた経験があれば十分です

結論:時刻は「1日=1」の小数。合計は[h]:mm、日またぎはMOD、金額は×24

以下は学習用の架空事例です。10名の担当者(A〜J)の1週間(月〜金)の作業記録から、週合計と請求額を求めます。時間単価は計算練習のための仮定値(円/時間)です。

Excel は時刻を「1日=1」の小数で保存します(12:00 は 0.5)。このため、合計が24時間を超えると通常の時刻表示(h:mm)は24で巻き戻り、深夜をまたぐ勤務で終了から開始を引くと負の値になってセルに ######## が出ます。また、時間の値は日に対する割合なので、時間単価をそのまま掛けると金額が24分の1になります。

対処は、表示形式を [h]:mm にする、MOD(終了-開始,1) で引く、時間×24×単価 で金額にする、の3つです。法定労働時間や割増賃金などの労務制度、営業日の計算(WORKDAY)は扱いません。

本文の式と表示は、Windows 版 Excel 16.0(日本語環境)で2026年10月24日に入力して確認したものです。Excel for the web などでは異なる場合があります。

時刻の​正体:日に​対する​割合と​して​保存される

Microsoft のサポートページによると、TIME 関数が返す小数は 0:00:00 から 23:59:59 までの時刻を表し、12:00 PM は半日なので 0.5 です1。9:30 なら、1日1,440分のうち570分なので 570÷1,440=0.395833 です。23:59:59 でも 86,399÷86,400=0.99998843 で、時刻だけの値は必ず0以上1未満に収まります。

TIME(時,分,秒) は3つの数字から時刻を作り、時が23を超えると24で割った余りを時として扱います(TIME(27,0,0) は3:00と同じ0.125)2。TIMEVALUE は「9:30」のような文字列を時刻の小数に変換します3。HOUR・MINUTE・SECOND は、時刻から時(0〜23)・分(0〜59)・秒(0〜59)の整数を返します4。海外の解説サイトにも同じ説明があります5。

図表1:時刻関数の返り値を並べて確認
図表1:時刻関数の返り値を並べて確認
式返り値読み方
=TIME(9,30,0)0.395833570分÷1,440分
=TIMEVALUE("9:30")0.395833文字列→時刻
=HOUR(A1)9「時」の部分
=MINUTE(A1)30「分」の部分
=SECOND(A1)0「秒」の部分
=TIME(27,0,0)0.12527−24=3時
=TIMEVALUE(A1)#VALUE!数値だとエラー
単位:返り​値は​「標準」​表示。​A1 は 9:30 の​時刻データ。​出所:Excel 16.0 で​2026年10月24日に​確認した​結果を​基に​大手町​プレップ​作成。

図表1のとおり、TIME(9,30,0) も TIMEVALUE("9:30") も同じ0.395833を返し、違いは入力が数字か文字列かだけです。注意点は2つあります。HOUR は「時刻の時の部分」を返すだけで、経過時間の時間数ではありません(後で扱うAさんの週合計44時間に使うと20が返ります)。また、すでに数値の時刻になっているセルに TIMEVALUE を使うと、今回の環境では #VALUE! になりました。

24時間を超える合計:h:mm は巻き戻り、[h]:mm は累計を示す

図表2は、Aさんの日をまたがない5日分の勤務時間(終了−開始−休憩)と、その合計の見え方です。

図表2:Aさんの1週間の勤務時間と合計の見え方
図表2:Aさんの1週間の勤務時間と合計の見え方
曜日開始終了休憩勤務時間
月9:0018:301:008:30
火9:0019:001:009:00
水9:0019:301:009:30
木9:1519:001:008:45
金9:0018:151:008:15
合計(表示形式 h:mm)20:00
合計(表示形式 [h]:mm)44:00
合計(標準表示。値そのもの)1.833333
=HOUR(合計)20
=合計*24(時間数)44
単位:時間:分​(最下段の「時間数」のみ時間)。​対象期間:学習用の​架空の​1週間​(月〜金)。​勤務時間=終了−開始−休憩。​出所:学習用の​仮定に​基づき大手町​プレップ作成​(表示は Excel 16.0 で確認)。

Aさんの5日の合計は44時間です。SUM で合計したセルの値は1.833333(=44÷24)で、h:mm で表示すると「20:00」になります。時刻表示は1日の中の時刻を示すため、24を超えた分が落ちて見えるのです。Microsoft の手順でも、12:45と15:30を足すと4:15と表示され、表示形式に [h]:mm;@ を指定すると28時間15分と表示されます6。[h] の角かっこは、時間を24で区切らず経過時間として表示する指定です7。

[h]:mm に変えても値は1.833333のままで、変わるのは表示形式​(セルの​値を​変えず、​見た​目だけを​指定する​書式)による見え方だけです。時間数として使うときは =合計*24 で44を得ます。HOUR(合計)+MINUTE(合計)/60 では20になり、24時間を超えた分が落ちます。なお、Excel for the web ではカスタム数値形式を適用できないと Microsoft のページに書かれています8。

日またぎ勤務:MOD(終了-開始,1) で負の値を正す

夜勤の担当者(DさんとGさん)は、22:00開始・翌6:00終了のように日をまたぎます。セルには時刻しか入っていないので、終了の6:00(0.25)から開始の22:00(0.916667)を引くと、0.25−0.916667=−0.666667 の負の値になります。図表3は、これを1日の軸で表したものです。

図表3:日またぎ勤務を1日の軸で見る 横軸=1日(0:00〜24:00)。休憩を引く前の長さ。 ① そのまま引く:終了−開始=−0.6667(負) 終了 6:00(0.25) 開始 22:00(0.9167) 0:006:0012:0018:0024:00 翌日 6時間 2時間 ② MOD(終了−開始,1)=0.3333=8:00(2時間+6時間) ←赤の矢印=そのまま引いた差(負) ■緑の帯=実際に働いた時間帯
単位:時刻​(横軸は1日=0〜1の小数を時刻で表示)。​対象:学習用の​架空の​1回の​勤務​(22:00開始、​翌日6:00終了、​休憩は​含めず)。​出所:学習用の​仮定に​基づき大手町​プレップ​作成。​(スマートフォンでは​図を​横に​スクロールできます)

実際に引くと、表示形式が h:mm でも [h]:mm でもセルは ######## と表示され、標準表示にすると「−0.66667」と負の値が読めました。Microsoft のページにも、負の値を返す日付・時刻の数式は ##### と表示されることがあり、1900年日付システム(今回のブックも同じ)では値が正であることを確認するよう書かれています9。エラー値の見分け方はExcelの​エラー値​(#VALUE! などの種類と原因)にまとめています。

対処は MOD です。MOD(数値,除数) は割り算の余りを返し、結果は除数と同じ符号になります。MOD(n,d) は n-d*INT(n/d) と表せます10。除数を1にすると、負の差に1(=1日)を足し戻した値が返ります。MOD(0.25-0.916667,1) は0.333333で、時刻にすると8:00(22〜24時の2時間+0〜6時の6時間)です。

休憩を引くときは =MOD(終了-開始,1)-休憩 とします。Dさんの月曜は、22:00〜翌6:00で休憩1:00なので、8:00−1:00=7:00です。日をまたがない勤務でも同じ式で正しい値になるため、勤務表の全行に1つの式を使えます。

限界もあります。MOD は開始と終了が同じとき0を返す(今回の環境でも0:00)ため、ちょうど24時間以上の連続稼働は表せません。そうした記録は日付つきの日時(日付+時刻)で持ちます(2026年10月5日9:00〜翌6日9:00の差は [h]:mm で24:00と表示されました)。勤務が必ず24時間未満なら時刻だけ+MOD、24時間以上になりうるなら日付つき、が使い分けの目安です。

文字列の時刻を数値に直す:TIMEVALUE と見分け方

システムから取り込んだ時刻が文字列になっていることがあります。設例では、Cさんの月曜の開始「8:00」と、Iさんの水曜の終了「17:30」が文字列です。

この環境では、文字列の時刻どうしを引く式(=D2-C2 や MOD)は Excel が自動で数値に読み替えて正しい結果を返したため、日次の勤務時間だけを見ても誤りに気づきにくい状態です。見分け方は2つあります。=ISTEXT(セル) が TRUE になるか、列の COUNT(数値の個数)と COUNTA(空白でないセルの個数)が食い違うかです。Cさんの開始時刻5行では、前者が4、後者が5でした。日付が文字列だと条件が効かない注意点は、SUMIFSに​よる​条件付き集計でも触れています。

直し方は TIMEVALUE です。引数は「Microsoft Excel のいずれかの時刻形式で時間を表すテキスト文字列」で、時刻文字列に含まれる日付は無視されます11。ただし図表1のとおり、数値の時刻に使うと #VALUE! になるため、数値と文字列が混ざる列では次の形にします。

数値と文字列が混在する列の読み替え
=IF(ISNUMBER(C2),C2,TIMEVALUE(C2))

勤務時間の式は、開始と終了をこの形で読み替えてから MOD で引き、休憩を差し引きます。文字列2か所を含む50行の週合計は全体で412:30(24,750分)となり、入力データから数えた分数と一致しました。取り込み後のクリーニングは財務​データクリーニング、チェックセルの作り方は検算​チェックの​設計で扱っています。データの​入力規則​(入力できる値をセルごとに制限する機能)は貼り付けでは働かないため、COUNTA(範囲)-COUNT(範囲) が0かを見るチェックセルを併用すると安全です。

時間×24×単価:請求額と​分単位の​検算

請求額の式(時間単価は仮定値・円/時間)
=ROUND(週合計*24*時間単価,0)(週合計はシリアル値。24を掛けて時間数にし、円未満四捨五入)

Aさんは、週合計1.833333(=44:00)に24を掛けた44時間に、単価5,000円を掛けて220,000円です。24を掛け忘れると、1.833333×5,000=9,167円(円未満四捨五入)で、正しい金額の24分の1になります。

図表4:週合計×24×単価の請求額と検算
図表4:週合計×24×単価の請求額と検算
担当週合計単価請求額24忘れ検算差
Aさん44:005,000220,0009,1670
Bさん38:004,500171,0007,1250
Cさん41:305,500228,2509,5100
Dさん36:304,800175,2007,3000
Eさん42:306,000255,00010,6250
Fさん35:004,200147,0006,1250
Gさん39:005,200202,8008,4500
Hさん52:307,000367,50015,3130
Iさん41:154,600189,7507,9060
Jさん42:155,800245,05010,2100
合計412:30―2,201,55091,7310
単位:週合計は​時間:分、​単価は​円/時間​(仮定値)、​金額は​円。​「24忘れ」​=24を​掛けずに​単価を​掛けた​金額、​「検算差」​=請求額−分単位で​再計算した​金額。​対象期間:学習用の​架空の​1週間。​出所:学習用の​仮定に​基づき大手町​プレップ作成​(Excel 16.0 の​計算結果と​一致を​確認)。

図表4のとおり、全体の週合計は412:30(412.5時間)、請求額は各担当を円未満四捨五入した合計で2,201,550円です。24を掛け忘れた金額の合計91,731円は、その約24分の1(2,201,550÷24=91,731.25)です。週合計は10名×5日の計50行の記録から求め、図表4には週合計と単価だけを載せています。

検算は、=ROUND(週合計*1440,0) で分に丸め、60で割って単価を掛けた金額が請求額と一致するかを見ます。「検算差」列のとおり、10名すべてで差は0円です。分に丸めるのは、時刻の小数が2進数の浮動小数点で持たれ、ごくわずかな誤差が残ることがあるためです。今回もGさんの週合計×24の内部値は38.99999999999999でした(INT は39を返しました)。この挙動に頼らず、等号の比較や整数化は分単位に丸めてから行うほうが確実です。丸めと突合の考え方は端数処理と​タイアウト​(丸め誤差を合計と突き合わせる作業)にまとめています。

請求額が出れば、専門​サービスの​稼働率​(人の​時間の​うち、​顧客に​請求できる​時間の​割合)の分析に進めます。人件費を要員計画に積み上げる方法は人員計画・​人件費​モデリング​入門を参照してください。なお、実際の労働時間や割増賃金は就業規則や法令に従って別に確認するもので、この式だけで決まるものではありません。

実務​チェックリスト

  • 合計セルの表示形式が [h]:mm か。24時間を超える週合計が20:00のように巻き戻っていないかを確認する。
  • 日をまたぐ可能性のある勤務表では、勤務時間の式が MOD(終了-開始,1) になっているか。負の値や ######## がないかを見る。
  • 開始=終了の行(0:00になる行)がないか。あれば、日付つきの日時で持つ必要がないかを判断する。
  • 時刻の列で COUNT と COUNTA が一致するか。食い違えば TIMEVALUE で数値に直す。
  • 金額の式に *24 が入っているか。週合計の金額が想定の約24分の1に見えたら、掛け忘れを疑う。
  • 金額の検算に、分単位に丸めた再計算(ROUND(…*1440,0))を置き、差が0円になるかを確認する。

よく​ある​質問​(FAQ)

日付つきの記録なら MOD は要りませんか。

日付が​正しく​入っていれば​終了は​常に​開始より​後なので、​引き算だけで​正の​値に​なります。​ただし​日付の​入力漏れや​誤りが​あると​負の​値が​出る​ため、​勤務時間が​負の​行を​数える​チェックセルを​置くと​誤りを​見つけられます。

秒まで​入った​打刻を、​分単位に​そろえるには。

ROUND(値*1440,0) で分に丸められます(1,440は1日の分数)。切り捨てなど丸め方の選び方は、端数処理の別の解説に委ねます。

まとめ

Excel は時刻を「1日=1」の小数で持つため、合計表示、日またぎ、金額換算で誤りが出ます。合計は [h]:mm で表示し、日またぎは MOD(終了-開始,1) で正の値にし、金額は時間×24×単価で求めます。文字列の時刻は TIMEVALUE で直し、最後に分単位の再計算で差が0円かを確かめます。

脚注

  1. Microsoft サポート「TIME 関数」の説明と解説。返す小数は0:00:00〜23:59:59の時刻を表し、12:00 PM は0.5。同ページは上限を「0.99988426」と記すが、23:59:59は86,399秒÷86,400秒=0.99998843のため本文は計算値を示した(参考文献 R1)。↩
  2. Microsoft サポート「TIME 関数」の引数。時が23を超えると24で割った余りが時として扱われ、TIME(27,0,0)=TIME(3,0,0)=0.125(参考文献 R1)。↩
  3. Microsoft サポート「TIMEVALUE 関数」の説明。文字列で表された時刻を小数に変換する(参考文献 R2)。↩
  4. Microsoft サポート「HOUR 関数」「MINUTE 関数」「SECOND 関数」の説明。戻り値は時が0〜23、分・秒が0〜59の整数(参考文献 R3・R4・R5)。↩
  5. Wall Street Oasis の TIME・HOUR 関数のページ(一般的な概念の参考)。23を超える時は24で割った余り、HOUR は0〜23(参考文献 R10・R11)。↩
  6. Microsoft サポート「Excel で時間を加算または減算する」。12:45と15:30の合計は4:15と表示され、[h]:mm;@ を指定すると28時間15分と表示される(参考文献 R6)。↩
  7. Microsoft サポート「日付または時刻として数値の書式を設定する」の表示形式の一覧。[h]:mm は「経過時間(時間単位)」(参考文献 R7)。↩
  8. 参考文献 R6 の注。Excel for the web は24時間を超える時間を加算・減算できるが、カスタム数値形式は適用できない(2026年10月24日閲覧時点)。↩
  9. Microsoft サポート「##### エラーの修正方法」の「負の日付または時刻を修正する」。負の値を返す日付・時刻の数式は ##### と表示されることがあり、1900年日付システムでは正の値か確認する(参考文献 R8)。↩
  10. Microsoft サポート「MOD 関数」。剰余を返し、戻り値は除数と同じ符号。MOD(n, d) = n - d*INT(n/d)(参考文献 R9)。↩
  11. Microsoft サポート「TIMEVALUE 関数」の引数と解説。引数は時刻形式で時間を表すテキスト文字列で、文字列に含まれる日付の情報は無視される(参考文献 R2)。↩

参考文献​(2026年10月確認)

※本記事は教育目的の一般的な解説であり、法務・税務・投資助言ではありません。設例は理解のための学習用の架空事例であり、実在の企業・案件とは関係ありません。