【问题标题】:Using an array formula to filter a range of data row by row使用数组公式逐行筛选数据范围
【发布时间】:2020-11-12 21:08:04
【问题描述】:

我有公式=IF(NOT(ISNUMBER(XMATCH($D$23,3:3))),$A3,""),我想用它来根据 A 列右侧的数据过滤 A 列中的项目列表(单列范围)。位置 $D$23 是任意的,但会固定.如果我复制粘贴一列,这个公式可以很好地过滤列表。因为要过滤的列表是动态的,所以我不知道要粘贴多远。理想情况下,我希望将这个普通公式转换为一个数组公式,它将源列表作为参数,并将条件应用于源列表的每一行,返回一个数组。我对 VBA 解决方案不感兴趣,因为整个项目都是基于摆脱 VBA/宏。

【问题讨论】:

    标签: excel


    【解决方案1】:

    使用过滤器:

    =FILTER($A3:$A1040000,NOT(ISNUMBER(--INDEX($B$3:$Z$1040000,0,MATCH($D$23,$B$3:$Z$3,0)))))
    

    【讨论】:

    • 有没有办法通过动态范围来做到这一点,而不是每次都搜索到最大行?
    • 这就是为什么我放1040000 如果你有超过 104 万个项目,是时候换一个数据库了。
    • 当然。我的意思是我可能只需要查看数十行而不是数千行。我想我可以选择一个我们不太可能超过的相当大的数字,但理想情况下我想定义一个适合这个公式的动态范围。
    • 然后使用结构化表格并使用结构化引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多