エクセルの工数計算の関数まとめ|人日・人月・金額の式と見積・精算テンプレ
公開日: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)
合計のセルは、表示形式を次のように変えます。
合計のセルを右クリックし、「セルの書式設定」を開く
「表示形式」→「ユーザー定義」を選ぶ
種類の欄に
[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*C2 | 60万円×6人月=360万円 |
| 人日単価×人日 | =B3*C3 | 3万円×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のG列の合計
=SUM(稼働記録!G2:G32)を入れる精算額の欄に、上下割または中間割の式を入れる
請求額の欄に
=月額単価+精算額を入れる下限まで8時間を切ったら色がつくよう、条件付き書式を設定する
シート3:見積(提案時に使う)
| 工程 | 人数 | 期間(か月) | 人月 |
|---|---|---|---|
| 設計 | 2 | 1 | =B2*C2 |
| 開発 | 3 | 2 | =B3*C3 |
| テスト | 2 | 1 | =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が見つけられません。入力規則のプルダウンにしておきましょう。
精算シートの案件名の列を選ぶ
「データ」→「データの入力規則」を開く
「入力値の種類」を「リスト」にする
「元の値」に
=案件マスタ!$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日
参考資料
Microsoft サポート「Excel で時間を加算または減算する」(24時間を超える合計の表示形式)
Microsoft サポート「NETWORKDAYS 関数」
Microsoft サポート「SUMIFS 関数」
Microsoft サポート「XLOOKUP 関数」
Microsoft サポート「ROUNDDOWN 関数」
内閣府「国民の祝日について」(2026年の祝日)
e-Gov法令検索「労働基準法」(第32条 労働時間)