Business Guide

案件別の労務原価をExcelで計算する方法|単価改定に対応する無料テンプレート

案件別労務原価の無料Excel。作業当時の単価を保存し、原価31,500円を集計する例

案件別の労務原価は、担当者ごとの実績時間に、その作業へ適用する原価単価を掛けて合計します。単価を改定する場合は、工数の行ごとに確定単価を数値で残すと、過去の原価を保ったまま新しい記録を追加できます。

無料Excelの作例は、2人で進めたWebページ更新です。旧単価3,000円と新単価3,500円を分けて保存し、11時間の労務原価は31,500円になります。単価が未入力なら、その案件の原価と売上との差額を保留します。

案件別労務原価の無料Excelをダウンロード。登録不要。3シート・6明細の架空の記入例と数式入りです。開いたら時間を1か所変える操作を試してください。白紙から作る方は表と数式の設定へ進めます。

2人の工数から、記録済みの原価31,500円を計算する

Webページ更新 P01金額・時間
入力した実績時間11時間
記録済みの労務原価31,500円
案件売上・税抜90,000円
売上−記録済み労務原価58,500円
差額率65.0%

この58,500円は、記録済み労務原価だけを引いた差額です。外注費・材料費などの直接費と、今後の作業は含めていません。案件別の採算管理に使う途中の確認値として読み、完成時の最終利益とは分けてください。売上と原価は同じ案件・同じ対象範囲でそろえます。

無料Excelの案件集計。P01原価31,500円、P02原価10,250円
無料教材を描画した表示例。集計対象は明細へ入力した全日付です。小さい数字は上の表でも確認できます。 画像を選ぶと拡大できます。

日々の記録と案件別集計をまとめて使いたい方へ

工数・案件管理 Excelテンプレートは、300案件・3,000行の工数記録・20名のメンバーを扱う販売テンプレートです。案件別の予定・実績・原価と、メンバー別の稼働状況を確認する画面を用意しています。

最初にメンバーと案件を登録し、「工数記録」のE列に時間、J列に作業時の確定原価単価を数値で入力します。同じP01の4明細を入れると、「案件一覧」のM7は31,500円、N7は58,500円です。J列への単価入力は手動です。

販売v1.2の案件一覧K6:O8。P01の11時間、原価31,500円、現時点の粗利58,500円
販売中v1.2の作業用コピーへ、無料教材と同じ架空の案件を入れた描画例。表示中の「現時点の粗利」は記録済み労務原価ベースです。 画像を選ぶと拡大できます。

購入後にダウンロードするのは、Excelと説明テキストをまとめたZIPです。案件別の集計式や予定工数との比較画面を設定せずに、継続して記録を始めたい方に向いています。

案件別の工数・原価・稼働を設定済みの表で確認する

工数・案件管理 Excelテンプレートの画面例

無料Excelを開き、時間を変えて試す

ダウンロードしたファイルをコピーして開きます。「工数明細」のD7を4から5へ変えてください。F7は12,000円から15,000円、「案件集計」のE7は31,500円から34,500円へ変わります。案件集計F7の差額は55,500円です。確認後は工数明細D7を4へ戻します。

黄色は入力欄、薄緑は数式の欄です。実績時間は小数で入れます。30分は0.5、1時間30分は1.5です。「1:30」という時刻や「1.30」という数値とは区別してください。1行は1人・1案件の作業で、0〜24時間を入力できます。

自分の案件へ置き換える入力範囲

シート置き換えるセル
担当者A7:D10。担当コード・氏名・現在単価・変更メモ
案件集計A7:C16。案件ID・案件名・売上の税抜額
工数明細A7:E36とH7:H36。日付・案件ID・担当コード・時間・確定単価・メモ

例の入力を消すときは、上のセルの内容だけを削除します。行全体は削除せず、工数明細F・G列と案件集計D〜I列の数式を残してください。担当者、案件、工数明細の順に登録すると、未登録コードの警告を直しやすくなります。

案件IDと担当コードは、P01・M01のような半角英数字に統一し、重複させないでください。アスタリスク・疑問符・チルダは集計条件で特別な意味を持つため、コードに使いません。入力した明細のG列がすべて「OK」、案件集計C4が0になったら結果を確認できます。

