FTE人員換算計算機
週40時間のアナ、20時間のベン、30時間のカーラは、週40時間を基準にすると3人ではなく2.25 FTEです。一人ひとりの換算値が名前付きで並ぶので、予算と人員表を合わせやすくなります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
人数だけのヘッドカウントでは、パート・短縮勤務・フルタイムが同じ名簿に並ぶとき、実際に買う労働量が分かりません。財務と人事は、各人の予定週労働時間を標準フルタイム週(多くは40時間、地域や方針により35時間や37.5時間)で重み付けした単一のフルタイム換算値が必要です。このFTE人員換算計算機は、週労働時間付きの各スタッフ行を受け取り、指定の標準フルタイム週で割り、分数を合計して、予算モデル・組織図・人員報告が同じ言葉で話せるようにします。コントローラーは20時間と40時間の役割が1本のFTE行に収まるかを確認するときに使います。現場責任者はFTE上限に対する採用承認の前に使います。
週労働時間がフルタイム換算人員になる仕組み
フルタイム換算(FTE)は、混在シフトを人員に近い1つの合計へ変換する古典的な労働指標です。各人について、典型的な1週間の契約またはシフト予定の週労働時間を入力します(意図的にモデル化する場合を除き、例外的な残業や単発欠勤ではありません)。エンジンはその週労働時間を、選択した標準フルタイム週で割ります。
40時間の人は40時間基準で1 FTE、20時間は0.5、30時間は0.75を寄与します。計算機は福利厚生の適格規則、残業係数、按分給与式を作りません。財務と人事が方針を算術の外で議論できるよう、入力した時間と基準を信頼します。
FTE人員換算計算機が本領を発揮する場面
財務コントローラーは、部門が5 FTE予算に対し6名を提示し、本当の論点がバッジ数ではなく予定時間であるときにFTE人員換算計算機を開きます。人事ビジネスパートナーは、人員凍結・再編・シェアードサービス振替の前に、パートとフルタイム混在名簿を合計FTEへ変換します。
小売・医療のオペレーションは、拠点固有のフルタイム週に対するシフト週労働時間を入力し、店舗や病棟のカバレッジをモデル化します。検証失敗は残高を消費しません。
活用例
混在シフト名簿と予算の照合
コントローラーは40時間基準で各人の週労働時間を入力し、6名が5 FTEの予算行に収まるかを確認します。
人事の人員凍結と再編
人事パートナーは、凍結・シェアードサービス振替・組織再設計の前に、パートとフルタイムを合計FTEへ変換します。
店舗・病棟のカバレッジ計画
オペレーション責任者はシフト週労働時間からFTEを合計し、バッジを全員フルタイム扱いせずに労働予算とカバレッジを合わせます。
よくある質問
既定のフルタイム週は何時間ですか?
方針が別のフルタイム週なら 35、37.5、または168までの正の値に上書きしてください。
週労働時間は0でもよいですか?
はい。 0時間は0 FTEを寄与し、無給休暇や名簿上の欠員を行を消さずにモデル化するのに役立ちます。
パートタイムのFTEはどう計算しますか?
各人の予定週労働時間をフルタイムの週時間で割り、その結果を合計します。40時間基準なら20時間は0.5、30時間は0.75となり、アナ、ベン、カーラの合計は2.25です。
フルタイムを週35時間や37.5時間にできますか?
はい。地域や社内規定に合わせて、35、37.5、40時間などを基準に設定できます。168以下の正の値なら使え、各人の換算値はその基準で計算し直されます。
人数とFTE合計が違うのはなぜですか?
人数は名簿の人の数で、FTEは各人を予定労働時間で重み付けした値だからです。アナ、ベン、カーラは3人ですが2.25 FTEで、予算の上限と比べるときはこの差が重要です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/biz/fte-headcount \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"staff":[{"name":"Ana","weekly_hours":40},{"name":"Ben","weekly_hours":20},{"name":"Cara","weekly_hours":30}]}'const res = await fetch("https://api.kit.forhosting.com/biz/fte-headcount", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"staff": [
{
"name": "Ana",
"weekly_hours": 40
},
{
"name": "Ben",
"weekly_hours": 20
},
{
"name": "Cara",
"weekly_hours": 30
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/fte-headcount",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"staff": [
{
"name": "Ana",
"weekly_hours": 40
},
{
"name": "Ben",
"weekly_hours": 20
},
{
"name": "Cara",
"weekly_hours": 30
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/fte-headcount", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"staff":[{"name":"Ana","weekly_hours":40},{"name":"Ben","weekly_hours":20},{"name":"Cara","weekly_hours":30}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"staff":[{"name":"Ana","weekly_hours":40},{"name":"Ben","weekly_hours":20},{"name":"Cara","weekly_hours":30}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/fte-headcount", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"staff": [
{
"name": "Ana",
"weekly_hours": 40
},
{
"name": "Ben",
"weekly_hours": 20
},
{
"name": "Cara",
"weekly_hours": 30
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.fte_headcount",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
週労働時間がフルタイム換算人員になる仕組み
フィールドを省略すると既定は40時間です。合計FTEは各人FTEの和であり、staff_countは名簿上の人数、total_weekly_hoursは除算前の予定時間の合計です。この区別は重要です。 6人でも半分が半日勤務なら人員6でもFTEは4.5になり得ます。
入力契約・応答フィールド・検証エラー
staffは1〜100件の空でないオブジェクト配列でなければなりません。任意の name は給与メモ、PDFエクスポート、組織図サイドバー用の内訳ラベルです。必須配列1つと任意ノブ2つのJSON本文をPOSTします。各オブジェクトは weekly_hours を0以上168以下の有限数として要求し、0時間の休職行も実在の週長を超えずに表現できます。配列には people、employees、team、roster のエイリアスが使え、フォーム構築側の馴染みの名前を保てます。standard_hours はフルタイム分母を設定する任意の正の有限数(最大168)で、既定は40、エイリアスは full_time_hours、fte_hours、baseline_hours、fulltime_week です。decimals はFTEと時間フィールドの half-up 丸め桁(0〜6の整数、既定4)で、予算行に十分な部分FTE精度を保ちます。成功時は staff_count、standard_hours、total_weekly_hours、total_fte、各行の fte(weekly_hours / standard_hours)を含む staff 配列、および恒等式を述べる formula 文字列を返します。任意の name は指定した場合のみ行に含まれ、省略した任意フィールドは null になりません。staff欠落、非配列、空リスト、100行超、weekly_hours欠落、非有限数、負の時間、168超、非正の standard_hours、0〜6外の decimals は invalid_input で問題を示して失敗します。これらの検証失敗は課金されません。金額コストが必要なら total_fte をご自身のコストモデルと組み合わせてください。本エンドポイントはFTEと時間の集計のみを返します。
FTE人員換算計算機が本領を発揮する場面
FTE人員換算計算機で順位を狙うコンテンツサイトは、単発確認に登録不要のライブツールを得られ、自動化クライアントはモデルトークンも外向きネットワークもなく、成功コールごとに公開の基準価格 $0.002 を支払います。
技術的な質問
週労働時間からFTEはどう計算されますか?
各人のFTEは weekly_hours を standard_hours(既定40)で割った値です。total_fte は各FTEの合計、staff_count は名簿上の人数です。
staff_count と total_fte の違いは何ですか?
staff_count は生の人数です。total_fte は時間で重み付けするため、半日勤務2人は約1.0 FTEであり2.0ではありません。
FTE人員換算計算機の料金は?
ブラウザツールは無料です。APIは成功コールごとに前払いKIT残高から $0.002、無効入力は課金されません。