从 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))
我有一个 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))