Encontre blocos de várias linhas

0

Eu tenho um arquivo do Excel que contém blocos de linhas variando de um a um máximo de 13 linhas em cada bloco, seguido por uma linha vazia após cada bloco de dados. Eu gostaria de encontrar os blocos que são idênticos a qualquer outro bloco de linhas. Eu sei que posso remover duplicatas usando Remover duplicatas e marcando-as com formatação condicional, mas isso só compara linhas únicas. Então, minha pergunta é: Existe uma maneira de marcar esses blocos que são idênticos a outro bloco?

EDIT: Para esclarecer de que tipo de dados eu estou falando: É uma lista de objetos de aço que são produzidos pela soldagem de vários outros objetos de aço. Então meus dados parecem um pouco assim:

Item --- Component --- Amount required --- Other columns...
Item1 --- Component1 --- 1 --- ...
Item1 --- Component3 --- 2 --- ...
Item1 --- Component8 --- 1 --- ...
Empty row (Only for readability of data, is not neccesary)
Item2 --- Component3 --- 2 --- ...
Item2 --- Component4 --- 3 --- ...
Empty row (Only for readability of data, is not neccesary)
Item3 --- Component3 --- 2 --- ...
Item3 --- Component4 --- 3 --- ...
Empty row (Only for readability of data, is not neccesary)
Item4 --- Component8 --- 1 --- ...
Empty row (Only for readability of data, is not neccesary)
...

Como você pode ver, apenas os blocos de linhas do item 2 e 3 são idênticos. Então, estes devem ser marcados como duplicados. A terceira linha do primeiro bloco e a primeira linha do quarto bloco são idênticas, mas como nem todos os blocos são idênticos, eles devem ser ignorados. Espero que isso esclareça um pouco a situação.

    
por Nils Tiebos 04.01.2016 / 15:42

1 resposta

1

Você pode fazer isso com alguma coluna auxiliar:

  1. crie uma coluna na qual concatene todas as descrições de componentes:
    =IF(A2=A1,E1&",","")&B2
  2. crie uma coluna para mostrar se uma linha é a última de um item:
    =A2<>A3
  3. na próxima coluna, você pode mostrar se um item é duplicado:
    =IF(E2="","",IF(A2=A3,G3,COUNTIFS($E$2:$E$13,E2,$F$2:$F$13,TRUE)>1)) , onde:
    • =IF(E2="","",...) - apenas mantenha a célula em branco se a linha estiver vazia
    • IF(A2=A3,G3,...) - distribui o mesmo valor para todas as linhas de um item de sua última linha (onde tem a lista completa de componentes)
    • COUNTIFS($E$2:$E$13,E2,$F$2:$F$13,TRUE)>1) - verifica se o item está duplicado

Estasoluçãomarcatodasasduplicatas,ébomfiltrá-las,sevocêquiserremovê-las,talveznãoqueirafiltrarasprimeirasocorrências,apenaspararepetições.Nessecaso,apenasaltereareferênciade$E$2:$E$13para$E$2:$E2

Atualização1

Seaordemdoscomponentesnãoforamesmaemtodosositens,vocêprecisaráordená-losparaqueesteprocessofuncione:naprimeiraordem,por"Componente" e, em seguida, por "Item".

    
por 05.01.2016 / 08:58