【问题标题】:Subtract Amount From Cell Until It Reaches 0 multiple reminding amount从单元格中减去金额,直到达到0倍提醒金额
【发布时间】:2016-04-28 18:34:22
【问题描述】:

我下面的公式减去一个单元格直到它达到零,然后移动到下一个。减法基于值“B”。每次公式遇到值“B”时,都会执行此操作。

问题:我一直在尝试将其推进到公式中,因为每次发现“B”时,单元格都是负数,直到零,并且这些金额乘以相邻价格。 能否请您提供一个可以做到这一点的公式?

示例:当遇到第一个 B 时,将乘以 100 x 10 的全部值,并且提醒 50 将乘以 15,即下一个 A 的 50 x 15 价格。这些值将被求和。

=MAX(SUMIF($A$2:A2,"A",$B$2:B2)-SUMIF($A$2:$A$10,"B",$B$2:$B$10),0)

50 的提醒来自 B 150 - A 100 之间的差异,这使得 50 仍然被吸收。

进一步计算说明:

抱歉,意思是计算6000

【问题讨论】:

  • 您的问题是陈述,而不是问题。你的例子需要更清楚。你说的这个“剩余 50”是什么?
  • @oldUgly 提醒 5o 在 150 - 100 = 50 之间。
  • 这个操作一直持续到B被吸收完为止。
  • @oldUgly 问题已更新
  • 找不到你。 1)你的数据是什么?我猜是 A、B 和 C 列。 2) 你的答案 ($1,750) 来自哪里?请更好地解释您想要实现的目标。

标签: excel loops excel-formula vba


【解决方案1】:

你的问题还是很不清楚。 “我下面的公式减去一个单元格直到它达到零”是什么意思?另外,正如 OldUgly 指出的那样,您似乎忽略了第二个 A。由于我们彼此无法理解,请查看下面的代码并尝试自己重写以满足您的需求。它假定数据在名为“Data”的工作表中,并且有一个按钮 (Button1) 可以运行代码。

Dim lLastRow As Long
Dim i As Integer
Dim QtyNumberA, QtyNumberB, QtyNumberRem As Integer

Sub Button1_Click()
lLastRow = Worksheets("Data").Cells(2, 1).End(xlDown).Row 'Rows with data, starting 2nd row (titles in the first)
QtyNumberA = 0 'Variable for storing quantities of A
QtyNumberB = 0 'Variable for storing quantities of B
QtyNumberRem = 0 'Variable for storing quantities remaining

For i = 2 To lLastRow 'scan all rows with data
    If (Worksheets("Data").Cells(i, 1).Value = "A") Then
        QtyNumberA = QtyNumberA + Worksheets("Data").Cells(i, 2).Value
    ElseIf (Worksheets("Data").Cells(i, 1).Value = "B") Then
        QtyNumberB = QtyNumberB + Worksheets("Data").Cells(i, 2).Value
        QtyNumberRem = QtyNumberA - QtyNumberB
        Worksheets("Data").Cells(i, 6) = QtyNumberRem
    End If
Next
End Sub

【讨论】:

  • 我在上面的问题中添加了解释。感谢您的帮助
  • 如果减法必须是连续的,我会创建 al 数组来存储 A 的 Quantity:Price 对(例如:ArrayA=((100,10),(250,15),....),每次找到 B 时,我都会从第一个中减去ArrayA 的元素。如果 B 数量大于第一个元素,则通过消除第一个元素来缩小 ArrayA,并将(原始)第二个元素(现在是第一个元素)设置为剩余数量。
猜你喜欢
  • 1970-01-01
  • 2023-04-01
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多