入退社のたびにExcelの社員台帳を手で更新していた人事担当者が、GoogleフォームとGASで更新ゼロ・漏れゼロを実現した話

月末の17時という時間は、一番胃が痛くなるタイミングかもしれません。新入社員の準備状況を確認していたときのことです。作成したメールアドレスの誤りに気づきました。慌てて修正と謝罪の電話に追われることになります。その日の予定はすべて吹き飛びました。謝罪対応だけで丸1時間が消えてしまったのです。

こうしたミスが起きる原因は明確でした。入退社のたびに私が手作業で台帳を更新していたからです。一人の入社に対して、様々な情報を何度も転記します。複数のファイルに同じ内容を書き込んでいました。人間が手作業で行う以上、ミスは避けられません。どんなに気をつけても入力漏れは起こります。ミスをゼロにするのは不可能だと痛感しました。

この記事では、そんな疲弊しきった私の経験をお伝えします。フォームとGASを活用しました。社員台帳の更新を完全自動化した道のりです。手入力中心の運用から抜け出しました。情報の入り口を一つに絞る設計に変更しています。更新漏れや二重登録の恐怖をどのように克服したのか。その具体的な方法をまとめました。今もExcelを睨みつけながら不安を抱えているあなたへ。この記事が重荷を下ろすきっかけになるはずです。

共有サーバーの社員台帳は、開く人ごとに表記が変わっていた

私たちが長年使い続けてきたファイルがあります。社内の共有サーバーに置かれたExcelです。このファイルは全部署から参照されます。常に最新の状態である必要があります。しかし実際には最新とは程遠い状態でした。誰かがファイルを開いたまま席を外すこともあります。他の人は書き込みができません。デスクトップにコピーを作って後で反映させます。結局どれが本当の最新版か分からなくなるのです。

さらに深刻だったのは入力内容の表記ゆれでした。「株式会社」を(株)と書く人もいます。全角や半角のスペースを混ぜる人もいました。部署名についても書き方はバラバラです。正式名称で書く人と略称で済ませる人が混在します。これではフィルターをかけても正しく抽出できません。名簿としての機能は崩壊寸前だったのです。

共有サーバーにある社員台帳を開くたびに、嫌な予感がしていました。誰かが勝手にセルの色を変えていたりします。変なところでフィルターが保存されていたりもしました。それを元に戻すだけで朝の貴重な30分が終わります。そのせいで採用計画の策定が後回しになりました。結局残業で対応せざるを得ない毎日が続いていたのです。

フィルター保存や空行の混入で、台帳の整形だけに時間を奪われた

社員台帳のデータが汚れていくと大変です。次に待っているのは膨大なお掃除の時間でした。誰かがフィルターをかけたまま保存してしまいます。一見すると社員が半分に減ったように見えました。そんなシートを何度も修正することになります。データの途中に意図しない空行が紛れ込むこともあります。並び替え機能を使うとデータがバラバラに崩れました。そんな恐怖とも常に隣り合わせだったのです。

こうした不具合を見つけるたびに落胆します。私は一行ずつデータを目視で確認していました。手作業で行を詰めたり書式を整えたりします。本来は人事のプロとして時間を使いたいはずです。社員の成長を支える仕事に集中したいと考えていました。しかし実際にはExcel職人のような作業に追われます。この不毛な作業は入退社が増える時期に加速しました。私の精神的な余裕は少しずつ削り取られていったのです。

手動コピペ作業は1件あたり約65分かかっていました。今のスクリプト実行と最終確認は合計6分前後で済んでいます。

VBA・Pythonをもっと本格的に学びたい方へ

VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、事務職・文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも、自分の学習ロードマップが明確になります。

侍エンジニア 無料カウンセリングを予約する →



紙の申請書から手転記するプロセスが、人事部門に二重コストを生んでいた

自動化を検討し始めたときの状況を振り返ります。まず着目したのは情報の発生源でした。当時の運用では紙の入社承諾書を書いてもらいます。それを受け取ってからExcelへ打ち込んでいました。この紙からデジタルへのステップが問題です。ミスの最大の温床であり、時間の無駄でもありました。本人が書いた情報をもう一度キーボードで叩き直します。ここに二重のコストが発生していたのです。

このアナログな工程を排除する必要があります。そうしないと根本的な解決にはならないと考えました。便利なマクロを作っても限界があります。情報の入り口をデジタル化することが重要です。なおかつ本人に入力してもらう仕組みを作ります。そうすることで私が仲介する手間を省けます。同時に転記ミスを物理的に防ぐ環境を目指しました。

10名分の入退社が重なる月には、従来運用だけで約3時間の拘束が発生していました。今ではその大半がフォーム送信と自動更新に置き換わっています。

Googleフォームで入社情報をPCもスマホも同じ口から受け取る設計にした

そこで導入したのがGoogleフォームです。入社が決まった方にURLを送付します。必要な情報を直接入力してもらうようにしました。氏名や緊急連絡先、振込口座などの情報です。フォームならスマートフォンからも回答できます。まだPCが手元にない新入社員の方でも安心です。自宅からスムーズに入力してもらうことが可能になりました。

