[反馈]TOCOL与FILTER嵌套问题

TOCOL无法排除filter产生的错误值

=COUNTA(TOCOL(FILTER($B$2:$B$99,$A$2:$A$99=C4,0/0),3))

官网最新版本18276

广东省
浏览 270
收藏
5
分享
5 +1
5
+1
全部评论 5
 
WPS社区小助理
WPS社区小助理

@金山办公

您好,在tocol函数中第二个参数从3改成2后即可。 按照函数计算,FILTER函数出来的结果应该是每个数值都空值(等于0)的数组。 在tocol函数如果选择1或者3,把空值忽略,那么FILTER返回的数组就完全被忽略了,这个时候就会报错#CLAC; 而选择2,只是忽略错误值,FILTER函数返回的是空值数据,这个时候tocol函数返回的也是空数组了,就正常了。
· 广东省
回复
啊啊啊啊
您好,
· 广东省
回复
 
懒得批爆
懒得批爆

创作者俱乐部成员

这是TOCOL函数的规则, 图一:当数组中出现只有一个值,且为错误值时,二参选择3,返回"#CALC!" 图二:当数组中出现一个常量,一个错误值,二参选择3,则返回常量。 你可以用过IFERROR将错误值转为"",再来计算 比如图三:=LET(x,IFERROR(TOCOL(FILTER($B$2:$B$6,$A$2:$A$6=D4,0/0),3),""),IF(x="",0,COUNTA(x)))
· 四川省
1
回复
懒得批爆
懒得批爆

创作者俱乐部成员

函数官方解释: 返回 #VALUE! 当数组常量包含一个或多个不是整数的数字时。 当数组太大时,Excel 将返回 #NUM。
· 四川省
回复