同じ名簿から上司の名前を取り出す

従業員名簿から参照用のシートを作り、上司IDと従業員IDを照合します。上司がいない人も残しながら、直属の上司名を付けられます。

同じ名簿から上司の名前を取り出す 説明図
架空のデータを使った説明図です。実際の画面キャプチャではありません。

名簿に上司のIDだけが載っていて、名前を付け足したい場合を考えます。同じ名簿から参照用のシートを用意し、上司IDをそのシートの従業員IDに結び付けると、直属の上司名を取得できます。

架空の入力と必要な出力

2表は同じ架空の名簿から手動で準備したシートです。ManagersにはEmployeeIDとNameをコピーし、見出しをLookupID・ManagerNameに変更しました。アプリによる自動複製ではありません。Camの直属の上司はBo、その上司はAriです。

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

Employees

EmployeeID Name ManagerID
E1 Ari ∅
E2 Bo E1
E3 Cam E2

Managers

LookupID ManagerName
E1 Ari
E2 Bo
E3 Cam

接続と条件の設定

  1. ExcelでEmployeesとManagersのシートを準備します。LookupIDが一意で、参照用の名簿に全員が含まれることを確認します。
  2. 両シートを読み込み、Employees.ManagerIDとManagers.LookupIDを結びます。EmployeeIDを結ぶと上司ではなく本人の名前になります。
  3. 上司がいない人も残すため、Employees側の全行を保持します。画面でEmployeesが左側なら「左のシートの全行を保持」を選びます。
  4. E1が上司欄を空欄にして残り、E2にAri、E3にBoが付くことを確認して保存します。

接続と条件の設定 説明図

結果で確認する点

3人とも残ります。E1はManagerIDが空欄なので、参照先の上司情報も空欄です。Camに付くのはAriではなくBoです。今回取り出すのは直属の上司だけです。

EmployeeID Name ManagerID LookupID ManagerName
E1 Ari ∅ ∅ ∅
E2 Bo E1 E1 Ari
E3 Cam E2 E2 Bo

結果で確認する点 説明図

適用範囲と注意点

この手順で分かるのは直属の上司までです。その上の上司をたどった組織階層や、階層の数、参照の循環は調べません。参照IDが重複すると、上司候補ごとに行が増えます。ManagerIDがあるのに名前が空欄なら、参照用の名簿にそのIDがあるかを確認してください。

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

JOIN SHEETを使ってみる ↗

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

サンプルの検証日:

出典

Lookup Manager's name from same table (Microsoft Fabric Community)

原文は、従業員と上司が同じ表の行にあるとき、上司IDから名前を取り出す方法を質問しています。 上の表と手順は、この質問を参考に別途作成した架空の例です。質問者の実データや製品の利用体験ではありません。