如何进行两张表之间的减法(计算增量)?

如何进行两张表之间的减法(计算增量)?

我在两张不同的工作表上的大表中有两张数据快照。基本上,工作表的内容相同,但数字来自不同的时刻。我需要计算这些时刻之间的增量。

如何轻松计算增量(例如,从工作表 2 中减去工作表 1 上的每个单元格,并将结果存储在工作表 3 上的相应单元格中)?非数字单元格具有相同的内容,应按原样复制。

我更喜欢可以与 LibreOffice Calc 配合使用的东西,但使用 MS Excel 来实现这一点也是可以接受的。

答案1

以下代码比较工作表1工作表2。 如果工作表1包含文本或空白,这些单元格将直接复制到工作表3。 如果工作表1单元格包含数字,则代码从中减去该值工作表2并将差值存储在工作表3

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

答案2

如果我理解正确的话,这两个表的结构是一样的,只有里面的数据不同,而你只是想计算数据之间的差异并将其添加到第三个表中。

我制作了一个相对简单的示例数据,您只需要在第三个工作簿中简单地使用公式即可:“=Sheet2!XX-Sheet1!XX”

在此处输入图片描述

相关内容