Isso é um pouco hacky, mas deve funcionar se minhas "suposições e interpretações" estiverem corretas.
Suposições & Interpretação
Suposição 1 : seus números de peça são todos exclusivos e seus Identificadores de atributos são exatamente os mesmos para os atributos que você deseja representar em cada coluna, em todas as partes.
Suposição 2 : os AttributeIdentifiers são únicos dentro de cada parte - ou seja, nunca haverá duas linhas com o mesmo AttributeIdentifier e o mesmo número de peça.
Suposição 3 : os dados originais têm cabeçalhos na linha 1 e os dados são preenchidos continuamente, começando na linha 2.
Suposição 4 : os dados originais são exibidos de forma similar às capturas de tela fornecidas. "Part Numbers" estão na coluna A e "AttributeIdentifiers" estão na coluna B, "Values" estão na coluna C e não há outros dados na planilha relevantes para este problema.
Interpretação: você deseja que os números de peça permaneçam na coluna A e todos os atributos dessa parte listados em uma linha em títulos de acordo com seu AttributeIdentifier.
Solução
- Crie uma nova planilha na mesma pasta de trabalho.
- Nomeie a primeira folha
Old Data
e a segunda folhaNew Report
. - Copie
'Old Data'!A:A
para'New Report'!A:A
. - Executar "Remover duplicados em
'New Report'!A:A
. - Copie
'Old Data'!B:B
para'New Report'!B:B
. - Execute "Remover duplicatas" em
'New Report'!B:B
.- Certifique-se de que não expanda a seleção além desta coluna para esta operação.
- Exclua
'New Report'!B1
e mova as células restantes da coluna para cima. - Selecione todas as células que possuem dados em
'New Report'!B:B
. COPIE essas células e use "Colar especial" e "Transpor" para colá-las a partir de'New Report'!C1
. - Excluir
'New Report'!B:B
. Certifique-se de que'New Report'!C:C
muda para ocupar o seu lugar. - Adicione uma nova coluna à esquerda de
'Old Data'!A:A
.- Observação: isso deslocará todas as colunas para a direita, para que "Número da peça" esteja na coluna B e assim por diante.
- (Opcional) Defina
'Old Data'!A1
paraUID
.
- Defina
'Old Data'!A2
para=CONCATENATE(B2,C2)
. - Copie
'Old Data'!A2
para baixo da coluna inteira, até o final do conjunto de dados. - Defina
'New Report'!B2
para:=IFERROR(VLOOKUP(CONCATENATE($A2,B$1),'Old Data'!$A:$D,4,FALSE),"")
. - Copie
'New Report'!B2
no restante da coluna até o final do conjunto de dados. - Copie todas as células em
'New Report'!B:B
, começando com'New Report'!B2
e terminando na parte inferior do conjunto de dados, até as colunas restantes à direita. - Selecione a folha
'New Report'
inteira. Copie e cole no local "As Values", para bloquear os dados. - (Opcional) Excluir
'Old Data'!A:A
.
Explicação do passo 14
A fórmula, em resumo, pesquisa 'Old Data' para um valor apropriado para colocar na célula de acordo com o "Part Number" e "AttributeIdentifier" correspondentes. Se nenhum for encontrado, ele deixará a célula em branco.
Observação: eu não testei pessoalmente esta solução para o seu caso de uso. No entanto, estou familiarizado o suficiente com as etapas envolvidas para estar razoavelmente confiante de que deve funcionar para você com pouca necessidade de modificação. Por favor, deixe-me saber se você encontrar algum erro.