我正在创建一个基于 2 个条件计算的公式。我的逻辑是错误的 - 再次。
当我(手动)输入代码求和公式(COUNTIFS)到正确的单元格本身时,它会正确求和:
COUNTIFS(E4:E1362,"Requirement",S4:S1362, "<>4")
当我执行以下代码行时,我没有收到任何错误,而是所有的总和都为零。
Range("G" & Start(groups) - 1).Formula = "=COUNTIFS(E" & Start(groups) & ":E" & Finish(groups) & "," & "Requirement" & ",S" & Start(groups) & ":S" & Finish(groups) & "," & Chr(34) & "<>4" & Chr(34) & ")"
我意识到 COUNTIFS 正在将 S 列中的值与字符串“<>4”进行比较。并且没有一个单元格包含该字符串。这就是为什么我所有的价值观都是零。我不希望比较针对该字符串。我希望比较的列 S 值不等于 4。
因此,我将行更改为(以及使其工作的变体):
Range("G" & Start(groups) - 1).Formula = "=COUNTIFS(E" & Start(groups) & ":E" & Finish(groups) & "," & "Requirement" & ",S" & Start(groups) & ":S" & Finish(groups) & "," & Chr(34) & "<>" & Chr(34) & "4)"
所以,我很茫然。(1) 我手动输入公式并且它有效。(2) 我在 VBA 中构建它,但它的总和不正确。(3) 我查找了如何正确构建公式,但我一次又一次地出错。似乎让它工作的唯一方法是将引号保持在引号内,但我不想与字符串进行比较。
这有意义吗?我不再喜欢我的工作表了。它不再有任何乐趣。:(
太感谢了。