Vba 计算多个标准

Vba 计算多个标准,vba,excel,excel-formula,countif,Vba,Excel,Excel Formula,Countif,我试图计算多个条件,并让代码以某种方式与SUMPRODUCT一起工作 Range("i2") = [SUMPRODUCT(($CZ$2:$CZ$61410="condition 1")*($DD$2:$DD$61410="condition 2")*($CU$2:$CU$61410=$A$2 <-/date/)*($CY$2:$CY$61410="condition 3"))] 大约有40个不同条件的柱。所以我必须为每个条件编写代码。但这对我来说并不管用,因为我整个月都要做同样的事情 解

我试图计算多个条件,并让代码以某种方式与SUMPRODUCT一起工作

Range("i2") = [SUMPRODUCT(($CZ$2:$CZ$61410="condition 1")*($DD$2:$DD$61410="condition 2")*($CU$2:$CU$61410=$A$2 <-/date/)*($CY$2:$CY$61410="condition 3"))]
大约有40个不同条件的柱。所以我必须为每个条件编写代码。但这对我来说并不管用,因为我整个月都要做同样的事情

解释

单元格A2到A32保留日期,比如从8月1日到8月31日。 同一张表上的原始数据表在CU列上的日期可能超过60000行。 列CZ、DD、CY等具有必须满足才能计数的条件

问题:

我想做的是,如果列CU中的日期=A2中的日期,那么它将被计算到第2行,如果列CU中的日期=A3中的日期,那么它将被计算到第3行


这样,我可以为整个月编写一个代码,而不是每天单独编写。

如果首选此类型,我首先提供公式工作表函数的解决方案:

=COUNTIFS(CZ:CZ,"=1",DD:DD,"=2",CY:CY,"=3", ... CU:CU,"="&A2)  
以及根据所选日期显示黄色单元格结果的图像:

这统计A2中选择的日期上与第1行中显示的硬编码标准相匹配的实例数,以便于说明

没有标准的硬编码,但可能与OP的“匹配”稍好,并有更多示例:

除突出显示外,C6的内容通过以下宏输入:

Sub Macro1()
    Range("C6").Select
    ActiveCell.FormulaR1C1 = "=COUNTIFS(C[101],R1C[101],C[105],R1C[105],C[100],R1C[100],C[96],""=""&RC[-2])"
End Sub