对列进行计数/求和但不包括#N/A.

LOZ*_*LOZ 0 excel vba excel-vba excel-formula

目前使用以下forumlas来计算所有Z列中没有#N/A但不起作用的记录数.Z列中的所有行都有一个公式本身(这就是为什么它们中的一些显示#N/A,它是一个VLOOKUP).

=COUNTA(Z:Z)-SUM(IF(ISNA(Z:Z),1))
=SUMPRODUCT(--(TRIM(Z:Z)<>"#N/A"))
Run Code Online (Sandbox Code Playgroud)

这些返回"0"值不是真的,我做错了什么?

在此输入图像描述

chr*_*sen 7

如果您使用的是Excel 2010或更高版本,则可以计算非错误值(常规公式)

=AGGREGATE(3,6,Z:Z)
Run Code Online (Sandbox Code Playgroud)


小智 5

没有理由为此使用数组公式,你可以做类似的事情

=COUNTIFS(Z:Z, "<>#N/A",Z:Z, "<>")
Run Code Online (Sandbox Code Playgroud)

要么

=COUNTA(Z:Z) - COUNTIF(Z:Z,"=#N/A")
Run Code Online (Sandbox Code Playgroud)

第一个计算每个非空白,非#N/A细胞.第二个做了你现在要做的事情,并从每个非空白细胞的总数中减去#N/A细胞的总数.也许使用ISNA在技术上更正确或更快,但在大多数情况下这可能也适用.