关于 Index 一个数值会返回文本的迷惑

=LET(a,FILTER(A1:A3,A1:A3="D",0),IF(INDEX(a,1,1)=0,"不存在D","存在D"))

用Filter在A列中查找"D", 如果找不到第三参数返回0, 然后用if判断一下结果a是否是0,

提取结果a用了几种不同的方式, 其中Index(a,1,1)返回的值很让人迷惑,详见图中红框部分.

Index(a,1,1)=0返回False, Index(a,1,1)="0"返回True, 难道Index出来的是文本?

调试Wps和Excel的计算结果也是不一致的. 

Excel符合预期, Wps有Bug.

Wps17158 x64:

M365:

=LET(a,99,INDEX(a,1,1)=99)

用上面公式录了个屏, 请注意看Index的返回结果

这个是Wps的:

下面这个是Excel的:

测试了以下公式, 结果也是错的:

=ISNUMBER(INDEX(IF(TRUE,99),1,1))    --> False

=ISTEXT(INDEX(IF(TRUE,99),1,1))           -->True

河南省
浏览 481
1
7
分享
7 +1
6
1 +1
全部评论 6
 
孙栋
孙栋

@金山办公

已确认是INDEX函数bug
· 广东省
回复
 
聂道强
聂道强

@金山办公

感谢反馈,下个版本修复
· 广东省
回复
 
WPS社区反馈员
WPS社区反馈员

WPS社区管理员

您好,请问下您本地测试微软和WPS是使用的同一份文档吗。
· 湖北省
回复
Boyuan
是的
· 河南省
回复
 
wps新路
wps新路

WPS函数专家

用take可以吗?
· 重庆
回复
Boyuan
take是正常的
· 河南省
回复