【发布时间】:2017-03-18 22:43:04
【问题描述】:
我有一个 VBA 程序,它扫描工作表并产生计数,其中单元格 C 不等于某些颜色,但列 I 设置为一个值。这是程序:
FormulaR1C1 = "=COUNTIFS(Sheet1!C[-2],RC[-2],Sheet1!C,""<>Red"",
Sheet1!C,""<>Blue"",Sheet1!C,""<>Green"",Sheet1!C,""<>Black"",
Sheet1!C,""<>Purple"",Sheet1!C,""<>White"",
Sheet1!C[6],""Temp"")"
条件已经改变,我需要为计数条件添加另一个条件,所以我认为这将是添加逗号和条件到末尾这样的快速修复
FormulaR1C1 = "=COUNTIFS(Sheet1!C[-2],RC[-2],Sheet1!C,""<>Red"",
Sheet1!C,""<>Blue"",Sheet1!C,""<>Green"",Sheet1!C,""<>Black"",
Sheet1!C,""<>Purple"",Sheet1!C,""<>White"",
Sheet1!C[6],""Temp"",Sheet1!C[6],""Perm"")"
但是 - 现在这总是返回 0。在 VBA 中将辅助条件添加到 CountIFS() 的正确方法是什么
编辑
我要添加的第二个参数也应该是“或”条件,所以 Sheet1!C[6] = Temp OR Perm
编辑 2
我试图像这样编辑我的语法
FormulaR1C1 = "=COUNTIFS(Sheet1!C[-2],RC[-2],Sheet1!C,""<>Red"",
Sheet1!C,""<>Blue"",Sheet1!C,""<>Green"",Sheet1!C,""<>Black"",
Sheet1!C,""<>Purple"",Sheet1!C,""<>White"",
Sheet1!C[6],""Temp"")"
+
"COUNTIFS(Sheet1!C[-2],RC[-2],Sheet1!C,""<>Red"",
Sheet1!C,""<>Blue"",Sheet1!C,""<>Green"",Sheet1!C,""<>Black"",
Sheet1!C,""<>Purple"",Sheet1!C,""<>White"",
Sheet1!C[6],""Perm"")"
但这给了我一个错误
应用程序定义或对象定义错误
【问题讨论】:
-
在
COUNTIFS内,一切都是AND... 对于OR,只需将您的COUNTIFS相加,例如=COUNTIFS(...Temp...)+COUNTIFS(...Perm...)。与您的情况不同,请记住:如果 OR 的多个部分为真,您需要减去发生这种情况的情况,否则将被计算多次。 -
@DirkReichel - 查看我的编辑。我必须离开语法。我试图在其中添加一个 + 并收到错误....感谢您的建议。单元格中只有一个答案的可能性,我只需要检查两者。
-
您的问题与此惊人地相似:stackoverflow.com/questions/42880532/…。你们可能在做同一个项目吗?无论如何 - 其他问题的答案是这只是一个错字。
-
@RobinMackenzie - 不幸的是,在我的例子中没有错字。好吧,语法中可能有,我只是看不到。不,不是同一个项目。
标签: vba excel excel-2013 worksheet-function