【问题标题】:Exclude coloured cells from SumIfs从 SumIfs 中排除彩色单元格
【发布时间】:2016-05-03 19:23:30
【问题描述】:

我有一张这样的桌子:

我需要在 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

返回 10。

我只需要计算“A:A”范围内没有任何边框颜色的行。我试着这样写公式,但它返回一个错误:

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

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

【问题讨论】:

  • 什么设置颜色?是条件格式吗?
  • 是的,绿色是一种条件格式。
  • 好的,那它是绿色的条件是什么?您将需要使用它。
  • 如果是条件格式,那么显而易见且最可靠的解决方案是针对导致绿色的条件而不是绿色本身。
  • A 列中的 应该是唯一的数字。如果其中一些存在于另一张表中,则此单元格为绿色,此行应从 sumifs 中排除

标签: vba excel sumifs


【解决方案1】:

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

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

【讨论】:

  • @otis 如果这解决了您的问题,请通过单击答案旁边的复选标记将其标记为正确。这是只有你才能做的事情。
  • 仅供参考,如何将 sumproduct 公式重写为 VBA 命令?
猜你喜欢
  • 2014-05-01
  • 2017-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多