人数と作業時間から人時工数を求める計算ツール
人時工数計算ツールは、要員計画を比較しやすい労力の数値に変換します。人数と各人の予定作業時間を入力すると、総人時が算出されます。時間単価を追加すれば、人件費の概算も確認できます。プロジェクト管理者、コンサルタント、運用担当者が、経過時間とチーム全体の投入工数を混同せず、複数の要員案を比較する際に役立ちます。
無料で実行
要員計画から総工数を求めます
人時は労力を表す指標であり、暦上の所要時間ではありません。6人がそれぞれ37.5時間働く場合、投入工数は225人時です。ただし、作業が37.5時間で完了するとは限りません。調整、依存関係、専門家の稼働状況、並行できない工程が日程に影響します。正の整数で人数を、0以上の数値で1人当たりの時間を入力してください。本ツールは両者を乗算して総工数を返します。見積もりでは同じ期間単位をお使いください。時間が1週間分なら結果も1週間分、工程全体なら結果もその工程全体を示します。一貫した基準により、週次、月次、全期間の値を誤って混在させずに案を比較できます。7.5や37.5のような小数時間も、分へ変換せず入力できます。
同じ前提で人件費を概算します
時間単価を入力すると、総人時との積から人件費を算出します。単価は賃金、社内の総コスト、委託料金、請求単価などを表せますが、見積もり全体で意味を統一してください。通貨換算は行いません。円、ドル、ユーロなど、入力した単価と同じ通貨で結果が示されます。役割が未確定の初期予算には平均単価が便利です。職種ごとの単価が大きく異なる場合は、グループ別に計算して合計すると精度が上がります。税、福利厚生、機材、旅費、管理費、予備費、利益が単価に含まれない場合もあります。目的に必要な項目だけを単価へ含め、その定義を記録してください。この費用は透明な算術上の概算であり、最終的な請求額や給与額を保証するものではありません。
人時を日程と取り違えずに活用します
人時は、作業範囲の比較、消費工数の追跡、労務予算の妥当性確認に適していますが、完了日の直接予測には向きません。4人を8人に増やしても、教育、連絡、レビュー、共有設備、直列工程のため、期間が必ず半分になるわけではありません。まず範囲を定義し、選んだ期間に1人が提供する時間を見積もって総工数を計算します。次に、依存関係、営業日、稼働可能性、他業務の割当を考慮して日程へ配置してください。進捗管理では、同じ節目の計画人時と実績人時を比較します。勤務時間が異なる場合は、同じ時間のグループに分けて個別に計算し、最後に合計してください。結果には人数、対象期間、含めた作業、時間単価の意味を併記すると、後からでも前提を確認できます。
活用例
プロジェクト工数を見積もる
チーム人数と各参加者の予定時間を、対象範囲や工程の単一の工数値へ変換します。
要員案を比較する
依存関係や調整負担を考慮する前に、同じ期間基準で複数の編成を評価します。
初期予算を作成する
総人時に平均時間単価を適用し、人件費の根拠が明確な概算を作成します。
よくある質問
人時はどのように計算しますか?
人数に1人当たりの作業時間を掛けます。6人が各37.5時間働く場合は225人時です。
人時と経過時間は同じですか?
同じではありません。人時は合計労力、経過時間は暦上の長さです。並行作業や依存関係によって両者の関係が決まります。
小数の時間を入力できますか?
はい。1人当たりの時間には7.5や37.5など、0以上の小数を入力できます。
任意の時間単価には何を含めますか?
賃金、社内総コスト、委託料金、請求単価など、目的に合わせて定義してください。除外費用も記録することを推奨します。
APIリクエストの料金はいくらですか?
APIリクエストは1回$0.002です。計算をサーバーへ送信せず、ブラウザ内で実行することもできます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/biz/person-hours-effort \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"people":6,"hours_per_person":37.5}'const res = await fetch("https://api.kit.forhosting.com/biz/person-hours-effort", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"people": 6,
"hours_per_person": 37.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/person-hours-effort",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"people": 6,
"hours_per_person": 37.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/person-hours-effort", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"people":6,"hours_per_person":37.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"people":6,"hours_per_person":37.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/person-hours-effort", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"people": 6,
"hours_per_person": 37.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.person_hours_effort",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |