エクセルの工数計算の関数まとめ|人日・人月・金額の式と見積・精算テンプレ

公開日:2026年9月29日更新日:2026年9月29日

エクセルの工数計算で使う単位と考え方

エクセルで工数を計算するときは、まず単位をそろえることが大切です。時刻(9:00など)と、時間の数値(8.5など)と、人日・人月は、それぞれ別の単位として扱います。

工数とは、ある仕事にかかる作業の量を「人数×時間」で表したもののことです。単位には次の3つがあります。

単位意味この記事の前提
人時(にんじ)1人が1時間でする作業量―
人日(にんにち)1人が1日でする作業量1人日=8時間
人月(にんげつ)1人が1か月でする作業量1人月=20人日=160時間

1人日を8時間とするのは、労働基準法第32条の「1日8時間」に合わせた、よく使われる前提です。ただし、1人月を何時間とするかは会社や契約によって違います。客先と換算の前提をそろえる方法は、工数の人日・人月の計算方法でくわしく解説しています。

エクセルの時刻は「1日=1」の数値

エクセルでは、時刻をシリアル値という数値で持っています。シリアル値とは、1日を「1」として日付や時刻を表す数値のことです。

  • 24:00(1日)=1

  • 12:00(半日)=0.5

  • 1:00(1時間)=1÷24=約0.0417

このしくみがわかると、「時刻に24をかけると時間の数値になる」理由がわかります。

時刻を足し算・引き算する関数

1日の稼働時間は「終了時刻−開始時刻−休憩時間」の引き算で出し、1か月の合計はSUM関数で足します。合計のセルは表示形式を[h]:mmにするのが最大のポイントです。

以下では、A列に日付、B列に開始時刻、C列に終了時刻、D列に休憩時間を入れる形で説明します。

1日の稼働時間を出す

例文・テンプレート
E2:=C2-B2-D2

例:開始9:00、終了18:30、休憩1:00なら、8:30になります。

日付をまたぐ夜間作業(22:00〜翌6:00など)の場合は、次の式を使います。

例文・テンプレート
E2:=MOD(C2-B2,1)-D2

MOD関数は、割り算の余りを出す関数です。終了が開始より小さくなってもマイナスにならず、正しい時間が出ます。

1か月の合計を出す

例文・テンプレート
E32:=SUM(E2:E31)

合計のセルは、表示形式を次のように変えます。

  1. 合計のセルを右クリックし、「セルの書式設定」を開く

  2. 「表示形式」→「ユーザー定義」を選ぶ

  3. 種類の欄に[h]:mmと入れて、OKを押す

[h]の角かっこがないと、24時間を超えた分が切り捨てられます。たとえば合計165時間30分が「21:30」と表示されてしまいます。Microsoftのサポートページでも、24時間を超える合計には[h]:mmの形式を使うよう説明しています。

時刻を「時間の数値」に変える関数

時刻を人日や金額の計算に使うには、時刻に24をかけて、8.5のような時間の数値に変えます。表示形式は「標準」または「数値」にします。

例文・テンプレート
F2:=E2*24

例:8:30なら8.5になります。

計算の誤差で8.4999999のようになることがあるため、次のように小数第2位で丸めておくと安心です。

例文・テンプレート
F2:=ROUND(E2*24,2)

15分単位・30分単位で切り捨てる

精算の契約で「15分単位」と決まっている場合は、次の式で切り捨てます。1日は96個の15分でできているので、96をかけて切り捨て、4で割ります。

例文・テンプレート
15分単位で切り捨て:=ROUNDDOWN(ROUND(E2*96,4),0)/4
30分単位で切り捨て:=ROUNDDOWN(ROUND(E2*48,4),0)/2

例:8:50なら、15分単位で8.75時間、30分単位で8.5時間になります。

ROUNDDOWN関数は、指定した桁で切り捨てる関数です。内側のROUNDは、先ほどの計算の誤差を消すために入れています。

人日・人月に換算する関数

時間の数値が出たら、人日は8で割り、人月は160で割ります。前提の時間はセルに入れておき、式ではそのセルを参照すると、前提が変わっても直すのが1か所で済みます。