この設計において重要だったポイントがあります。それは入力項目を徹底的に制御することでした。所属部署や役職は自由記述にしません。プルダウンメニューから選択するように設定しました。これで以前悩まされていた表記ゆれを防ぎます。完全に封じ込めることに成功したのです。入り口で情報を整理しておくことが効果的でした。その後の処理が劇的に楽になることを実感しています。

GASでフォーム送信と同時に社員マスタシートを自動更新する仕組みを作る

フォームで集めた回答はスプレッドシートに蓄積されます。しかし、ただ並べるだけでは社員台帳として不十分です。そこでGoogle Apps Scriptを活用しました。これはGASと呼ばれる便利なツールです。フォーム送信時に別シートへ自動転記するプログラムを組みます。社員マスタというシートを更新する仕組みです。回答と同時に最新の社員情報が台帳に反映されます。

GASのonFormSubmitという機能を使います。これで24時間365日システムが稼働するのです。私が寝ている間でも自動的に台帳を更新してくれます。プログラム内ではソート処理も加えました。入社年月日に基づいて末尾のデータを並び替えます。常に整理された状態を保つように工夫しました。これでExcelファイルとの格闘もなくなります。データの汚れを心配することも一切なくなったのです。

Google Apps Scriptのエディタ画面。onFormSubmitトリガーを設定した関数が、新入社員の情報をマスタシートへ転記するロジックが書かれている。日本語のコメントが丁寧に入っており、UIは落ち着いたグレーのテーマ。realistic screenshot style

退社処理もGASで自動化し「有効社員」フラグで台帳を管理する

入社処理と同じくらい重要なのが退社処理です。これまで退職者が出るたびに行を手動で削除していました。これでは過去に誰が在籍していたかの履歴が残りません。そこで退社専用のフォームを作成しました。GASを使って在籍区分という列を書き換えます。退職という文字に変更する処理を自動化しました。

さらに社員台帳を表示するメインのシートも工夫します。在籍区分が在籍の人だけを表示するようにしました。このフィルター機能もGASで制御しています。データ自体は削除せずに残しておく仕組みです。日常の業務で使う名簿からは退職者が消えます。これで退職者がメーリングリストに残る事態を防げます。セキュリティ上の事故を未然に回避できるようになりました。

本番で起きた重複登録事故が、仕組みの穴を教えてくれた

順調に見えた自動化運用にも落とし穴がありました。展開して間もない頃に大きな失敗を経験します。一人の新入社員が同じ内容を2回送信してしまったのです。うまく送信できたか不安だったという理由でした。私の作ったプログラムは素直にそれを受け取ります。結果として台帳に2行分登録されてしまいました。アカウント発行まで二重に行われる事故が起きたのです。

このミスが発覚したのは通知がきっかけでした。アカウントの発行通知が本人に2通届いたのです。謝罪に追われながら深く反省することになります。仕組み化しても人間の予測不能な動きには対応できません。自動化は決して魔法ではないのです。例外的な事態をどれだけ想定できるかが重要になります。それが運用の成否を分けるのだと冷や汗をかきながら学びました。

フォームを展開した初週に事故が起きました。同一人物が2回送信して台帳へ2行登録されたのです。アカウント発行まで二重化してしまいました。管理者画面に並ぶ二つの名前に気づいた瞬間、背筋が凍りました。慌てて重複を削除します。その後の権限整理に一晩中かかってしまいました。仕組みを作ったはずの自分が一番疲弊していたのです。

GASで重複チェックを追加し、二重登録を止めるようにした

二重登録事故の翌日、私はすぐにプログラムを改良しました。新しく情報が送られてきた際のチェック工程を追加します。氏名と生年月日の組み合わせを確認する仕組みです。マスタシート内に既に存在するかをチェックさせました。もし重複が見つかった場合は登録をスキップします。私宛に通知メールが届くように設定しました。重複の可能性があるという警告を受け取れます。

この異常を検知して止めるロジックは強力でした。自動化運用において最も重要な守り神となります。すべてを機械任せにするのは危険です。怪しいときだけ人間にバトンを渡す仕組みにしました。これによりシステムの信頼性は飛躍的に高まります。その後も同様の二重送信が何度かありました。しかしプログラムがしっかりと食い止めてくれます。二度と大きな混乱が起きることはありませんでした。

日本語のメニューが表示されたGoogleスプレッドシートの画面。GASによって重複チェックが走り、同じ氏名が入力された際に「重複の警告」という赤い文字のポップアップが表示されている。UI mockup style

社員番号の自動採番ロジックも、あとから作り直すことになった

社員台帳の自動化でもう一つ頭を悩ませたことがあります。それは社員番号の採番についてです。当初は行番号をベースにした番号を割り当てていました。しかし退職者のデータが増えると問題が発生します。社員番号が意味をなさなくなるのです。やはり入社した瞬間に不変のIDを付与する必要があります。そのための仕組みを考えることになりました。

