Excel - Combine 2 planilhas em 1 com base no ID da pessoa e crie novas linhas se o ID for encontrado mais de uma vez

Excel - Combine 2 planilhas em 1 com base no ID da pessoa e crie novas linhas se o ID for encontrado mais de uma vez

Tenho dados pessoais e dados de endereço em 2 planilhas diferentes que desejo combinar em 1. O problema é que cada pessoa pode ter mais de 1 endereço.

Por exemplo, se eu tiver os 2 conjuntos de dados a seguir:

**Person Data**
PersonID         Name

1          John Smith
2          Mark Brown

**Address Data**
PersonID      Address

1                  UK
1              France
1                 USA
2                  UK

Eu preciso que eles sejam unidos como tal:

**Combined Data**
PersonID      Name       Address

1       John Smith            UK
1       John Smith        France
1       John Smith           USA
2       Mark Brown            UK

Existe alguma maneira de fazer isso através de fórmulas do Excel? Obrigado

Responder1

Parece que você deseja simplesmente adicionar o nome da pessoa a cada linha da lista de dados de endereço. Se sim, isso é fácil.

Suposições

  • Os dados pessoais são classificados e consecutivos (ou seja, PersonID 1 está localizado na linha 2, PersonID 100 está localizado na linha 101) — se isso não for verdade, consulte a última seção.
  • Os dados de endereço são classificados

Solução

**Combined Data Sheet**
PersonID          Name                            Address
=$Addresses!A2    =OFFSET($Names!$B$1, A2, 0)     =$Addresses!B2

E copie as fórmulas para baixo, é claro.

Explicação

A primeira e a última colunas são simplesmente copiadas da planilha Endereços. A OFFSETfunção permite que você desça ou atravesse um determinado valor. Neste caso, sabemos que a Pessoa correta estará na linha PersonID + 1. Como começamos na linha 1 ( $Names!$B$1), o +1 é desnecessário.

IDs de pessoas não consecutivas

A VLOOKUPfunção pode ser usada para procurar um PersonID e retornar outra coluna na mesma linha. Neste caso, algo como:

=VLOOKUP(A2, Names!$A$1:$B$1000, 2, FALSE)

informação relacionada