コールセンターのAHT(平均処理時間)を担当者別・曜日別に管理していると、前日比(増減率)をすぐ出したいのに、列ごとに数式を作り直して手間が増えがちです。本記事では、Excelで日次AHTの増減率を自動計算する方法と、#DIV/0!・-100%・#SPILL!の対処を実務目線で解説します。
日次AHTの「増減率(前日比%)」を正しく定義する
まず、前日比(増減率)の基本は次のとおりです。
- 前日比(%)=(今日のAHT − 昨日のAHT) ÷ 昨日のAHT
- 改善(短縮)するとマイナス、悪化(延長)するとプラスになります。
| 項目 | 意味 | 例(昨日=300秒、今日=330秒) |
|---|---|---|
| 差(秒) | 今日−昨日の絶対差 | +30秒 |
| 増減率(%) | 差÷昨日(相対差) | +10% |
AHTが「時間形式(mm:ss)」で入っている場合の注意
AHTが「300」のような秒数ではなく、「0:05:00(5分)」のような時間形式で入力されていても、前日比の計算自体は可能です。ただし、結果は小数(比率)なので、表示形式をパーセンテージにしないと意図した見え方になりません。
- AHT列:時間形式(例:
0:05:00)でもOK - 前日比列:パーセンテージ表示(小数点1〜2桁)にするのがおすすめ
最も簡単で壊れにくい方法:相対参照を1つ作って右・下にコピー
「列ごとに式を作り直す」のではなく、“1セルだけ”作ってコピーすれば、曜日ごとに自動調整されます。これはExcelの相対参照が得意とする王道パターンです。
前提(例)
| 列 | 内容 | 備考 |
|---|---|---|
| G | 月曜AHT | 担当者別のAHT |
| H〜K | 火〜金AHT | 横方向に曜日が並ぶ |
| M〜P | 火〜金の前日比(%) | 出力先 |
火曜の前日比(M2)に、まず1つだけ式を入れる
=(H2 - G2) / G2
これで「(火曜−月曜)÷月曜」が計算されます。前日比列の表示形式をパーセンテージに変更してください。
右方向・下方向にコピーする
- 右にコピーすると、参照が自動でずれていきます
- 下にコピーすると、担当者行(3行目、4行目…)にも適用されます
| セル | 比較 | コピー後に自動調整される式(例) |
|---|---|---|
| M2 | 火 vs 月 | =(H2-G2)/G2 |
| N2 | 水 vs 火 | =(I2-H2)/H2 |
| O2 | 木 vs 水 | =(J2-I2)/I2 |
| P2 | 金 vs 木 | =(K2-J2)/J2 |
ポイント:数式は「最初の1つ」だけ。あとはコピーで完成します。月次でデータが増えても、運用が変わりません。
#DIV/0!を出さない実務テンプレート:0/空白をどう扱うか決める
前日(分母)が0、または空白だと、前日比は計算できません。そのときに出る代表的なエラーが#DIV/0!です。エラーを「消す」のではなく、どう表示するか(空白/0%/N/A)を運用で決めると、後工程(集計・グラフ)まできれいに回ります。
| 状況 | おすすめ表示 | 狙い |
|---|---|---|
| 前日が空白(未計測) | 空白 | 欠損を欠損のまま扱う |
| 前日が0(ゼロ処理) | 空白 or 0%(運用次第) | 意味のない割り算を避ける |
| グラフに出したくない | #N/A(NA関数) | 折れ線を途切れさせる |
空白で返す(いちばん使われる)
=IFERROR((H2 - G2) / G2, "")
前日が0/空白なら空白、それ以外は計算(意図が明確)
=IF(OR(G2="", G2=0), "", (H2 - G2) / G2)
グラフ用:計算できない日は #N/A にする(線が途切れる)
=IF(OR(G2="", G2=0), NA(), (H2 - G2) / G2)
運用上「0が入る可能性がある」場合は、IFERRORだけに頼らず、前日が0/空白かを条件に入れると、意図しない0%表示や、欠損の見落としを防げます。
Excel 365なら1セルで火〜金を一括計算:動的配列(スピル)
Excel 365 / Excel for the Web など動的配列対応なら、横方向の前日比を1つの数式でまとめて出せます。曜日列が横に並ぶAHT管理と相性が良い方法です。
1行だけまとめて出す(M2に入力 → M2:P2へ自動展開)
月〜金が G2:K2 に並んでいる想定で、火〜金の前日比は次で出せます。
=IFERROR((H2:K2 - G2:J2) / G2:J2, "")
H2:K2:火〜金(今日側)G2:J2:月〜木(昨日側)- EnterでM2:P2にスピルします
- あとはM2を下へコピーすれば、担当者行にも反映
「列が増減する」表なら、DROP/TAKEでより堅牢に
曜日列が増える(祝日枠・土日枠を足す、週次で列数が変わる)可能性があるなら、範囲の左右を2回書く式より、DROP/TAKEで「先頭列を落として前日比」を作る方が保守しやすいです。
=LET(r, G2:K2,
IFERROR(
(DROP(r,,1) - TAKE(r,,COLUMNS(r)-1)) / TAKE(r,,COLUMNS(r)-1),
""
)
)
rに「月〜金のAHT」をまとめて入れるDROP(r,,1)で先頭(月曜)を落として「火〜金」TAKE(r,,COLUMNS(r)-1)で末尾(金曜)を落として「月〜木」- 結果は「火〜金の前日比」だけが横に並びます
この形にしておくと、将来「月〜土」になっても、G2:L2 のように範囲を伸ばすだけで済みます。
担当者全員分を1つの式で出す:複数行×複数列のスピル
「行ごとに式をコピー」すら不要にしたい場合は、2次元で一気にスピルさせます。出力範囲(例:M3:P100など)に何も入っていないことが前提です。
範囲が固定なら、そのまま2D配列で計算できる
=IFERROR((H3:K100 - G3:J100) / G3:J100, "")
これを例えば M3 に入れると、M3:P100 に一括展開されます。
列数が変わる可能性があるなら LET + DROP/TAKE を2Dで
=LET(r, G3:K100,
IFERROR(
(DROP(r,,1) - TAKE(r,,COLUMNS(r)-1)) / TAKE(r,,COLUMNS(r)-1),
""
)
)
実務では「担当者が増える」「行が伸びる」「列が伸びる」が同時に起こりがちなので、出力場所は別シート(計算用)に分けると、#SPILL!の事故が減ります。
MAP + LAMBDAで「ルール込み」の前日比を定義する(上級・再利用向け)
Excel 365限定ですが、MAP と LAMBDA を使うと、「計算ルール」を式の中に明示できます。たとえば「前日が空白/0なら空白」「今日が空白なら空白」など、実務要件を自然に盛り込めます。
複数行をまとめて、前日比をスピル(例:M3:P8へ)
=MAP(H3:K8, G3:J8,
LAMBDA(today, prev,
IF(OR(prev="", prev=0, today=""), "", (today - prev) / prev)
)
)
- 「前日が0なら空白」などの条件を、1か所で統一できます
- チームで運用するときに「人によって条件が違う」を防ぎやすいです
さらに、LETで範囲やルールを名前化しておくと、「どの列がどの曜日か」「欠損をどう扱うか」が読みやすくなり、引き継ぎ時の事故が減ります。
テーブル(Ctrl + T)で行追加に強い表にする:構造化参照のメリット
AHT表をテーブル化しておくと、行が増えても式が自動で埋まり、参照も列名で読めるようになります。日々更新する運用なら、まずテーブル化を検討する価値があります。
やり方(基本)
- 月〜金のAHT範囲を選択
- Ctrl + T(または「挿入」→「テーブル」)でテーブル化
- ヘッダーを「月曜」「火曜」…のように分かりやすくする
- 右側に「火曜 前日比」「水曜 前日比」…列を追加
例:火曜 前日比(列の最初のセルに入力)
=IF(OR([@月曜]="", [@月曜]=0), "", ([@火曜] - [@月曜]) / [@月曜])
テーブルでは、列の先頭に式を入れるとその列全体に自動適用されます(担当者が増えても保守が楽)。
テーブル運用での注意
- スピル(動的配列)の出力は、テーブル内だと制約が出て#SPILL!になりやすいことがあります
- 「テーブル内は1行1セル計算」「スピルはテーブル外(計算用シート)」に分けると安定します
ピボットテーブルで前日比を自動計算する:元データが縦持ちなら最強
もし今後、「曜日が増える」「期間が伸びる」「月をまたぐ」「日付で比較したい」などの要望が増えるなら、表を横持ち(曜日が列)ではなく、縦持ち(1行=1担当者×1日)にすると強いです。縦持ちにできるなら、ピボットテーブルの機能で前日比を自動化できます。
縦持ちの例(おすすめ形)
| 担当者 | 日付 | 曜日 | AHT |
|---|---|---|---|
| 山田 | 2025/12/08 | 月 | 300 |
| 山田 | 2025/12/09 | 火 | 330 |
ピボットで前日比(%差)を出す手順
- 縦持ちデータからピボットテーブルを作成
- 行:担当者、列:曜日(または日付)、値:AHT(平均/合計は用途で)
- ピボット内で右クリック →「値フィールドの設定」
- 「値の表示方法」で前の項目との差の割合(類似名称)を選ぶ
- 基準フィールド(曜日/日付)を指定し、基準項目を「前の項目(Previous)」にする
曜日の順番が崩れると前日比も崩れる
ピボットは並び順に依存して「前の項目」を決めます。曜日が文字列のままだと並びが意図と違うケースがあるため、次の対策が有効です。
- 曜日の並びを固定する(Excelのカスタムリストを使う)
- または「曜日番号(1=月…)」列を追加して、その順に並べ替える
横持ちのままでも前日比は計算できますが、長期運用・月跨ぎ・日付比較が絡むなら、ピボット前提の縦持ち化は将来の拡張に強いです。
よくあるエラーと対処:#DIV/0!・-100%(-1)・#SPILL!
#DIV/0!(割り算できない)
原因はほぼ次のどちらかです。
- 前日セルが0
- 前日セルが空白(未入力/欠損)
対処は、「空白で返す」「0%にする」「#N/Aにする」を運用で決め、式に条件を入れます。最も簡単なのは次です。
=IFERROR((H2 - G2) / G2, "")
ただし、欠損を見落としたくない場合は、IFERRORではなく条件判定で明示する方が安全です。
=IF(OR(G2="", G2=0), "", (H2 - G2) / G2)
-1(-100%)が出るのはエラーではない
式が(今日−昨日)÷昨日のとき、
- 昨日 > 0
- 今日 = 0
だと、(0−昨日)÷昨日 = -1 となり、パーセンテージ表示では-100%になります。これは「完全に0になった」ことを意味し、計算としては正しい挙動です。
ただしAHTで「0」は未計測や欠損の代替値として入っていることもあります。その場合は、0を欠損扱いにして表示を抑制すると実務に合います。
=IF(OR(G2="", G2=0, H2=""), "", (H2 - G2) / G2)
#SPILL!(スピル先に置けない)
動的配列を使ったときに#SPILL!が出る典型原因は、スピル先のセルに既に値や数式があることです。
- 例:M2にスピル式を入れたのに、M2:P2のどこかに値が入っている
- 例:セル結合、フィルタの影響、テーブルの制約などで展開できない
対処はシンプルです。
- スピル予定範囲(例:M2:P100)を選択して中身を消す
- セル結合があれば解除する
- 必要なら出力を別シートに分離する(計算用シート)
見やすく・運用しやすくする実務テクニック
パーセンテージの桁数は「小数点1〜2桁」が現場で扱いやすい
- 0桁:ざっくり把握向き(±1%未満が見えない)
- 1〜2桁:改善活動の振れが読みやすい
「細かすぎる数字で現場が迷う」場合は、表示形式だけでなく、ROUNDで丸めるのも手です。
=IF(OR(G2="",G2=0), "", ROUND((H2-G2)/G2, 3))
(小数第3位まで=パーセント表示で小数点1桁程度の精度感)
条件付き書式で「悪化」「改善」を色で即判定できる
- 0%より大きい(悪化):強調
- 0%より小さい(改善):強調
- 空白(欠損):薄い色 or 無色
前日比を可視化すると、表をスクロールしても異常値が拾いやすくなります。AHTの「突発的な伸び」はオペレーション上のボトルネックのサインになりやすいので、前日比は監視指標としても有効です。
「欠損」と「本当に0」を区別する運用が、エラー削減の近道
AHTは実務上0になりにくい指標です。0を「未計測」の代わりに入れてしまうと、-100%が大量発生して判断が鈍ります。可能なら次のルールがおすすめです。
- 未計測:空白(または別列にフラグ)
- 本当に0があり得る指標:0を許容し、前日比ルールも別途定義
状況別おすすめ早見表:どの方法を選ぶべきか
| 状況 | おすすめ | 理由 | 注意点 |
|---|---|---|---|
| いまの表を変えたくない/誰でも扱える形が良い | 相対参照で1セル→コピー | 最小コストで導入できる | 欠損/0のルールは式に入れる |
| Excel 365で、行ごとの火〜金を一気に出したい | 動的配列(スピル) | 1セルで横方向を自動計算 | #SPILL!対策として出力範囲を空にする |
| 担当者全員分を一撃で計算したい | 2Dスピル(範囲計算) | コピー作業自体をなくせる | 計算用シート分離が安定 |
| ルール(欠損、0、未入力)を統一して再利用したい | MAP + LAMBDA | 計算要件を式に明文化できる | Excel 365限定、慣れが必要 |
| 将来は日付軸で分析・月跨ぎ・期間比較もしたい | 縦持ち + ピボット | 分析の拡張に強い | 曜日/日付の並び順を管理する |
現場で事故を減らすためのチェックリスト
- 前日比の出力列はパーセンテージ表示にする(小数点1〜2桁が無難)
- 前日が0/空白の扱い(空白にする/0%にする/#N/Aにする)をチームで統一する
- 動的配列を使うなら、スピル先のセルを空にし、可能なら計算用シートに分離する
- -100%が出たら「本当に0か」「欠損を0で埋めていないか」を確認する
- 曜日の並びがズレると前日比がズレるので、見出しや並び順を固定する
日次AHTの前日比(増減率)は、改善活動のスピードを上げるための「最短の指標」です。まずは相対参照のコピーで運用を安定させ、必要に応じて動的配列やピボットへ段階的に拡張していくのが、現場で失敗しにくい進め方です。

コメント