無料教材は10案件・30明細・担当者4名まで数式を設定済みです。新しい明細は13行目から順に追加できます。36行目を超える場合は、明細の数式・入力規則と、集計式の「36」を新しい最終行まで一緒に広げてください。案件や担当者を増やす場合も、G列の参照範囲を広げます。

単価改定の前後を同じ案件に残す

青木の原価単価は10月14日まで3,000円、10月15日から3,500円とします。森は2,500円のままです。ここでの単価は説明用の仮定で、標準相場ではありません。実務では、請求用の時給と区別して自社で決めた原価単価を使います。

工数明細の行・担当時間 × 確定単価 = 労務原価
7行目・10/14 青木4 × 3,000 = 12,000円
8行目・10/14 森3 × 2,500 = 7,500円
9行目・10/16 青木2 × 3,500 = 7,000円
10行目・10/16 森2 × 2,500 = 5,000円
P01の合計11時間・31,500円
無料教材の工数明細。E7は3,000、E9は3,500で過去単価を保持
作業日と確定単価を同じ行へ残しています。11〜12行目は別案件P02の記録です。 画像を選ぶと拡大できます。

現在単価を変えても、過去のE列は書き換えない

試しに「担当者」のC7を3,500から4,000へ変更します。「工数明細」のE7は3,000、E9は3,500のままです。P01の原価31,500円も変わりません。確認後は担当者C7を3,500へ戻してください。

これはE列へ確定した数値を入力しているためです。Excelが日付から適用単価を自動判定しているわけではありません。新しい作業を記録するときに、作業日へ適用する単価を確認してE列へ入力してください。過去の工数を遅れて入力する場合は、現在単価ではなく当時の単価を使います。

現在単価を参照する数式をE列へ入れると、単価表の変更に合わせて過去行も再計算されます。参照式で値を確認してから保存する運用なら、対象セルをコピーし、同じ場所へ[形式を選択して貼り付け]の[値]で戻してください。数式バーに「=」で始まる式が残っていなければ、数値として保存できています。Microsoftの貼り付けオプションで、数式と値の違いを確認できます。

単価の適用日や承認者が必要な業務では、H列のメモや自社の単価記録へ残してください。数値で保存した単価も、手作業で上書きすれば変わります。締めた期間は別名のコピーを保管し、訂正した理由を残します。

単価の空欄と0円を分けて、誤った差額表示を防ぐ

工数明細E7だけを空欄にすると、G7は「単価未入力」、F7は「要確認」になります。案件集計H7は「明細を確認」となり、P01の原価・差額・差額率は空欄です。入力済みの残り19,500円だけをP01の原価として確定しません。

工数明細E7が空欄のとき、G7に単価未入力、F7に要確認を表示
未入力の単価を0円として扱わない確認例です。E7へ3,000を戻すと元の計算へ戻ります。 画像を選ぶと拡大できます。

E7へ数値の0を入れた場合は、原価0円として計算します。P01の原価は19,500円、売上との差額は70,500円になります。原価を計上しないと判断した作業だけ0にし、単価が分からない状態は空欄で残してください。試した後は3,000へ戻します。

表示・症状確認する場所
単価未入力工数明細E列。空欄や文字を数値に直す
時間を確認工数明細D列。空欄・文字・負数・24超を確認
案件IDを確認明細B列と案件集計A列。同じIDが1件だけあるか
担当コードを確認明細C列と担当者A列。未登録・重複を直す
作業日を確認明細A列。2000〜2099年の時刻を含まない日付を入れる
案件集計C4が1以上明細G列を全行確認。所属先がない明細も数える
集計状態が未記録登録した案件の明細がまだない。実績0とは区別する

P01に入力不備があっても、P02の計算は表示します。一方、全案件の合計18行目は、不備や未記録の案件が残ると保留します。案件IDが未登録の行はどの案件へ戻すべきか分からないため、個別の結果だけを見ずC4も確認してください。

白紙から同じ表と数式を作る