たとえば、H1に「1人日の時間(8)」、H2に「1人月の人日(20)」を入れておきます。

例文・テンプレート
人日:=F32/$H$1
人月:=F32/($H$1*$H$2)
人日から人月:=G32/$H$2

例:1か月の合計が165.5時間なら、人日は約20.69人日、人月は約1.03人月です。

表示する桁をそろえたいときは、ROUNDを使います。

例文・テンプレート
人月(小数第2位まで):=ROUND(F32/($H$1*$H$2),2)

$記号は、式をコピーしても参照するセルがずれないようにする印です。前提のセルには必ず付けましょう。

担当者ごと・案件ごとに合計する

1つの表に何人分も入れている場合は、SUMIFS関数で人ごと・案件ごとに合計します。SUMIFS関数とは、条件に合う行だけを合計する関数のことです。

例文・テンプレート
山田さんの合計時間:=SUMIFS(F:F,J:J,"山田")
山田さんの10月の合計:=SUMIFS(F:F,J:J,"山田",A:A,">="&DATE(2026,10,1),A:A,"<="&DATE(2026,10,31))

J列に担当者名、A列に日付が入っている前提です。

人や案件が多いときは、ピボットテーブルも便利です。ピボットテーブルとは、表のデータを行と列に並べ替えて、自動で合計するエクセルの機能のことです。「挿入」→「ピボットテーブル」を選び、行に担当者、列に月、値に時間を置くと、人ごと・月ごとの合計が一度に出ます。

月の営業日と所定時間を出す関数

月の営業日はNETWORKDAYS関数で出せます。NETWORKDAYS関数とは、開始日から終了日までのうち、土日と指定した祝日を除いた日数を数える関数のことです。

例文・テンプレート
営業日:=NETWORKDAYS(DATE(2026,10,1),EOMONTH(DATE(2026,10,1),0),祝日!A:A)
所定時間:=NETWORKDAYS(DATE(2026,10,1),EOMONTH(DATE(2026,10,1),0),祝日!A:A)*8

EOMONTH関数は、その月の最後の日を出す関数です。「祝日」という名前のシートのA列に、内閣府が公表している国民の祝日を入れておきます。

2026年10月は、土日と10月12日(スポーツの日)を除くと(2026年9月に内閣府の祝日一覧で確認)21営業日です。所定時間は21×8=168時間になります。

営業日は月によって変わります。土日と国民の祝日を除くと、2026年は2月と5月が18日、12月が23日です。月の所定時間を毎回手で数えずに、NETWORKDAYSで出すようにすると間違いが減ります。

単価×人月で金額を出す関数

見積や請求の金額は、「単価×工数」で出します。月額単価なら人月を、人日単価なら人日をかけます。単価の目安はSESの単価相場(職種・スキル別)で確認できます。

計算したいこと式の例計算例
月額単価×人月=B2*C260万円×6人月=360万円
人日単価×人日=B3*C33万円×40人日=120万円
月額から人日単価=ROUNDDOWN(B2/20,0)60万円÷20=3万円
月額から時間単価=ROUNDDOWN(B2/160,0)60万円÷160=3,750円

見積では、「人数×期間」で工数を出してから単価をかけます。

例文・テンプレート
工数(人月):=人数*期間(か月)
金額:=工数*月額単価

例:エンジニア3名で2か月なら6人月です。月額60万円なら、見積金額は360万円(税抜)になります。

精算幅の控除・超過を自動で出す関数

SESの月末の精算は、IF関数とROUNDDOWN関数を組み合わせると自動で計算できます。精算幅とは、月額単価のまま請求できる稼働時間の範囲(例:140〜180時間)のことです。

次のセルに条件を入れる前提で説明します。

  • B1:月額単価(例:600000)

  • B2:下限時間(例:140)

  • B3:上限時間(例:180)

  • B4:その月の稼働時間(例:130)

上下割の式

上下割とは、控除は「月額÷下限」、超過は「月額÷上限」で時間単価を出す方法のことです。

例文・テンプレート
精算額:=IF(B4<B2,-ROUNDDOWN(B1/B2,0)*(B2-B4),IF(B4>B3,ROUNDDOWN(B1/B3,0)*(B4-B3),0))
請求額:=B1+精算額のセル

