我的人員資料和地址資料位於 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
當然,也要向下複製公式。
解釋
第一列和最後一列只是從地址表複製出來。此OFFSET
功能可讓您向下或橫向移動一定的距離。在本例中$Names!$B$1
,我們知道正確的 Person 將位於 PersonID + 1 的行上。
不連續的人員 ID
此VLOOKUP
函數可用於搜尋 PersonID,然後傳回同一行中的另一列。在這種情況下,類似:
=VLOOKUP(A2, Names!$A$1:$B$1000, 2, FALSE)