从 SumIfs 中排除彩色单元格

Exclude coloured cells from SumIfs

我有一个 table 这样的:

我需要在 VBA 中创建一些 Sumifs 命令以从条件中排除绿色单元格。我有 excel 公式 =SUMIFS(D:D;C:C;1) 并且需要以某种方式添加下一个条件。在 VBA 我有:

Sub TotalItems()
    Dim sum As Integer
    sum = Application.WorksheetFunction.SumIfs(Range("D:D"), Range("C:C"), _
         3)
   MsgBox sum
End Sub

其中 returns 10.

我只需要计算 "A:A" 范围内没有任何边框颜色的行数。我试过这样写公式,但是 returns 出错了:

 Application.WorksheetFunction.SumIfs(Range("D:D"), Range("C:C"), 3, Range("A:A").Interior.Color, 0)

知道如何解决这个问题吗?

您可以使用 SUMPRODUCT() 而无需 VBA:

=SUMPRODUCT((C1:C100=3)*(D1:D100)*(A1:A100 <>"")*(countif(Sheet2!A:A,A1:A100)=1))