arr1 = Array("chocolate","icecream","sweet")
For Each elem In arr1 '<--| loop through 1st array list
fooditem = fooditem + WorksheetFunction.CountIfs(.Columns(1), "sugar", .Columns(20), "yes", .Columns(31), elem)
Next elem
此处,输出仅显示等于巧克力或冰淇淋或甜味的结果。但我想添加总计数。 即总数应等于冰淇淋+巧克力+甜味。 例如在excel中它是= sum(countif(........))
如何在vba中写这个?
任何帮助都非常感谢。 非常感谢你。
答案 0 :(得分:0)
您可以使用Application.SumIf函数,如下所示:
Application.SumIf(Range("B2:B4"), Array("chocolate", "icecream", "sweet"), Range("C2:C4"))
但是,第一个和最后一个参数必须是范围对象。第一个是您正在搜索的范围,最后一个是相应总和的范围。在这种情况下,相应的总和都等于1的事实并不重要 - 它仍然必须是一个范围对象(因此必须在工作表的某处写入1)。
这接近你想要的吗?感谢