2 つの異なるシートに個人データと住所データがあり、これらを 1 つに結合したいと考えています。問題は、各個人が複数の住所を持つことができることです。
たとえば、次の 2 つのデータセットがあるとします。
**Person Data**
PersonID Name
1 John Smith
2 Mark Brown
**Address Data**
PersonID Address
1 UK
1 France
1 USA
2 UK
次のように結合する必要があります:
**Combined Data**
PersonID Name Address
1 John Smith UK
1 John Smith France
1 John Smith USA
2 Mark Brown UK
Excelの数式を使ってこれを行う方法はありますか? ありがとうございます
答え1
住所データ リストの各行に人物の名前を追加するだけのようですね。そうであれば、これは簡単です。
仮定
- 人物データはソートされ、連続しています (つまり、PersonID 1 は行 2 にあり、PersonID 100 は行 101 にあります)。そうでない場合は、最後のセクションを参照してください。
- 住所データはソートされます
解決
**Combined Data Sheet**
PersonID Name Address
=$Addresses!A2 =OFFSET($Names!$B$1, A2, 0) =$Addresses!B2
もちろん、数式を下方向にコピーします。
説明
最初の列と最後の列は、単純に Addresses シートからコピーされます。このOFFSET
関数を使用すると、特定の量だけ下または横に移動できます。この場合、正しい Person は PersonID + 1 の行にあることがわかります。行 1 ( $Names!$B$1
) から開始するため、+1 は不要です。
連続しない個人ID
このVLOOKUP
関数を使用すると、PersonID を検索し、同じ行の別の列を返すことができます。この場合、次のようになります。
=VLOOKUP(A2, Names!$A$1:$B$1000, 2, FALSE)