无法获取SUM(SUMIF以与VBA一起使用,将产生“运行时错误1004”。SUM(SUMIF通常用于Excel中使用多个条件进行求和。这是我的公式。
Worksheets("units").Cells(i, j).FormulaR1C1 = "=pws!R[0]C[0]+SUM(SUMIF(pws!R1C3:R1C" & (2 + numlxp) & ",central!C[1]R3:C[1]R" & (2 + numatt) & ",pws!R[0]C3:R[0]C" & (2 + numlxp) & "))"
我还尝试了一个使用OFFSETS而不是R1 C1的版本。OFFSETS版本在Excel本身中工作,但在VBA中不工作。
然后,我尝试简化为以下内容,以查看SUM(SUMIF是否存在问题,特别是在VBA中,但它返回了一个带有@的公式,表示隐式相交,并给出了错误的结果“0”:
Worksheets("units").Cells(2, 2).Formula = "=SUM(SUMIF(pws!C1:L1,central!C3:C6,pws!C2:L2))"
1条答案
按热度按时间tzdcorbm1#
尝试将SUMPRODUCT与一元运算符结合使用:
黄色单元格将是条件(在您的示例中,
central!C3:C6
)。单元格C6中的公式为:
单元格C7中的公式为:
第一个公式忽略条件中的重复值,第二个公式不忽略。第二个公式更容易实现,但如果您的条件有重复值,它将复制结果,所以要小心并明智地选择。就像示例一样,注意如果我的两个条件相同,则每个公式返回不同的输出:
无论如何,当你完成选择,你应该能够实现这在VBA代码如下(或种):
SUMPRODUCT and Double Unary Operators