そこでGASの中に新しいロジックを実装します。現在の最大社員番号を取得して1を足す仕組みです。新卒と中途で番号の体系を分けたいという要望もありました。これにもプログラムの条件分岐で対応しています。手作業では過去のデータを遡って探していました。次の番号は何番だっけと確認する手間があったのです。それが送信ボタン一つで完結するようになりました。その快感は今でも忘れられません。

社員番号の採番ルールを定義した管理設定シート。日本語で書かれた「新卒用プレフィックス」「中途用プレフィックス」の各セルに、具体的な数字や記号が入力されている。screenshot style

自動化後、社員台帳の更新そのものが怖くなくなった

自動化が完了して3ヶ月が経った頃のことです。ふと自分の心境の変化に気がつきました。以前は新しいメンバーが入るたびに不安でした。どこかに間違いはないかと常に怯えていたのです。更新を忘れていないかというプレッシャーもありました。しかし今ではその恐怖がきれいさっぱり消えています。自分が何もしなくても情報は更新されます。完璧なフォーマットで台帳に並んでいるのです。その様子を見るのは何物にも代えがたい安心感がありました。

情報の入り口をフォームでロックした効果は絶大です。面倒な処理をGASという忠実な部下に任せました。これでデータの正確性を疑う必要がなくなります。たとえ忙しい時期であっても心配無用です。システムの挙動を最後に一度確認するだけで済みます。この心の余裕こそが一番の収穫です。自動化によって得られた最大の果実だったと感じています。

自動更新された最新の社員台帳シート。美しい表形式に整えられており、一番上の行には最近入社したばかりの新入社員の日本語の名前が正しい社員番号とともに並んでいる。realistic photo style

浮いた時間を、面談や制度改善のような仕事へ回せるようになった

自動化によって生まれた時間は私を変えました。仕事の質を根本から向上させてくれたのです。これまでは一件の入社対応に時間を奪われていました。紙の確認から転記、修正まで含めて約65分かかります。しかし今ではフォームのURLを送るだけで済みます。送付作業に1分かかりました。最終的な確認は5分で終わりました。合計で6分程度の作業時間にまで減ったのです。実に10分の1以下にまで短縮されたことになります。

自動化前後で比較すると、1件あたりの処理時間は65分から6分前後まで縮みました。月末の負担感もまるで別物です。

こうして浮いた時間を有効に活用しています。新入社員とのウェルカム面談を丁寧に実施できました。以前から課題だった評価制度の改善案も練っています。データの転記は誰がやっても同じ作業です。そうした単純作業から完全に解放されました。人事として人に向き合う仕事に集中できます。私にしかできない仕事に軸足を移せたことは大きな喜びでした。

自動化してから3ヶ月ほど経ったある日のことです。ふと社員台帳のシートを眺めていました。そこには昨日入社したメンバーの情報が並んでいます。私が一度も指を触れていないにもかかわらず完璧な状態でした。社員番号とともにきれいに整理されています。その光景を見た瞬間、これまでの冷や汗や焦燥感が過去のものになったと確信しました。深い安堵とともに肩の荷が下りるのを感じたのです。

まとめ — 社員台帳の自動更新を実現する3ステップ

社員台帳の更新は地味ながら責任の重い業務です。これを自動化することは単なる時短以上の価値があります。今の運用に限界を感じているなら試してみてください。まずは以下の3つのステップから始めてみましょう。完璧なシステムを一気に作ろうとする必要はありません。まずは情報の入り口を一つに絞ることが大切です。小さな一歩からでまったく問題ありません。

第一のステップはフォームの活用です。これを使って情報の入り口を統一します。紙からデジタルへの転記ミスを物理的に排除できます。次にGASを使って自動転記する仕組みを作りましょう。フォームの回答をマスタシートへ移動させます。これで手作業でのコピーをなくすことができます。最後に重複チェックや自動採番を組み込んでください。そうすることで仕組みの安全性を高めていけるはずです。

この仕組みを導入することで不安から解放されます。間違いが起きていないかと心配する必要はありません。本来注力すべき人事業務に専念できるようになります。昨日までの私と同じように悩んでいる誰かがいるはずです。Excelの画面の前でため息をついているかもしれません。この記事をきっかけに新しい一歩を踏み出せることを願っています。自動化の扉を開けるのはほんの少しの勇気です。そして正しいツールの使い方を知ることから始まります。



関連リンクとチェックリスト

関連する学びを少し広げるなら

日々の作業を少しでも軽くしたい方には、業務効率化の考え方を本で整理する方法もあります。

業務効率化の関連書籍(Amazon) →

学習サービスとアンケート

このスキルを活かしてさらに前へ進むなら

PythonやExcel自動化スキルを持ったまま、ITエンジニアとして転職したい方には「EBAエデュケーション」が選択肢です。企業が求めるエンジニア像に合わせたカリキュラムで、実務直結のスキルを習得できます。

ITエンジニア転職・EBAエデュケーション →

無料プレゼント

Excel業務を自動化する前に確認するチェックリスト(PDF)

自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。

無料でチェックリストを受け取る

¥980 ミニキット

コピペで動かせる3スクリプト+自動化チェックリスト

最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。

ミニキットを見る(¥980)

[アンケート] この記事は役に立ちましたか?


1問だけ回答する