「案件集計」「工数明細」「担当者」の3シートを作成します。数式でこの名前を参照するため、表記をそろえてください。担当者のA6:D6は「担当コード・氏名・現在単価(円/h)・適用・変更のメモ」です。A7:D8に「M01・青木・3500・10/15改定、旧3000」「M02・森・2500・変更なし」を入力します。

シートと行左から順に入れる見出し
工数明細 A6:H6作業日/案件ID/担当コード/時間(h)/確定単価(円/h)/労務原価(円)/入力確認/作業・単価のメモ
案件集計 A6:I6案件ID/案件名/売上(税抜円)/記録時間(h)/労務原価(円)/売上との差額(円)/差額率/集計状態/不備行数

案件集計A7:C8には「P01・Webページ更新・90000」「P02・バナー制作・40000」を入力します。明細7〜10行目は上のP01の4行です。11行目へ「2026/10/17・P02・M01・1.5・3500」、12行目へ「2026/10/17・P02・M02・2・2500」をA〜E列に入れます。H列は作業や単価のメモです。

A列の日付は日付形式、時間は数値・小数点以下2桁、円は数値・桁区切り、差額率はパーセント・小数点以下1桁にします。入力文字を小さくせず、列幅と行高を広げてください。以下の式は先頭セルへ貼り付け、指定の範囲を下方向へコピーします。コピー後は最終行の参照先も確認します。

明細の入力確認を作り、時間と単価を掛ける

「工数明細」のG7へ次の式を入れます。G36までコピーしてください。 初期例は「OK」です。すべて未入力の行は空欄、入力途中の行は該当する警告を表示します。

=IF(COUNTA(A7:E7,H7)=0,"",IF(OR(B7="",COUNTIFS(案件集計!$A$7:$A$16,B7)<>1),"案件IDを確認",IF(OR(C7="",COUNTIFS(担当者!$A$7:$A$10,C7)<>1),"担当コードを確認",IF(NOT(ISNUMBER(A7)),"作業日を確認",IF(OR(A7<DATE(2000,1,1),A7>DATE(2099,12,31),A7<>INT(A7)),"作業日を確認",IF(NOT(ISNUMBER(D7)),"時間を確認",IF(OR(D7<0,D7>24),"時間を確認",IF(NOT(ISNUMBER(E7)),"単価未入力",IF(E7<0,"単価を確認","OK")))))))))

「工数明細」のF7へ次の式を入れます。F36までコピーしてください。 G列がOKの行を計算します。F7は12,000円。無料教材では1円未満を行ごとに四捨五入してから合計します。

=IF(G7="","",IF(G7<>"OK","要確認",ROUND(D7*E7,0)))

F36はD36・E36・G36を参照します。G36の案件範囲は$A$7:$A$16、担当者範囲は$A$7:$A$10のままです。日付やコードの登録先を広げた場合は、この固定範囲も広げてください。

案件ごとの不備行数と集計状態を先に作る

「案件集計」のI7へ次の式を入れます。I16までコピーしてください。 同じ案件IDの全明細からOKの明細を引き、不備の件数を出します。初期例は0です。

=IF(A7="","",COUNTIFS(工数明細!$B$7:$B$36,A7)-COUNTIFS(工数明細!$B$7:$B$36,A7,工数明細!$G$7:$G$36,"OK"))

「案件集計」のH7へ次の式を入れます。H16までコピーしてください。 案件と売上がそろい、1件以上の正常な明細があれば「記録分を集計」です。

=IF(COUNTA(A7:C7)=0,"",IF(OR(A7="",B7=""),"案件を確認",IF(COUNTIFS($A$7:$A$16,A7)<>1,"ID重複",IF(NOT(ISNUMBER(C7)),"売上を確認",IF(C7<0,"売上を確認",IF(I7>0,"明細を確認",IF(COUNTIFS(工数明細!$B$7:$B$36,A7,工数明細!$G$7:$G$36,"OK")=0,"未記録","記録分を集計")))))))

案件IDごとに時間・原価を合計し、差額を計算する

「案件集計」のD7へ次の式を入れます。D16までコピーしてください。 P01は11時間です。

