我在Excel电子表格中有三列:名称,类型和数量。 (我还有更多,但其他与这个问题无关)。每行包含一张纸牌的名称,其类型和卡组中包含的副本数,例如:
在此表之外的其他单元格中,我拥有卡的总数。例如,“范围”类型的卡总数。
=COUNTIF(D2:D70; "*ranged*")
这向我显示的是,牌组中实际上包含多少张不同类型的“ ranged”牌,但实际上没有多少张“ ranged”牌。
我想要一种计算“远程”卡数量的方法。意思是所有“远程”卡的“金额”之和。
在for循环中,这将是:如果第2行中的Type =“ ranged”,则将第2行中的Amount添加到总数中,然后对所有行重复此操作。
我已经使用VBA进行了此操作,但是,我必须手动对其进行更新。另外,在“类型”列中不能有多个不同的值,因为x必须等于该单元格的内容的100%才能注册。
Sub Cardtypetotal()
result = 0
x = InputBox("SortBy", "Enter_Info")
For i = 2 To 63
If Cells(i, 3).value = x Then
result = result + Cells(i, 5).value
End If
Next
ActiveCell.value = result
End Sub
是否可以使用excel公式执行此操作?谢谢。
我尝试使用:
=SUMIF(E2:E63; D2:D63 = "*ranged*")
但是显然,这没有任何意义,因为我需要比较单个单元格而不是数组。
答案 0 :(得分:-1)
您可以通过查看SUMIFS
函数here的文档来解决大多数该函数问题。
您上面的sumifs语句使用了错误的语法。您应该使用逗号,而不是分号,等号也应该是逗号,并且不要在“ ranged”前使用星号。这样您的公式就可以正常工作了。
如果上面的图像显示的是A,B和C列,则可能是这样
=SUMIFS(C:C,B:B,"ranged")