Como subtrair (calcular delta) entre duas planilhas?

Como subtrair (calcular delta) entre duas planilhas?

Tenho dois instantâneos de dados em tabelas grandes em duas planilhas diferentes. Basicamente as planilhas têm conteúdo idêntico, mas os números são de momentos diferentes. Preciso calcular o delta entre esses momentos.

Como calcular facilmente o delta (por exemplo, subtrair cada célula da planilha 1 da planilha 2 e armazenar o resultado na respectiva célula da planilha 3)? As células não numéricas têm conteúdo idêntico e devem ser copiadas como estão.

Eu preferiria algo que funcionasse com o LibreOffice Calc, mas poder fazer isso com o MS Excel é aceitável.

Responder1

O código a seguir comparaFolha1paraPlanilha2. SeFolha1contiver texto ou espaços em branco, essas células serão copiadas diretamente paraFolha3. SeFolha1células contêm números, então o código subtrai o valor dePlanilha2e armazena a diferença emFolha3:

Sub BigDelta()
    Dim s1 As Worksheet, s2 As Worksheet, s3 As Worksheet
    Dim rng As Range, addy As String, v As Variant, cell As Range

    Set s1 = Sheets("Sheet1")
    Set s2 = Sheets("Sheet2")
    Set s3 = Sheets("Sheet3")
    Set rng = s1.UsedRange

    For Each cell In rng
        addy = cell.Address
        v = cell.Value
        If v = "" Then
        ElseIf IsNumeric(v) Then
            s3.Range(addy) = v - s2.Range(addy)
        Else
            s3.Range(addy) = v
        End If
      Next cell
End Sub

Responder2

Se bem entendi, a estrutura das duas tabelas é a mesma, apenas os dados nela contidos são diferentes, e você só deseja calcular a diferença entre os dados e adicioná-los à terceira tabela.

Fiz uma amostra de dados relativamente simples, você só precisa usar a fórmula simplesmente na terceira pasta de trabalho:"=Planilha2!XX-Planilha1!XX"

insira a descrição da imagem aqui

informação relacionada