excel如何统计满足条件的非隐藏单元格的总和?

如图,现有A1-A8单元格,和B1-B8单元格。 其中第四行被隐藏了,被隐藏掉的A4单元格的值是B,被隐藏掉的B4单元格是4。 现在我的需求是,在E2单元格算出:A列中所有满足参考单元格D2:D3的单元格对应的B列中的值的总和(非隐藏单元格不统计)。按照现在这种情况,E2单元格的值应该是1+2+3+5+6=17。

=SUM(SUMIF(A1:A8,D2:D3,B1:B8))

按住Ctrl+shift+enter组合键确定数值公式的计算结果

忽略不计隐藏的单元格进行条件求和,在工作表函数中无法实现,可以考虑使用代码来做。

Sub 宏1()

For Each Rng In Sheet1.Range("a1:a8")

If Rng.EntireRow.Hidden = False Then

If Rng.Value = Sheet1.[d2] Or Rng.Value = Sheet1.[d3] Then

a = a + Rng(1, 2)

End If

End If

Next

Sheet1.[e2] = a

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-10
SUBTOTAL(9,B1:B8)试试
第2个回答  2017-02-10
Sub 宏1()
Dim D As Object, I%, r%
Set D = CreateObject("scripting.dictionary")
r = Range("a65536").End(xlUp).Row
For I = 1 To r
If Range("a" & I).EntireRow.Hidden = True Then D(Range("a" & I).Value) = D(Range("a" & I).Value) + Range("b" & I).Value
Next
Range("d2:e65536").Clear
Range("d2").Resize(D.Count) = Application.Transpose(D.Keys)
Range("e2").Resize(D.Count) = Application.Transpose(D.items)
End Sub本回答被提问者采纳
相似回答