在现有总数中添加不同的新值

在现有总数中添加不同的新值

我在 Excel 中有两个单元格(A1 和 B1)。A1 应该每月根据销售额更改不同的值。B1 的现有值为 100 美元。

8 月份的销售额为 150 美元(应输入到 A1 单元格中)。我想将这 150 美元添加到 B1 单元格中现有的 100 美元中,使其成为 250 美元(非常简单)。

但是,对于下个月,我想在单元格 A1 中输入不同的值;比如说 200 美元,并且我希望将这 200 美元添加到单元格 B1 中的 250 美元中,变成 450 美元。

我不想复制粘贴。在指定的同一个单元格中,我想输入不同的值,而每次输入的值都应添加到单元格 B1 中的值中。

我想知道我是否可以在 Excel 中做到这一点。

答案1

我认为您无法完全按照自己的意愿做,因为一旦您将单元格 A1 从 150 更改为 200,旧值 150 就不再存在。

一种可能性是,你继续全部一列中存储月销售值,并在另一列中使用公式计算所有值的总和。例如,如果您分别在 A1、A2 和 A3 中存储 100、150 和 200,则可以使用公式计算=Sum(A:A)A 列中所有值的总和。请注意,这要求您不要在 A 列中存储任何其他内容,否则公式应仅包含可能包含月销售值的单元格,例如=Sum(A1:A12)

在此处输入图片描述

答案2

您可以使用 VBA 编程来实现您想要做的事情。在您的默认工作表 Sheet1 中,您有单元格 A1,该单元格每月都会被覆盖,而单元格 B1 是您希望查看累计总数的地方。

右键单击 Sheet1,然后单击“查看代码”。或者按 ALT + F11,然后双击 VBA 项目下左侧窗格中的 Sheet1。

将打开一个空白的 VBA 代码窗口。在其中输入以下代码。

   Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    Set KeyCells = Range("A1")

    If Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then

    Else
       If IsNumeric(Range("A1").Value) Then
            Range("B1").Value = Range("B1").Value + Range("A1").Value
       Else

       End If
    End If
End Sub

保存并退出。将工作簿另存为 filename.xlsm。即启用宏的工作簿。现在,当您覆盖单元格 A1 中的值时,它将被添加到 B1。确保您仅在需要时更新 A1,否则它将继续将其添加到 B1。此代码中没有实现这样的验证,即 A1 每月只能更新一次!只是进行基本检查,确保 A1 应该是数字,以防止运行时错误。

在此处输入图片描述

其他参考https://support.microsoft.com/en-in/help/213612/how-to-run-a-macro-when-certain-cells-change-in-excel

相关内容