前提となる表の形

ここでは1行に1回分の作業を入力し、A列に日付、B列に開始、C列に終了、D列に作業時間、E列にクライアント名、F列に作業内容を置く表を例にします。2行目からデータが始まる想定です。列の並びや見出しの付け方は稼働明細書のテンプレートで詳しく扱っています。

Excelの時刻は「1日=1」とするシリアル値で、12:00は0.5、1時間は1/24として内部で扱われます。以下の数式はすべてこの仕組みを前提にしています。

作業時間は「終了−開始」

1回分の作業時間(D2)
B2(開始):9:30
C2(終了):12:15
D2:=C2-B2 → 2:45

D2を下の行にコピーすれば、各行の作業時間が求まります。D列の表示形式は h:mm で構いません。1回の作業が24時間を超えることは通常ないためです。

日付をまたぐ作業はMOD関数で

22:00に始めて翌1:30に終えた作業を =C2-B2 で計算すると、結果がマイナスになり「####」と表示されます。終了時刻が開始時刻より小さい場合に1日分を足す計算が必要で、MOD関数を使うと1つの式で書けます。

深夜をまたぐ作業(D2)
B2(開始):22:00
C2(終了):1:30
D2:=MOD(C2-B2,1) → 3:30

MOD関数の戻り値は除数と同じ符号になるため、除数を1にすると結果は常に0以上1未満になります。日付は開始した日のA列に入れておけば、日別・月別の集計でも開始日の作業として数えられます。

合計は表示形式 [h]:mm にする

月の合計を =SUM(D2:D45) で求めると、82時間30分のはずが「10:30」と表示されることがあります。h:mm の表示では24時間ごとに繰り上がった分が日数として隠れるためです。合計セルを選んで[セルの書式設定]→[ユーザー定義]で [h]:mm を指定すると、82:30 と表示されます。

注意

表示が「10:30」でも、セルの値そのものは82時間30分のままです。表示形式だけの問題なので、数式を書き直す必要はありません。

10進数の時間と金額に換算する

請求書では「82.5時間」のような10進数の時間が使われます。シリアル値に24を掛けると時間数になり、ROUND関数で小数第2位にそろえます。

架空の例:佐藤さん(株式会社サンプル、単価5,000円・税抜、2026年10月)
D46:=SUM(D2:D45) → 82:30(表示形式 [h]:mm)
I1(単価):5000
G46:=ROUND(D46*24,2) → 82.5
H46:=ROUNDDOWN(D46*24*$I$1,0) → 412,500

金額は時間数に丸めず、=D46*24*単価 の形で直接計算するほうが誤差が出ません。たとえば20分は0.33時間に丸めてから掛けると1,650円ですが、直接計算すると1,666円(円未満切り捨て)になります。単価を上の例のようにI1に入れて絶対参照($I$1)で指定しておくと、単価改定のときも1か所の修正で済みます。請求額の組み立て方は時間単価の請求書の作り方を参照してください。

15分単位の切り捨てと分単位

15分単位で切り捨てる契約なら FLOOR 関数を使い、基準値に15分を指定します。分単位で精算する契約なら、この丸めは不要です。どちらにするかは計算方法の問題ではなく取り決めの問題なので、契約書や発注時のやり取りで確認しておきましょう。

15分単位で切り捨てる(G列に置く場合の例)
D2:2:50
G2:=FLOOR(D2,"0:15") → 2:45
誤差に強い書き方:=FLOOR(ROUND(D2*1440,0),15)/1440

1回ごとに切り捨てるか、月の合計を切り捨てるかで結果が変わります。1日に何度も作業を区切る人ほど、1回ごとの切り捨ては不利になりやすいので注意してください。

SUMIFSでクライアント別・月別に集計する

複数のクライアントを1つの表で管理している場合は、SUMIFS関数で条件に合う行の作業時間だけを合計します。SUMIFSは最初の引数が合計対象範囲で、SUMIFとは引数の順番が違う点に気をつけてください。

クライアント別・月別の合計
=SUMIFS($D$2:$D$500,$E$2:$E$500,"株式会社サンプル")
=SUMIFS($D$2:$D$500,$E$2:$E$500,"株式会社サンプル",$A$2:$A$500,">="&DATE(2026,10,1),$A$2:$A$500,"<"&DATE(2026,11,1))

2つ目の式は「2026年10月1日以上、11月1日未満」の条件で月を区切っています。月末日を指定するより、翌月1日未満とするほうが31日・30日の違いを気にせず使い回せます。結果のセルにも [h]:mm を設定します。

つまずきやすい3つのポイント

時刻が文字列になっている

全角のコロンで「9:30」と入力した場合や、他のシステムから貼り付けた時刻は、文字列として扱われることがあります。セル内で左寄せになっている、=ISNUMBER(B2) が FALSE になる、といった場合は文字列です。半角で入力し直すか、データの区切り位置機能などで時刻に変換してください。

24時間を超える合計が0:00に見える

ちょうど48時間の合計は h:mm では「0:00」と表示されます。合計や小計のセルには必ず [h]:mm を設定しておくと、見た目による確認漏れを防げます。

わずかな誤差で金額や丸めがずれる

時刻は小数で保存されるため、引き算の結果が2:45ちょうどではなく、ごくわずかに小さい値になることがあります。FLOORで丸めると1段下の2:30になる、といったずれの原因です。丸めの前に分単位へ直して ROUND で整数にする、時間数は ROUND(…*24,2) で扱う、という2点を習慣にしてください。

Excelで足りなくなるとき

クライアントが増えて表を分けるようになった、時刻の転記や押し忘れの補正に時間がかかる、請求書と明細を毎月作り直している、といった状態になったら、記録用のツールを検討する時期です。選び方の基準は稼働時間管理ツールの選び方にまとめています。