同じ名簿から上司の名前を取り出す
従業員名簿から参照用のシートを作り、上司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 |
接続と条件の設定
- ExcelでEmployeesとManagersのシートを準備します。LookupIDが一意で、参照用の名簿に全員が含まれることを確認します。
- 両シートを読み込み、Employees.ManagerIDとManagers.LookupIDを結びます。EmployeeIDを結ぶと上司ではなく本人の名前になります。
- 上司がいない人も残すため、Employees側の全行を保持します。画面でEmployeesが左側なら「左のシートの全行を保持」を選びます。
- 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から名前を取り出す方法を質問しています。 上の表と手順は、この質問を参考に別途作成した架空の例です。質問者の実データや製品の利用体験ではありません。