私の他の回答に対するあなたのコメントを考慮した別のアプローチがあります(1つはコード付きの名前のリストを含み、もう1つは名前の連結リストを含む一意のコードのリストを含む2つのシートがあると説明しました) 。
範囲とコードを受け入れ、連結された名前の文字列を返すカスタム関数を作成できます。
次のVBAをモジュールに貼り付けます(カスタム関数の作成に慣れていない場合は、このリンクを参照してください)。
Function NamesWithCode(PeopleCodes As Range, CodeToMatch As String)
Dim Result As String
For Each Row In PeopleCodes.Rows
If Row = CodeToMatch Then
Result = Result & Row.Offset(0, 1)
End If
Next
NamesWithCode = Result
End Function
最初のワークシートが「名前」と呼ばれ、指定したような2つの列があるとします。
102938 bob
38128 Marc
398401 Tom
298421 Jim
102938 Alex
102938 Junior
209381 Rex
398401 Oby
2番目のワークシート(「コード」など)では、新しいNamesWithCode関数を使用して、最初のワークシートからテーブル全体と各行を検索するコードを渡すことにより、各コードの名前リストを検索できます。
=NamesWithCode(Names!$A$1:$A$8, A2)
したがって、出力は次のようになります。
Code Names With Code
102938 bobAlexJunior
38128 Marc
398401 TomOby
298421 Jim