ExcelでAHT(平均処理時間)の前日比を自動計算する方法|増減率の式・動的配列・#DIV/0!/#SPILL!対策

コールセンターの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の前日比(増減率)は、改善活動のスピードを上げるための「最短の指標」です。まずは相対参照のコピーで運用を安定させ、必要に応じて動的配列やピボットへ段階的に拡張していくのが、現場で失敗しにくい進め方です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次