Excel - 개인 ID를 기준으로 2개의 시트를 1개로 결합하고 ID가 두 번 이상 발견되면 새 행을 생성합니다.

Excel - 개인 ID를 기준으로 2개의 시트를 1개로 결합하고 ID가 두 번 이상 발견되면 새 행을 생성합니다.

나는 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)

관련 정보