将错误值计数为任何其他值

我有一个如下所示的数据列表。 我正在计算每个唯一值有多less次出现。

但其中一些值是错误值,例如#N/A 有没有一个公式可以计算正常值和错误值?

这个(以数组公式的formsinput)可以计算a和其他常规值:

 =SUM(--IFERROR($A$2:$A$14=C2,FALSE)) 

但是,如果我把它复制下来,显然它不适用于错误值合计,因为它忽略了使用IFERROR的错误。

我知道我可以用这个数字来计算#N/A

 =SUM(--ISNA($A$2:$A$14)) 

但是完全不同, 我不能把它拖到列上。

我正在寻找一个公式,可以容纳两个,而不需要“改变源代码”。

COUNTIF确实数了它们,但我不认为我可以使用它,因为这只是一个更大的数组公式。

在这里输入图像说明

如果您不能使用COUNTIF ,请尝试使用D2公式

 {=SUM(IFERROR($A$2:$A$14=C2,FALSE)+IFERROR(ERROR.TYPE($A$2:$A$14)=ERROR.TYPE(C2),FALSE))} 

=SUM(--IF(ISERROR(C2),IF(ISNA(C2),COUNTIF($A$2:$A$14,"#N/A"),COUNTIF($A$2:$A$14,"#VALUE!")),IFERROR($A$2:$A$14=C2,FALSE)))

它看起来像完成了你想要的,并在数组公式中工作。

在这里输入图像说明

试试这个小UDF()

 Public Function Kount(rng As Range, what As Variant) As Long Dim r As Range, st1 As String, st2 As String st1 = CStr(what) For Each r In rng st2 = r.Text If st1 = st2 Then Kount = Kount + 1 End If Next r End Function 

例如:

在这里输入图像描述

在这个例子中, C4C5都是文本值。