动态数组BUG问题

=LET(底表,$A$3:$C$15,数据源,DROP(底表,1),表头,TAKE(底表,1),年月,XLOOKUP("年月",表头,数据源),年月) xlookup引用单列公式,通过let自定义名称来引用,结果xlookup的结果只体现一个单元格,而不是动态列区域。如果不用let,直接引用列,是正常的,用let就不正常了。而excel是这个公式是能正常体现动态单列区域的。 用的是最新版64位wps
湖北省
浏览 451
收藏
2
分享
2 +1
7
+1
全部评论 7
 
黄帅
黄帅

金山办公

问题已定位。争取1月版本带出修复
· 广东省
回复
 
会飞的鱼
会飞的鱼

KVP函数专家、创作者俱乐部成员

这是WPSdrop函数和take函数返回结果数据维度的bug 解决方法是对这两个函数的返回结果加个计算 1、数字、日期、时间类的进行 +0 *1 --计算 =LET(底表,$A$3:$C$15,数据源,DROP(底表,1)+0,表头,TAKE(底表,1),年月,XLOOKUP("年月",表头,数据源),年月) 2、文本进行 & “” =LET(底表,$A$3:$C$15,数据源,DROP(底表,1)&"",表头,TAKE(底表,1),年月,XLOOKUP("年月",表头,数据源),年月) 3、数字文本都有,使用VSTACK、HSTACK转换。 =LET(底表,$A$3:$C$15,数据源,VSTACK(DROP(底表,1)),表头,TAKE(底表,1),年月,XLOOKUP("年月",表头,数据源),年月) 这是BUG,这BUG得修呀!@WPS
· 辽宁省
回复
卢小蛮
谢谢查明原因!因为excel显示是正常的,希望wps能够解决这个问题哈!
· 湖北省
回复
 
懒得批爆
懒得批爆

WPS寻令官 | WPS产品体验官

简单的回答一个,这不是BUG,这是函数的规则。 XLOOKUP查找的是单个字符或单个单元格,所以返回符合条件的第一行(图一),这里应该用FILTER来实现(图二),另外同样的公式在Excel里也不可实现返回数组(图三)
· 四川省
回复
卢小蛮
你没有看懂我公式的意思,我的公式是 XLOOKUP ("年月", 表头,数据源),是生成动态数组列,而不是单个单元格。 这个公式相当于这个公式:=XLOOKUP ("年月",A3:C3,A4:C15) 这个公式是生成单列动态区域。这个公式有效,而且这个自定义公式 XLOOKUP ("年月", 表头,数据源),在 excel 里我的自定义公式是正常的,是生成动态单列。wps不行,是生成单个单元格
· 湖北省
回复