Excelでの担当表管理では、仕事を依頼する順番や拒否ポイント、実績を自動的に更新したいケースがあります。特に複数人の担当者がいて、拒否や引き受けによって順位が動く場合には、関数やテーブル機能をうまく活用することで効率化できます。
この記事では、Excelで担当表の自動順位調整や横列データの一括移動を実現する方法を具体例とともに解説します。
順位付けの基本ルールをExcelで表現する
まずは担当表の順位管理を数値で表すことが重要です。例としてA列に氏名、B列に拒否回数、C列に実績、D列に順位を用意します。
順位は、=RANK.EQ(C2, C$2:C$5, 0)などの関数を使用して、実績やポイントに応じて自動で算出することができます。
仕事を引き受けた担当者の移動処理
引き受けた担当者を最下位に移動し、拒否ポイントを0にするには、IF関数を組み合わせた条件付き計算列を使います。
例えば、E列に引き受けフラグを設け、=IF(E2=”引き受け”, 最大順位, 現在順位)とすることで、引き受けた人を自動的に最下位に移動させることが可能です。
押し出される上位の自動調整
引き受けた担当者が最下位になった場合、他の担当者を自動的に上位に移動させるには、補助列を作り、引き受けフラグと順位を組み合わせた計算を行います。
例: =IF(E2<>“引き受け”, 順位-1, 順位)。これにより、担当者間で自動的に順位が押し出されるように更新されます。
横の列(氏名・拒否回数・実績)の一括移動
Excelのテーブル機能を使用すると、順位の変更に合わせて横列データをまとめて移動できます。テーブルを使うことで、関数で計算された順位に応じてSORTBY関数で並び替え可能です。
例: =SORTBY(テーブル範囲, 順位列, 1)とすることで、順位列に応じて氏名・拒否回数・実績が一括で並び替えられます。
実例での適用
例えば、Aさんが拒否し、Bさんが担当した場合、Bさんの引き受けフラグを立て、拒否ポイントを0に設定します。SORTBY関数で並び替えると、Bさんが最下位に移動し、CさんとDさんが自動的に上位へ押し出されます。
これにより、担当表全体が自動更新され、手動での修正を最小限に抑えることができます。
まとめ
Excelで担当表の自動順位調整を行うには、RANK.EQやIF関数、SORTBY関数を組み合わせて使用することが効果的です。引き受けフラグを設定し、補助列で押し出しルールを計算することで、複雑な順位変動も自動化できます。
また、テーブル機能を活用すれば、氏名・拒否回数・実績などの横列データも連動して移動でき、管理の手間を大幅に減らすことが可能です。


コメント