欢迎大家来到IT世界,在知识的湖畔探索吧!
之前两篇关于函数的FILTER的文章备受关注,说明这个函数确实能给大家的工作带来便利。
同时也有不少吐槽,在没有溢出功能的WPS中其效果大打折扣。
没有自动溢出,我们就来手动溢出吧!
如图所示,简单的FITER筛选后通过溢出显示所有结果。
=FILTER(A2:A10,B2:B10="销售")
欢迎大家来到IT世界,在知识的湖畔探索吧!
假设没有溢出功能,通过以下几步实现结果。
第一步,涉及的引用区域全锁定,公式变成:
欢迎大家来到IT世界,在知识的湖畔探索吧!=FILTER($A$2:$A$10,$B$2:$B$10="销售")
第二步,外包INDEX函数:
=INDEX(FILTER($A$2:$A$10,$B$2:$B$10="销售"),ROW(1:1))
FILTER返回的数据可以看作一个5行1列的数据区域,而INDEX的作用是返回该区域中的第n行。
ROW(1:1)时返回第1行,下拉公式变成ROW(2:2),ROW(3:3)…..时对应返回第2行,第3行……
第三步:当下拉数量超过FILTER返回的数据量时会产生错误值,外包IFERROR纠错。
欢迎大家来到IT世界,在知识的湖畔探索吧!=IFERROR(INDEX(FILTER($A$2:$A$10,$B$2:$B$10="销售"),ROW(1:1)),"")
如果返回值是二维数据呢?
=SORT(FILTER(A2:B10,B2:B10>LARGE(B2:B10,4)),2,-1)
逻辑上完全一样,只是需要同时设置INDEX的第二第三参数用以控制返回值。
=INDEX(SORT(FILTER($A$2:$B$10,$B$2:$B$10>LARGE($B$2:$B$10,4)),2,-1),ROW(1:1),COLUMN(A:A))
- 原公式的基础上锁定引用区域。
- 外包一个INDEX,ROW和COLUMN作为动态参数:
ROW(1:1),COLUMN(A:A)返回第1行第1列
ROW(2:2),COLUMN(A:A)返回第2行第1列
……
ROW(3:3),COLUMN(C:C)返回第3行第3列
其核心逻辑可概括为:FILTER返回一个数据区域,用INDEX通过动态参数ROW和COLUMN逐一提取。
在Excel中也有不支持溢出功能的函数,以及不能用溢出功能的场合,INDEX提取数据就成了最后的救命稻草。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/36113.html