在 Excel 中计算同一单元格中的累积和

Posted

技术标签:

【中文标题】在 Excel 中计算同一单元格中的累积和【英文标题】:Calculate Cumulative Sum in Same Cell in Excel 【发布时间】:2020-09-27 08:14:12 【问题描述】:

我想分别计算每件商品的总库存量。 我有最后一列名称“总库存数量”,我想在其中单独求和。

条件:每当我为该项目提供新数量时,它应该被添加/减去相同的单元格“总库存数量”。

例如,我附上了屏幕截图。

这里最初的“总库存数量”是 0,我要添加一个项目 (quantity=15) 到列表中:

现在“总库存数量”应该是 15

现在我为该商品提供新数量(数量=10)

现在“总库存数量”应为 25,即先前值 (15) + 新值 (10)

基本上,每次我为我的商品输入新的库存单位时,它都会更新

那么,我应该怎么做才能使同一个单元格的累积和。

请为我提供一个解决方案:)

【问题讨论】:

请提供您尝试过的内容。然后我们可以帮助您修复或改进它。这不是免费的代码编写服务。您还需要提出一个正确的问题 (How to Ask)。如果您还没有做任何事情,请查看如何使用 Worksheet_Change 事件并尝试返回。 这应该只用于单个单元格还是单元格??? 使用worksheet_change 事件宏来确定何时应添加到Total 单元格。请注意,此方法将消除跟踪更改的能力;解决数据输入错误等问题。更好的方法可能是制作交易历史记录工作表,然后在摘要表上显示此(您的问题中显示的表格)。 【参考方案1】:

下面的代码是一个示例,可以根据需要执行您所描述的操作。 对于您的工作簿/项目,请考虑 Ron Rosenfeld 评论中的警告

单元格“E2”中的更改是对执行求和并更新其他单元格值的宏的触发器。在此示例中,它将单元格“E2”中添加的值与单元格“G2”中的值相加。必须根据您的需要对其进行更新。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$E$2" Then
        Call Update_TsQ
    End If
End Sub

Sub Update_TsQ()

Dim QiS As Long
Dim TsQ As Long

QiS = Range("E2").Value
TsQ = Range("G2").Value

TsQ = TsQ + QiS
Range("G2").Value = TsQ

End Sub

【讨论】:

如果您更改Worksheet_Change 事件中的单元格值,您需要禁用事件Application.EnableEvents = False,否则这将触发另一个更改事件,您可能会陷入循环。 • 确保您有适当的错误处理,这样您就不会以禁用事件而告终,并且在更改事件结束时(或在发生错误的情况下)再次启用它们。

以上是关于在 Excel 中计算同一单元格中的累积和的主要内容,如果未能解决你的问题,请参考以下文章

如何计算一行excel单元格中相同字符的出现次数

excel中,如何在公式中引用某单元格中的数值作为行列号进行计算。

EXCEL中,如何引用一个单元格中的数据,作为另一个单元格内容中的一部分?

C#/VB.NET 在Excel单元格中应用多种字体格式

怎么在excel中一个单元格中显示出自动计算的标记背景颜色的单元格数值的和

怎样取得dataTable中某一单元格的值