中間割の式

中間割とは、控除も超過も「月額÷(下限と上限の真ん中)」で時間単価を出す方法のことです。

例文・テンプレート
精算額:=IF(B4<B2,-ROUNDDOWN(B1/((B2+B3)/2),0)*(B2-B4),IF(B4>B3,ROUNDDOWN(B1/((B2+B3)/2),0)*(B4-B3),0))

計算結果の例

稼働時間上下割の精算額中間割の精算額
130時間−42,850円−37,500円
160時間0円0円
190時間+33,330円+37,500円

端数を切り捨てる位置は、契約によって違います。「時間単価で切り捨てる」のか「精算額で切り捨てる」のかを契約書で確認し、式を合わせましょう。精算幅の決め方は、SESの稼働時間の上限・下限の決め方で解説しています。

SES営業向け:見積・精算テンプレの作り方

ここまでの式を、3つのシートに分けて1つのファイルにまとめると、見積と月末の精算の両方に使えます。

シート1:稼働記録(エンジニアが入力)

列中身式
A〜D日付・開始・終了・休憩手で入力
E実働(時刻)=C2-B2-D2
F実働(時間)=ROUND(E2*24,2)
G精算用(15分切り捨て)=ROUNDDOWN(ROUND(E2*96,4),0)/4

シート2:精算(営業が確認)

  1. 案件名・月額単価・下限・上限・割り方を入れる

  2. 稼働時間の欄に、シート1のG列の合計=SUM(稼働記録!G2:G32)を入れる

  3. 精算額の欄に、上下割または中間割の式を入れる

  4. 請求額の欄に=月額単価+精算額を入れる

  5. 下限まで8時間を切ったら色がつくよう、条件付き書式を設定する

シート3:見積(提案時に使う)

工程人数期間(か月)人月
設計21=B2*C2
開発32=B3*C3
テスト21=B4*C4
合計――=SUM(D2:D4)

合計の人月(この例では10人月)に月額単価をかけると、見積金額になります。

→ 稼働報告書のテンプレート / SESの請求書テンプレートと精算の記載例 / SESの案件・人材管理をExcelで無料で行う方法

案件の条件を別シートから引く関数(XLOOKUP・入力規則)

案件の単価や精算幅は、「案件マスタ」にまとめてXLOOKUPで引くと転記ミスがなくなります。案件マスタとは、案件名・単価・下限・上限・割り方など、変わりにくい条件を1か所にまとめた表のことです。

案件マスタの形

列中身例
A案件名〇〇銀行 勘定系
B月額単価600000
C下限時間140
D上限時間180
E割り方上下割

条件を引いてくる式

例文・テンプレート
月額単価:=XLOOKUP($A2,案件マスタ!A:A,案件マスタ!B:B,"未登録")
下限時間:=XLOOKUP($A2,案件マスタ!A:A,案件マスタ!C:C,"未登録")

XLOOKUP関数とは、指定した値を表から探し、同じ行の別の列の値を返す関数のことです。Microsoft 365とExcel 2021以降で使えます。古いExcelでは=VLOOKUP($A2,案件マスタ!A:E,2,FALSE)で同じことができます。

案件名の入力をプルダウンにする

案件名を手で打つと、表記ゆれでXLOOKUPが見つけられません。入力規則のプルダウンにしておきましょう。

  1. 精算シートの案件名の列を選ぶ

  2. 「データ」→「データの入力規則」を開く

  3. 「入力値の種類」を「リスト」にする

  4. 「元の値」に=案件マスタ!$A$2:$A$100と入れて、OKを押す

営業の視点では、条件を1か所で直せば全シートに反映されることが一番の利点です。単価交渉で単価が変わっても、案件マスタの1セルを直すだけで済みます。

工数計算でよくあるミスと直し方

エクセルの工数計算で多いミスは、次の5つです。どれも式を1か所直せば解決します。

ミス原因直し方
合計が24時間より少ない表示形式がh:mm[h]:mmに変える
「#####」と表示される時刻の答えがマイナス夜間作業はMODを使う
金額が1円ずれる時刻の計算の誤差ROUNDで丸めてから計算
時間×単価が小さすぎる時刻のまま単価をかけた先に24をかけて時間の数値にする

