プロが教えるわが家の防犯対策術!

人事総務ですが、先輩から従業員さんの異動履歴をまとめるように依頼されました。
同じ人でも数か所異動している人もいれば、そうでないひともいます。
従業員ひとりを一行にして整理する場合、
どのような関数を利用すればいいのか教えてください。


A    B       C
10151 山田花子   2000/1/1,異動,経理部
10072 鈴木太郎   2000/2/1,異動,営業部
10072 鈴木太郎   2000/2/1,異動,企画部
10315 岩井太郎   2000/2/1,異動,総務部,
10315 岩井太郎   2000/10/1,異動,人事部,
10315 岩井太郎   2002/4/1,昇格,人事部,主任
10315 岩井太郎   2005/2/1,異動,営業部,主任,
10812 前田一郎   2000/2/1,異動,営業部
10848 木村次郎    2021/8/1,異動,営業部,
10848 木村次郎   2022/7/1,異動,人事部,


●整理したいイメージです。
A    B       C
10315 岩井太郎   2000/2/1,異動,総務部,
          2000/10/1,異動,人事部,
          2002/4/1,昇格,人事部,主任
          2005/2/1,異動,営業部,主任,
10151 山田花子   2000/1/1,異動,経理部
10072 鈴木太郎   2000/2/1,異動,営業部
          2000/2/1,異動,企画部

最大6部門異動している人がおり、できれば最新の情報が一覧上段にくるようにしてほしいと
言われております。ご協力いただけますと幸いです。

質問者からの補足コメント

  • ご返信ありがとうございます。
    C列は,をつけて日付,異動種別,部署,役職が一列になっていればいいです。

    ●具体的例
    岩井さんであれば…C1に下記の項目をすべて入っているイメージです。
    (セル内に改行もできているとうれしいです)
    2000/2/1,異動,総務部,
    2000/10/1,異動,人事部,
    2002/4/1,昇格,人事部,主任
    2005/2/1,異動,営業部,主任

    No.3の回答に寄せられた補足コメントです。 補足日時:2021/11/17 17:17

A 回答 (6件)

No.2です。


私も基本的にNo.5さんのご回答が正しいと思います。
もしくは過去分を入れるデータベースの設計に問題があるか。

No.3への補足通りのものが作れないわけではないですが、関数の範囲を超えて、VBAを使うことになりますが、その点はいかがでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
皆さまにアドバイスいただき、先輩に再確認しました。
結果、No2さんに教えていただいたところまででよいということになりました。
お忙しいところ、本当にありがとうございました。
感謝しております。

お礼日時:2021/11/18 18:38

それなら余計に一人の複数履歴を1セルに入れるなんてダメだと思います。


指示の内容を聞き間違えたか、指示を出された方が勘違いしているかではないでしょうか?
再度内容を確認された方がいいのでは?
    • good
    • 0
この回答へのお礼

かしこまりました。確認してみます。
お忙しいところ、ありがとうございました。

お礼日時:2021/11/18 12:46

>ひとりにつき、1行で収まるように情報を整理しなくてはいけないのです



これからも管理していくならおよそ効率的なやり方とは思えませんが、本当にそのように指示されたのですか?
    • good
    • 0
この回答へのお礼

そうなんです。
過去の分をまとめてデータベースにいれるらしく、
そのために従業員1人につき1行で収まるように整理できるとうれしいです。
何かよい案がありましたら、教えてください。よろしくお願いいたします。

お礼日時:2021/11/18 09:39

> 残っている旧C列の部署を一つのセルにしたいです。



これは
C列 日付
D列 異動種別
E列 部署
F列 役職
に分けたい、ということですか?
この回答への補足あり
    • good
    • 0

1.C列を昇順に並べ替え


2.A列を昇順に並べ替え
3.B列を選択して右クリック→[挿入](新しい空欄のB列が出来る)
4.D列を選択して右クリック→[挿入](新しい空欄のD列が出来る)
5.B1に =A1
6.B2に =IF(A1=A2,"",A2)  をいれて下までコピー
7.B列を選択し、[Ctrl]+[C] 貼り付け→値の貼り付け
8.D1に =C1
9.D2に =IF(C1=C2,"",C2)  をいれて下までコピー
10.D列を選択し、[Ctrl]+[C] 貼り付け→値の貼り付け
11.A列を削除
12.B列を削除

で、いかがでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
大変助かりました。感謝です。

もう1点、お分かりになれば教えていただきたいのですが、
残っている旧C列の部署を一つのセルにしたいです。

人によって、行数が異なっておりまして困っております。

お礼日時:2021/11/17 16:29

Aが社員コード


Bが社員コードに該当する人の名前
Cが日付と人事情報をカンマでつなげた情報
という認識で良いでしょうか?

とりあえず・・・
データのある範囲を選択しておいて、
上のメニューの「データ」から
「並べ替えとフィルター」にある「並べ替え」を選択。

添付画像のように条件を設定すれば、
・名前コードの数字の大きい順。
・日付の新しい順
で並べ替えることができますよ。
「関数を教えてください!」の回答画像1
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
私の説明が悪くですみませんでした。
ひとりにつき、1行で収まるように情報を整理しなくてはいけないのです。

よい対応策があればぜひ、教えていただけるとうれしいです。

お礼日時:2021/11/17 16:29

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