![Excel - 개인 ID를 기준으로 2개의 시트를 1개로 결합하고 ID가 두 번 이상 발견되면 새 행을 생성합니다.](https://rvso.com/image/1618340/Excel%20-%20%EA%B0%9C%EC%9D%B8%20ID%EB%A5%BC%20%EA%B8%B0%EC%A4%80%EC%9C%BC%EB%A1%9C%202%EA%B0%9C%EC%9D%98%20%EC%8B%9C%ED%8A%B8%EB%A5%BC%201%EA%B0%9C%EB%A1%9C%20%EA%B2%B0%ED%95%A9%ED%95%98%EA%B3%A0%20ID%EA%B0%80%20%EB%91%90%20%EB%B2%88%20%EC%9D%B4%EC%83%81%20%EB%B0%9C%EA%B2%AC%EB%90%98%EB%A9%B4%20%EC%83%88%20%ED%96%89%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 1개로 결합하고 싶은 2개의 다른 시트에 사람 데이터와 주소 데이터를 가지고 있습니다. 문제는 각 사람이 하나 이상의 주소를 가질 수 있다는 것입니다.
예를 들어 다음과 같은 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
기능을 사용하면 일정량만큼 아래로 또는 가로질러 이동할 수 있습니다. 이 경우 올바른 Person이 PersonID + 1 행에 있을 것임을 알 수 있습니다. 행 1( $Names!$B$1
)에서 시작하므로 +1은 필요하지 않습니다.
연속되지 않은 개인 ID
이 VLOOKUP
함수를 사용하여 PersonID를 검색한 다음 동일한 행에 다른 열을 반환할 수 있습니다. 이 경우 다음과 같습니다.
=VLOOKUP(A2, Names!$A$1:$B$1000, 2, FALSE)