这有点棘手。当值最大为500-800时,我想在同一组内进行多个求和(需要决定)。从第7到28行,我的产品类别为B1-2-2。在E列中,我正在说明我的工作。
在对D7:D14求和时,我得到595。然后我重新开始,对行求和,直到得到738,它仍然是同一类别(B1-2-2)。
从类别B1-1-2中可以看到,值大于500-800,并且它们仅返回自己的值。
我正在寻找一种开始的方式。 非常感谢
答案 0 :(得分:0)
似乎您正在尝试通过对相似产品类别的产品进行分组来求和,然后对其进行过滤以查看值是否大于500-800。
解决此问题的一种方法是创建一个数据透视表,其中您的两行将是产品类别,然后是product,然后您的值将是合计列。然后,您可以将结果复制并粘贴到另一个表中,然后可以按总数> 500-800进行过滤。
答案 1 :(得分:0)
答案 2 :(得分:0)
VBA脚本无法完成任务
Sub calculateSum()
Dim rng As Range
Dim lastRow As Long, category As String, cost As Long, totalCost As Long, nextCost As Long
Dim i As Integer, j As Integer
Sheets(5).Activate
lastRow = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastRow
category = Cells(i, 2)
cost = Cells(i, 4)
totalCost = totalCost + cost
Cells(i, 5) = 0
'Case : 1 Cost more than 800
If totalCost > 800 Then
Cells(i, 5) = cost
totalCost = 0
Else
'Case : 2 Cost is less than 800
If category = Cells(i + 1, 2) Then
If (totalCost + Cells(i + 1, 4)) > 800 Then
Cells(i, 5) = totalCost
totalCost = 0
End If
Else
Cells(i, 5) = totalCost
totalCost = 0
End If
End If
Next i
End Sub