1つの社員名簿から入力者と承認者の名前を調べる

社員名簿を入力者用と承認者用にコピーし、それぞれのIDを使って名前を付けます。名簿にいない承認者の取引も、確認用に残せます。

説明図 — 1つの社員名簿から入力者と承認者の名前を調べる
架空のデータを使った説明図です。実際の画面キャプチャではありません。

1件の取引に入力者と承認者が別々にいる場合は、名簿を役割ごとの2シートにして結合します。EnteredByは入力者用、ApprovedByは承認者用の名簿を参照します。同じ1シートに両方のIDを結ぶと、1人の社員が両条件を満たす必要があり、この用途には合いません。

1つの名簿を2つの役割に分ける

架空のUsers名簿にはUserID・Nameの2列があり、U1・Ari、U2・Boの2人が登録されています。ExcelでEnteredUsersとApprovedUsersの2シートにコピーし、役割が分かるように列名を変えます。以下は準備が済んだ表です。T2の承認者U9は、名簿にいない例として入れています。

表の∅は空セルを示す記号で、入力する文字ではありません。

Transactions

TxnID EnteredBy ApprovedBy
T1 U1 U2
T2 U2 U9

EnteredUsers

EnteredUserID EnteredName
U1 Ari
U2 Bo

ApprovedUsers

ApprovedUserID ApprovedName
U1 Ari
U2 Bo

取引を左側にして2回結合する

  1. 原本のコピーで名簿を2シート用意し、社員IDごとに1行か確認します。EnteredUsersはEnteredUserID・EnteredName、ApprovedUsersはApprovedUserID・ApprovedNameにします。Transactionsと合わせて3シートを読み込みます。
  2. Transactionsを左、EnteredUsersを右に配置します。EnteredByとEnteredUserIDを結合し、「左のシートの全行を保持」を選びます。入力者が名簿にいなくても取引を残します。
  3. 2つ目の接続もTransactionsを左、ApprovedUsersを右にします。ApprovedByとApprovedUserIDを結合し、再び「左のシートの全行を保持」を選びます。名簿同士は接続しません。
  4. Transactionsを結果の基準に選び、EnteredNameとApprovedNameがそれぞれのIDに対応することを確認して保存します。最初の確認では右側のIDも残すと、名前だけが空なのか、名簿に該当者がいないのかを区別できます。

説明図 — 取引を左側にして2回結合する

入力者Ariと承認者Boを別々に表示

T1の入力者はAri、承認者はBoです。T2の入力者はBoですが、ApprovedUserIDとApprovedNameは空欄です。元のApprovedByのU9は残るため、名簿で確認するIDが分かります。結果は取引数と同じ2行です。

TxnID EnteredBy ApprovedBy EnteredUserID EnteredName ApprovedUserID ApprovedName
T1 U1 U2 U1 Ari U2 Bo
T2 U2 U9 U2 Bo ∅ ∅

説明図 — 入力者Ariと承認者Boを別々に表示

社員IDの重複と未登録の参照を確認

どちらかの名簿でIDが重複すると、1件の取引が複数行に増えることがあります。必要な社員をそろえ、同じIDが複数行にないか確認してください。2つの名簿は手動でコピーしたものなので、変更時は両方を更新して読み直します。この方法は役割ごとに名前を付けるためのもので、大きな名簿の読み込みを軽くする方法ではありません。

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

JOIN SHEETを使ってみる ↗

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

サンプルの検証日:

出典

Multiple copies of the same table (Microsoft Fabric Community)

原文はPower Query・Power BIで同じUsers名簿からEntered By・Authorised By・Paid Byの名前を取得し、大きなPerson表の重複読み込みも減らしたいという質問です。採用済みの回答がありますが、ここでは独立したExcel・CSVの例で入力者・承認者の2役割だけを扱います。 例のデータは説明用に別途作成したもので、原文の投稿者による製品利用の感想や推薦ではありません。