Classificação automática do Excel e dados correspondentes

0

Estou tentando usar uma fórmula para encontrar correspondências e classificar colunas com base nos dados correspondentes (números). Os grupos são bastante grandes (32.000 linhas) de números.

Eu posso classificar os dados e ter uma fórmula informando se há uma correspondência, mas preciso classificar cada coluna individualmente e, depois, preciso ajustar todas as células que não correspondem, movendo-as para cima ou para baixo célula.

É possível ter uma fórmula para classificar os dados e, na verdade, mover as células para que correspondam de forma que as duas células exibam os mesmos dados? e se não houver nada para combinar, apenas exibe um espaço em branco ou, melhor ainda, a diferença em SUM das duas células?

    
por Tanya 15.05.2017 / 20:49

1 resposta

1

Aqui está uma macro que eu escrevi que faz o que você quer. Já assume duas listas ordenadas. Modifique para ajustar suas colunas, exclua o que você não precisa e, possivelmente, adicione uma função de classificação no começo. Aproveite!

Sub compareCheckNumbers()

'Macro1 Macro

'compare os números dos cheques e exclua se a linha estiver correspondendo

rowNum = 3
Do
    If (Range("C" & rowNum).Value > Range("L" & rowNum).Value) Then
        'shift down first set
        Range("A" & rowNum & ":G" & rowNum).Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    ElseIf (Range("C" & rowNum).Value < Range("L" & rowNum).Value) Then
        'else shift down second set
        Range("J" & rowNum & ":P" & rowNum).Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    ElseIf (Range("C" & rowNum).Value = Range("L" & rowNum).Value And Range("D" & rowNum).Value = Range("M" & rowNum).Value And Range("F" & rowNum).Value = Range("O" & rowNum).Value) Then
        'delete outstanding data if matching
        Range("A" & rowNum & ":G" & rowNum).Select
        Selection.ClearContents
    End If
    rowNum = rowNum + 1
Loop While (Range("C" & rowNum).Value <> "")

End Sub

    
por 16.05.2017 / 00:14