1

Excel の 1 つのシートに名前とインスタンスのリストがあり、別のシートに名前とユーザー ID のリストがあります。インスタンス シートで名前とユーザー ID を参照する列を作成したいのですが、一部のユーザーの名前が同じです。1:1 マッチングの場合、vlookup を使用して対応する ID を取得しますが、これは複数のインスタンスでは機能しません。多対 1 の関係の場合に、その名前に関連付けられている可能性のあるすべての ID を表示する列を作成するにはどうすればよいですか? 例:

User Name:              User ID:
Rusty McShackleford     1234560
Rusty McShackleford     1234570
Rusty McShackleford     1234580
Rusty McShackleford     1230110
Zap Brannigan           0000001

上記の例では、インスタンスが 1 つしかないため、Zap をユーザー ID に一致させることができます。Rusty (またはすべての Rusty) をインスタンスに一致させるにはどうすればよいでしょうか。ご協力いただきありがとうございます

4

2 に答える 2

0

スプレッドシートのレイアウト:

A2:A15名前
B2:B15ID
D2 {=INDEX($A$2:$A$15;MATCH(0;COUNTIF($D$1:D1;$A$2:$A$15);0))} 配列数式、Ctrl-Shift-数式ウィンドウに入力して入力します。中かっこはユーザーではなくExcelによって挿入されます。
の一意の名前を一覧A2:A15表示します。コピーする必要があります。列を非表示にすることができます。

E2:ドロップダウンリストのあるセル。エントリは、列D
F3:の名前のリストから選択され=F2+MATCH($E$2;OFFSET($A$1;F2+1;0):$A$15;0)、コピーされます。F2空のセルです。
列Aで一致した名前の行を検索します。列Fは非表示にすることができます。
E3=OFFSET($A$1;F3;1) 特定の名前のIDを選択します。数式がコピーされます。

スプレッドシートの例:http ://www.bumpclub.ee/~jyri_r/Excel/All_IDs_for_a_name.xls

于 2012-12-27T19:41:56.690 に答える
0

vlookup() には、一意の値のセットが必要です。あなたの特定のケースでは、これは各ユーザーを識別する一意の値であるように見えるため、user_id で vlookup() を実行することを検討します。

その点で:

  1. 新しいタブ (シート) を作成する
  2. 列 A で、すべての "user_id" をコピーして貼り付けます。重複を必ず削除してください。
  3. 列 B -> 「インスタンス」は vlookup() を使用します
  4. 列 C -> 「名前」は vlookup() を使用します
  5. ここで、すべて「Rusty」の列のリストを取得するには、列 c (名前) を AZ から並べ替えるだけです。必要に応じて列を再配置します。

vlookup() に関するいくつかのリマインダー。範囲ルックアップを FALSE に指定します。必ず絶対参照を使用するか、さらに良いことに、テーブルを参照として使用してください。

于 2012-12-26T14:46:40.773 に答える