dポイントプレゼントキャンペーン実施中!

エクセルで会社の従業員のデータを管理しています。

従業員のデータは、 社員番号をキーにしていますが 、社員番号が何度も変わっています。社員数は300人です。定年退職を含む退職者のデータも蓄積されています。

多い人は3つの番号を持っていることがあります。
社員番号、再雇用社員番号、新社員番号の3つで、順に変わって来ているものです。

それを、 過去に遡って新しい番号に統一、変更したいのですが、 名前をキーにして3つの社員番号を1つの 社員番号に変更するにはどのようにしたらいいでしょうか?

一人一人 、変更していくにはとても時間がかかるので困っています。

また、退職者については、一番新しい番号のままにしておきます。

良い方法はないでしょうか?

A 回答 (4件)

社員の方の個人情報がどれだけあるか?によって、同姓同名、同一誕生日、などフィルターの条件を追加することが可能で、それにより手作業が減ると思います


また、条件として、タイトル行(氏名、ID、性別等)がトップにある方がいいです

COUNTIFS 関数を使えば、氏名、生年月日、性別などが正しいことが条件ですが、そういう情報で絞り込み、あとは、退職日や、入社日で確認し、社員番号を統一すればいいと思います


手順としては
1)新しいセルを作成し、そこにCOUNTIFS 関数を使い、検索条件範囲を名前のカラム行(縦)、検索条件を名前のセルを設定して設定します。その他、性別や生年月日なども条件に入れるのであれば、同様に、セルを選択し入力します。条件が重複しなければ、そのセルの値は1、重複していれば、2以上になります。
注意すべきことは、このセルと、条件となるセルは、相対位置になるので、あとで、カラムセルを追加したり、削除すると、参照するセル位置が変わり、検索カウント数が変わってくるので注意してください。
2)1)のセルを縦にコピー
3)社員データ全体をフィルター設定後、1)で追加したセルの2以上を表示するフィルターに変更
4)3)と共に、氏名でフィルターし、あとは、入社日や、退職日などを目視でチェックして、該当すれば、社員番号を手入力で変更、統一します。
5)4)の氏名フィルターを変更し繰り返し、作業します。
6)必要であれば、変更した社員番号のセルにバルーンヘルプや、新たな備考セルなどに、変更日時などを追記します
7)作業が終了すれば、フィルターを外し、社員番号のセル(A1やC1等)をクリックすれば、社員番号順にソートされます。間違えても、AやCのカラムセルをクリックしないでください。また、複数条件、社員番号順、入社日順などにしたい場合は、下記サイトを参照してみてください
https://sakusaku-office.com/excel/post-3775/#toc …


半日から1日もあれば、作業は終えると思います


その他
・社員を追加するときに、どのような運用方法をとるか、確認、決定しておいた方がいいと思います
    • good
    • 0

こんばんは



実体が不明な上に何をなさりたいのかもよくわかりません。

一人の人に3個の社員番号(=ID)があるのを、単純に一つに整理したいだけなのか、(そんな管理があるとは思えないけれど)同じ社員が別番号で3人として登録されちゃっているのを、名寄せしたいのか・・
まさかとは思いますが、3種類の番号間で重複があるのかないのか、また、単体の番号からどの種類であるかを判別可能なのかできないのか・・などなど。

>良い方法はないでしょうか?
通常は社員番号をIDとして利用すると思いますが、そうなってはいないようですので、ID代わりにできる項目があるのでしょうか?
あるなら、それを利用する方法を考えるのがよさそう。

ご質問文からでは具体的な状況がまったくわかりませんので、いろいろな仮定なしに考えることは無理だと思いますし、わからないことに想像をめぐらすのも無駄なことだと思います。
質問者様なら、実態を正しく認識できているのでしょうから、そこから一番確実な方法をご自身で考えるしかないのではないでしょうか?
    • good
    • 0

私はソフトウエアエンジニアですが、私ならこのように管理します。



まず、社員情報と紐ずいた主キーを採番します。
この主キーという列は、変更不可能であり、ユーザーにとっては意味の無い番号ですが、どの社員のなんの情報かをシステムが簡単に見つけられるようにします。

次に社員番号テーブルを作成します。
(テーブルという用語の意味は省きます)

社員番号テーブルには
先程の主キー、社員番号、社員番号区分(社員番号、再雇用社員番号、新社員番号)、付与日の列を保持します。

社員テーブルから、社員番号テーブルを結合し、新社員番号と日付の降順でならび食えた時の最大値の社員番号で結合し表示します。


変更方法に関しては、元のテーブル構造が不明なため回答不可能のように思いました。
    • good
    • 0

コピーして、特定の列だけ変えれば良くないでしょうか、


具体的な情報がないのでこの方法では困難かもしれませんが、そもそも、300以上のデータ行を不用意に触る時点でなんらかのミスが起きてもおかしくないです
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A