2013-04-20 91 views
4

对于后续片材:如何计算只包含VALUE 0而不是公式结果的单元格?

A 
1 0 
2 0 as formula result 
3 0 
4 0 as formula result 
5 0 as formula result 
6 blank 
7 0 

我怎样只计算输入作为值与0细胞,而不是细胞与0作为其公式的结果,即

COUNTIF(A1:A7,0 AS VALUE) = 3

我已经尝试了以下内容:

COUNTIF(A1:A7,0) = 6

COUNTIF(A1:A7,"0") = 6

+0

请注意,在Excel 2013中,如果没有公式,可以使用FORMULATEXT函数执行某些操作,该函数返回'#N/A'。 – 2013-04-20 17:29:13

+0

如果公式结果为空,该怎么办? +1或离开 – 2017-12-26 14:55:03

回答

3

不确定Excel,但VBA具有此功能。所以,你可以定义一个小的UDF来实现这一目标:

Function HasFormula(r as Range) As Boolean 
    HasForumla = r.HasFormula 
End Function 

现在你可以调用与IF此函数和COUNT才能给你结果。

+0

好吧,那么必须采取更多的解决方法。谢谢 – 2013-04-20 15:34:08

0

以下VBA定义的函数将计算一个范围中具有零点的单元格数量。

Function CountZeros(rng As Range) As Long 
    Dim cell As Range 
    CountZeros = 0 
    For Each cell In rng 
     If (cell = 0) And (IsEmpty(cell) = False) And Not (HasFormula(cell)) Then 
      CountZeros = CountZeros + 1 
     End If 
    Next 
End Function 
+0

谢谢,虽然我选择了去@dotNET的路线 – 2013-04-20 15:34:30

7

COUNTIF(A1:A7; 0) 这个工作对我来说

+1

这应该是一条评论。 – David 2015-01-28 12:56:43

0

填充细胞B1这个公式:

=IF(AND(A1=0,ISFORMULA(A1)=FALSE),1,0) 

复制这个公式细胞B2:B7

总和细胞B1:B7,你会得到你想要的。

相关问题