別々の表にある部署と資格を、1つの名簿に追加するには?

基準名簿のIDに部署表と資格表をそれぞれ結合し、一方の情報がない人も名簿に残します。

複数の表の必要な列を基準名簿に集める 説明図
架空のデータを使った説明図です。実際の画面キャプチャではありません。

基準名簿が決まっているなら、各表を名簿のIDに直接つなぎます。資格表も部署表を経由せず名簿につなぐことで、部署情報がない人の資格も取得できます。

この例は、勤務先でJOIN SHEETの利用が認められ、各表に共通の人物IDが用意されている場合の手順です。データを端末内で処理するサービスでも、会社の利用規程は確認してください。

部署が未登録でも資格は載せたい

架空の名簿でU3には部署情報がありませんが、資格L-Bがあります。資格表のU9は名簿にいません。今回の対象はRosterのU1、U2、U3です。

表中の∅は空欄を示す説明用の記号で、入力する文字ではありません。

Roster

PersonID Name
U1 Ari
U2 Bo
U3 Cam

Teams

TeamPerson Team
U1 North
U2 South

Licenses

LicensePerson License
U1 L-A
U3 L-B
U9 L-C

接続と条件の設定

  1. Rosterを左に置き、TeamsとLicensesをそれぞれ右に配置します。
  2. RosterのPersonIDとTeamsのTeamPersonを結び、「左のシートの全行を保持」を選びます。
  3. 同じPersonIDからLicensesのLicensePersonへ別の線を結び、こちらも「左のシートの全行を保持」にします。
  4. Rosterを選び、「結果のプレビュー」で確認します。2本の線がRosterから出ていて、Name、Team、Licenseが表示されていることを確かめます。

接続と条件の設定 説明図

結果で確認する点

結果は3行です。U2のLicenseとU3のTeamは空欄ですが、U3のL-Bは残ります。U9が表示されたら、両側の行を保持する設定になっていないか確認してください。

PersonID Name TeamPerson Team LicensePerson License
U1 Ari U1 North U1 L-A
U2 Bo U2 South ∅ ∅
U3 Cam ∅ ∅ U3 L-B

結果で確認する点 説明図

適用範囲と注意点

この例では、部署表と資格表をそれぞれ1人につき最大1行にしています。同じ人に複数の資格や部署履歴があると、それらを組み合わせた分だけ行数が増えます。現在の部署だけを使うのか、履歴も残すのかを決めてから結合してください。

自分のファイルで始めましょう

JOIN SHEETを使ってみる ↗

Excel・CSVの作業はPCでご利用ください。
新しいタブで開くため、作業中のデータは置き換わりません。

サンプルの検証日:

出典

How do I take data from specific columns from multiple sheets and merge them into one? (Reddit r/excel)

原文は、勤務先で外部ツールの利用が禁止されている中で、複数の表から必要な列を集める方法を探した質問です。一部の表に従業員IDがない点にも触れていますが、質問ではIDがあるものとして回答を求めています。回答ではExcel内で使えるPower Queryが提案されていますが、最終的に解決したという確認はありません。

この記事は、外部ツールを使えて共通IDもある場合の独立した架空例です。質問者の職場で使える方法や、JOIN SHEETを使って解決した実例として紹介しているわけではありません。