【问题标题】:Index match on first non-zero result第一个非零结果的索引匹配
【发布时间】:2020-07-15 07:09:06
【问题描述】:

尝试进行索引/匹配查找以在多个匹配项中找到第一个非零结果。不确定如何执行此操作。示例数据如下。

Foo 1
bar 0
bar 2

想做以下事情:

=INDEX(B:B,MATCH("Foo",A:A,0))
=INDEX(B:B,MATCH("bar",B:B,0))

希望上面的结果返回1和2,但显然根据上表会得到1和0。如何从匹配中排除0值?

【问题讨论】:

    标签: sorting google-sheets filter match google-sheets-formula


    【解决方案1】:

    尝试:

    =FILTER(B:B, B:B<>0)
    

    如果这还不够,你可以这样做:

    =INDEX(SORTN(FILTER(A:B, B:B<>0), 9^9, 2, 1, 0),,2)
    

    如果还不够,请尝试:

    =INDEX(SORT(SORTN(FILTER({A:B, ROW(A:A)}, B:B<>0), 9^9, 2, 1, 0), 3, 1),,2)
    

    【讨论】:

      【解决方案2】:

      过滤和排序是要走的路,但如果你确实想通过经典索引/匹配来做到这一点,你需要

      =index(B:B,match(1,(A:A="Bar")*(B:B<>0),0))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多