如何解决如何在Excel过滤器公式中指定多个范围
我希望能够使用Excel的过滤器公式并只获取特定的列。
例如,我尝试了以下公式,但失败了。
=FILTER((A:B,D:D),A:A=3475,"")
如何使它正常工作?我想获得过滤结果,其中列A中的任何值等于3475,并且只获得列A,B和D
解决方法
您可以使用一个公式,例如:
=TRANSPOSE(CHOOSE({1,2,3},FILTER(A:A,A:A=3475),TRANSPOSE(FILTER(B:B,A:A=3475)),TRANSPOSE(FILTER(D:D,A1:A4=3475))))
但是考虑到性能,我将使用注释中建议的两个单独的公式。
,您需要为过滤器函数的array参数使用正确的数组。
我使用了Table,因为使用全列引用效率很低。
例如,如果您只想返回表的第1,2和4列,则可以使用:
=INDEX(Table1,SEQUENCE(ROWS(Table1)),{1,4})
所以您的过滤器功能可能是:
=FILTER(INDEX(Table1,4}),Table1[colA] = myVar)
如果由于某些原因您不想使用表格,则以下公式也应适用:
=FILTER(INDEX($A:$D,SEQUENCE(LOOKUP(2,1/(LEN($A:$A)>0),ROW($A:$A))),myVar=INDEX($A:$A,ROW($A:$A)))))
效率较低:
=FILTER(INDEX($A:$D,SEQUENCE(ROWS($A:$A)),myVar=$A:$A)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。