=IF(A7="","",IF(H7<>"記録分を集計","",SUMIFS(工数明細!$D$7:$D$36,工数明細!$B$7:$B$36,A7,工数明細!$G$7:$G$36,"OK")))

「案件集計」のE7へ次の式を入れます。E16までコピーしてください。 P01は31,500円、P02は10,250円です。

=IF(A7="","",IF(H7<>"記録分を集計","",SUMIFS(工数明細!$F$7:$F$36,工数明細!$B$7:$B$36,A7,工数明細!$G$7:$G$36,"OK")))

SUMIFSの最初の範囲が合計対象です。その後に案件IDと入力確認の条件を並べます。条件範囲と合計範囲は、いずれも7〜36行でそろえています。

「案件集計」のF7へ次の式を入れます。F16までコピーしてください。 P01は90,000−31,500=58,500円です。

=IF(COUNT(C7,E7)<>2,"",C7-E7)

「案件集計」のG7へ次の式を入れます。G16までコピーしてください。 P01は65.0%です。売上0円の案件は、差額だけを表示し差額率は空欄にします。

=IF(COUNT(C7,F7)<>2,"",IF(C7=0,"",F7/C7))

所属先がない明細を含め、全件の不備を確認する

案件集計A4に「全明細の入力不備(件)」と書きます。案件ごとのI列だけでは、未登録IDの明細を見つけられないため、C4で明細全体を数えます。

「案件集計」のC4へ次の式を入れます。このセルだけに設定します。 明細30行から空欄行とOK行を引きます。初期例は0、案件IDをP99へ変えた明細が1行あれば1です。

=ROWS(工数明細!$G$7:$G$36)-COUNTBLANK(工数明細!$G$7:$G$36)-COUNTIFS(工数明細!$G$7:$G$36,"OK")

A18は「全案件の合計」です。H18へ次の式を入れます。入力不備がなく、登録した案件すべてに記録がある場合に合計を表示します。

「案件集計」のH18へ次の式を入れます。このセルだけに設定します。 未登録の案件IDや、売上の入力漏れがある場合も合計を保留します。

=IF(OR(C4>0,ROWS(H7:H16)-COUNTBLANK(H7:H16)-COUNTIFS(H7:H16,"記録分を集計")>0),"要確認",IF(COUNT(C7:C16)=0,"未登録","記録分を集計"))

「案件集計」のC18へ次の式を入れます。このセルだけに設定します。 売上合計は130,000円です。

=IF(H18<>"記録分を集計","",SUM(C7:C16))

「案件集計」のD18へ次の式を入れます。このセルだけに設定します。 記録時間の合計は14.50時間です。

=IF(H18<>"記録分を集計","",SUM(D7:D16))

「案件集計」のE18へ次の式を入れます。このセルだけに設定します。 原価合計は41,750円です。

=IF(H18<>"記録分を集計","",SUM(E7:E16))

「案件集計」のF18へ次の式を入れます。このセルだけに設定します。 差額合計は88,250円です。

=IF(COUNT(C18,E18)<>2,"",C18-E18)

「案件集計」のG18へ次の式を入れます。このセルだけに設定します。 全体の差額率は67.9%です。案件別の率を単純平均しません。

=IF(COUNT(C18,F18)<>2,"",IF(C18=0,"",F18/C18))

条件付き書式は、工数明細G7:G36の「OK以外の空欄でないセル」と案件集計C4の「0より大きい値」に設定すると、不備が見つけやすくなります。入力規則は明細B列を案件ID一覧、C列を担当コード一覧、D列を0〜24の小数、E列を0以上の小数にしてください。配布教材には設定済みです。

販売テンプレートで同じ原価を確認する手順

無料教材は、単価を確定して行に残す操作を小さな例で試す表です。継続的に予定工数との比較やメンバー別の稼働も見たい場合は、工数・案件管理 Excelテンプレートを使えます。販売版の入力場所は無料教材と異なります。

1. メンバーと案件を登録する

販売ファイルをコピーし「はじめに」を読みます。サンプルを置き換える場合は、「工数記録」のA7:F3006とJ7:J3006、「案件一覧」のA7:J306、「メンバー」のA7:E26の入力内容だけを消します。工数記録G:I列と案件一覧K:T列は数式なので残してください。実際に使うファイルの原本は別に保管します。