5つ目は、前提の数字を式に直接書いてしまうミスです。=F32/8のように書くと、1人日を7.5時間にしたいときに全部の式を直すことになります。前提は必ずセルに入れて参照しましょう。

エクセルとツールの使い分け

エクセルは無料で自由に作れる一方、人数や案件が増えるほど、入力と確認の手間が増えます。工数の計算はエクセルで十分でも、計算に使う「案件の条件」の管理はツールのほうが向いています。

比べることエクセル管理ツール
始めやすさすぐ使える登録や設定が必要
式の自由度高いツールの機能による
複数人での共有ファイルの取り合いになりやすい同時に見られる
条件の探しやすさファイルを探す必要がある検索で見つかる

エクセルから管理ツールに移る目安は、SES案件管理ツールの比較ポイント|Excelから移る基準5つでまとめています。

チョータツで案件の条件を管理し、計算の手間を減らす

工数の計算はエクセルのままでかまいません。単価・精算幅などの案件の条件をチョータツで管理すると、計算に使う数字を探す時間が減ります。

チョータツとは、SES営業の案件・人材の情報を管理・共有できるツールのことです。3,000社以上が利用しており、無料で始められます。

場面自分でやる場合チョータツを使う場合
単価や精算幅を確認する注文書やメールを探すチョータツの案件情報で確認
案件メールを整理する1通ずつ読んで仕分けチョータツメールAIが案件メールと人材メールに切り分け
チームで条件を共有するExcelファイルを回すチョータツで管理・共有

チョータツメールAIは、届いたメールをAIが処理し、案件メールと人材メールに切り分ける機能です。転送設定で取り込め、案件・人材以外のメールはデータに残りません。

こんな会社に向いています

  • 見積や精算の前に、単価や精算幅を毎回探している

  • Excelのファイルが営業ごとに分かれ、どれが最新かわからない

  • 案件メールが多く、条件の書かれたメールを見失うことがある

よくある質問

Q. エクセルで時間を人日に変えるには、どんな式を使いますか?
時刻なら=E2*24/8、時間の数値なら=F2/8です。1人日を8時間とする前提の式です。前提はセルに入れて参照すると、あとで変えやすくなります。
Q. 人月をエクセルで計算するには?
時間から出すなら=時間/160、人日から出すなら=人日/20です。見積なら=人数*期間(か月)で人月を出し、月額単価をかけます。
Q. 時間の合計が合わないのはなぜですか?
表示形式がh:mmのままだと、24時間を超えた分が表示されません。合計のセルを[h]:mmに変えると正しく表示されます。
Q. 工数計算のエクセルのテンプレートはありますか?
この記事の「見積・精算テンプレの作り方」の表と式を、そのまま空のファイルに入れれば作れます。稼働記録・精算・見積の3シートに分けるのがおすすめです。
Q. 15分単位で切り捨てるには?
式は=ROUNDDOWN(ROUND(E2*96,4),0)/4です。15分単位で切り捨てた時間の数値が出ます。30分単位なら96を48に、4を2に変えます。
Q. エクセルと工数計算ツールは、どちらがいいですか?
数名の管理ならエクセルで十分です。人数や案件が増えて、ファイルの共有や条件の確認に時間がかかるようになったら、ツールへの移行を考えましょう。

まとめ

  • エクセルの工数計算は「時刻の差→時間の数値→人日・人月→金額」の4段で組む

  • 時刻の合計はSUMで出し、表示形式を[h]:mmにする

  • 時刻に24をかけると時間の数値。人日は÷8、人月は÷160(前提はセルに入れる)

  • 営業日はNETWORKDAYS、人ごとの合計はSUMIFSで出す

  • 精算幅の控除・超過はIFとROUNDDOWNで自動計算できる

  • 稼働記録・精算・見積の3シートに分けると、見積と月末の精算の両方に使える

この記事は一般的な情報をまとめたもので、法的な助言ではありません。労働時間や精算の扱いは、個別の契約書と専門家への相談で確認してください。

運営:チョータツ(株式会社DrivenX)|編集方針|公開日:2026年9月29日|更新日:2026年9月29日

参考資料

関連する記事