O VBA pode não ser necessário. Ajudante Colunas são seu amigo aqui. Experimente as fórmulas abaixo
- assumindo que
Column6
éE
eColumn 8
éG
e as colunas auxiliares abaixo estão iniciando emColumn9
/H
- se você tiver seus dados em
DataTable
, terá outra opção de sintaxe
R1C1
-
=Concatenate( E2, F2, G2 )
< -H
-
=Concatenate( E2, G2 )
< -I
-
=CountIfs( I:I, I2 )
< -J
-
=Row()
< -K
-
=IF( J2=1, H1, INDEX(H:H, AGGREGATE( 15,6,K:K/--(I:I=I2), 1 ) ) )
< -L
A coluna L
retornará o primeiro valor de linha encontrado na Coluna H
para o valor de concatenação exclusivo na Coluna I
. Se o seu conjunto de dados for muito grande, o método Index( Aggregate() )
poderá estourar e falhar. Mas supondo que funcione, você pode Copy-Paste Values Only
da coluna L
em uma nova planilha e Remover duplicatas ( Alt
+ A
+ M
para abrir o diálogo). Se você delimitar a concatenação na Coluna H
, ela ajudará a dividir os valores novamente em colunas na nova planilha.