給与データの並べ替えが毎月発生する理由

2026-10-30

給与データの並べ替えが毎月発生する理由

給与計算の前に、Excelで社員の行を並べ替える作業が入っている職場は多い。手元の勤怠データの並び順と、給与ソフトが求める並び順が違うからだ。これは1回やれば済む整理ではなく、毎月発生する。理由を分けて書く。

並び順は「誰のために並んでいるか」で変わる

現場で使っている管理表は、人が見て分かるように並んでいる。拠点ごと、雇用区分ごと、入社順、シフトの組みやすい順。拠点ごとに別の表を使っていれば、拠点の中の並びはそれぞれの都合で決まる。確認するときは、この並びのほうが速い。

一方、給与ソフトは社員コードで人を特定し、決まった項目の順番でデータを受け取る。項目名の行を入れてはいけない製品もあり、その場合は列の位置そのものが意味を持つ。つまり、人が読むための並びと、ソフトが読むための並びは、もともと別物だ。どちらかに統一できるものではなく、変換が必要になる。

毎月発生するのは、人が入って辞めるからだ。入社した人を表のどこに足すか、退職した人の行を残すか消すかで、並びは毎月少しずつ変わる。項目側も、名称が変わればその月から変換規則が変わる。

手でやると間違えるが、間違いに気づきにくい

並べ替えのミスは、見た目が壊れない。列を1つ挿し忘れただけでも、残業時間の列に深夜時間の値が入って、表としては成立してしまう。行がずれた場合も、全員分の数字が1人ずつ隣にずれるだけで、合計は近い値になる。目視では見つけにくく、本人の明細を見て初めて分かる。

だから、並べ替え自体を自動化するだけでは足りない。変換したあとの値が、元のデータと合っているかを別の計算で突き合わせる工程を持たせる。並べ替えと検算を同じ仕組みの中で続けて実行すると、ずれが出た時点で止まる。

通勤費のように、同じ経路に乗らないものがある

手当の一部は、勤怠データの取り込みでは入らないことがある。たとえば給料王の勤怠データ取り込みは30項目の固定レイアウトで、そこに通勤費の欄はない。こういう項目は別の経路として設計する。並べ替えの対象に無理に混ぜると、毎月どちらで入れたか分からなくなる。

AkariLabでは、運送業の点呼データから残業と割増を計算して、給与ソフトに渡せる形へ整えるツールを作り、有償で導入いただいています。計算ロジックは案件ごとに違うので公開していませんが、Pythonで独立に再実装した結果とExcel側の出力を1分・1円単位で突き合わせる検算を、納品前の工程として必ず入れています。

Excelでの集計・変換・検算の作り方はExcel(VBA)自動化のサービスページに、給与ソフトごとの取り込み形式の違いは別記事に書いています。