当特定事件发生时,您如何告诉 excel 将一个单元格的值添加到另一个单元格?

How do you tell excel to add a value from one cell to another when something specific occurs?

我正在创建预算和总帐,我需要输入美元金额以添加到 GL 代码指定的单元格中。

当该行的 "GL Code" 标记为 "Council Food" 或我将在付款表上表示的数字时,我希望将该条目 (22.50) 的美元金额添加到我在主预算 sheet 中选择的单元格。我希望能够对主预算中的所有不同行执行此操作。

我认为 SUMIFS function 可能会帮助您实现这一目标。例如:

=SUMIFS('Disbursement Ledger'!$B:$B,'Disbursement Ledger'!$F:$F,"Council Food")

将对 "Disbursement Ledger" sheet 中 B 列中的所有内容求和,其中 F 列包含文本 "Council Food".

但是,您可能应该在 "Master Budget" sheet 中添加一列,其中包含每一行的 GL 代码。假设您将 GL 代码放在 H 列中(因此,H36 将是 "Council Food"),那么 G36 的公式将是:

=SUMIFS('Disbursement Ledger'!$B:$B,'Disbursement Ledger'!$F:$F,$H36)

因此,如果您在支付分类账中的下一个条目是 10.00 美元并且 GL 代码为 "Council Food",那么您在 "Master Budget" sheet 上的 G36 单元格将显示 32.50 美元.

您必须使用工作表事件。在 vent 处理程序中添加 if 条件以处理特定的行和列。参考 link and some precautions.

W.r.t。处理逻辑@elmer007 提到了 SUMIF。继续下去应该问题不大。

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

' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
'Here range depends on the cells you want to track
Set KeyCells = Range("A1:C10")

If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
    ' Place your processing code here.       
End If
End Sub