「メンバー」のA7へ青木、C7へ現在単価3500、A8へ森、C8へ2500を入力します。B列には役割、D列には月の稼働目標を設定します。「案件一覧」の7行目へP01のID、顧客名、案件名、担当者を登録し、E7へ税抜受注金額90000、F7へ予定工数を入れてください。この描画例では予定16時間です。開始日・納期・状態も案件に合わせます。

2. 工数記録のE列とJ列を入力する

「工数記録」の7〜10行へP01の4明細を入れます。A列は作業日、B列はメンバーの氏名、C列は案件ID、D列は作業区分、E列は時間です。J7:J10には3000、2500、3500、2500を数値で入力します。

販売版の工数記録A6:F12へ同じ6明細を入力した画面
販売中v1.2の入力欄。無料教材の担当コードではなく、メンバーの氏名を選びます。 画像を選ぶと拡大できます。
販売版の工数記録G6:J12。H列の原価とJ列の確定原価単価
J列へ確定単価を保存するとH列に原価が出ます。販売版の列幅・表示形式を保って描画しています。 画像を選ぶと拡大できます。

メンバーC7の現在単価を変えても、工数記録J7の3,000円とH7の12,000円は変わりません。適用単価を自動で転記・固定する機能ではなく、J列へ数値を入力して使う仕組みです。

3. 原価と「現時点の粗利」を確認する

「案件一覧」のK7が11時間、M7が31,500円、N7が58,500円なら、無料教材と同じ記録を集計できています。O7の粗利率は65%です。これは記録済み労務原価ベースの粗利で、外注費や残作業を含む最終採算ではありません。

端数の扱いは異なります。無料教材は各行を1円単位で四捨五入し、販売v1.2のH列は時間と確定単価の積を丸めずに集計します。小数の時間や単価を使う場合は、表示桁数を増やして端数も確認してください。この記事の例は各行が整数円になるため、どちらも同じ金額です。

J7を空欄にすると、工数記録H7と案件一覧M7・N7・O7に「単価未入力」と表示します。J7が0なら0円として計算します。未登録の案件IDは工数記録G列に「(未登録のID)」と出ますが、その行は既存案件の集計へ入りません。G列の警告を確認してIDを直してから採算を見てください。

販売版では案件別のSUMIFS、予定工数との比較、メンバー別の稼働集計を用意しています。無料教材で追加した全明細の不備件数C4や、同じ入力チェック式が販売版に備わるという意味ではありません。記録漏れや単価の妥当性は、担当者が確認します。

販売ページの対応環境はPC版Excel・Web版Excel・Googleスプレッドシートです。スマートフォン専用のレイアウトではありません。今回の作例検証で確認した環境は次の章に分けて記載しています。

予定工数・実績・労務原価をまとめて管理する

工数・案件管理 Excelテンプレートの画面例

時間を記録する表から作る場合は、工数管理表の予定と実績を集計する手順をご覧ください。受注前の予定時間は工数見積もりの無料作例で積み上げられます。売上と原価から率を計算する考え方は、粗利率の計算と全体の集計式でも説明しています。

作例の確認範囲と参考資料

無料教材は、入力を変えた20ケースで確認しました。単価改定後の過去行、空欄と0、未登録・重複コード、売上0、記録追加を含みます。別途、保存済みの計算値を消したコピーをLibreOfficeDevで再計算し、初期例と入力変更の結果を照合しています。配布ファイルは元の6明細へ戻した状態です。

販売v1.2も原本のコピーへ同じ例を入力し、確定単価と原価・粗利の関係を確認しました。Microsoft Excel実機・Web版Excel・Googleスプレッドシート・実印刷での今回の操作確認は未実施です。本文の表画像はファイルの描画例で、Excelアプリのスクリーンショットではありません。

数式と操作の仕様はMicrosoftのSUMIFS関数、COUNTIFS関数、貼り付けオプションを参照しました。

記事を検索

知りたい業務やExcelの使い方を探す

メニュー