代码之家  ›  专栏  ›  技术社区  ›  gabriel119435

从列中获取最后一个非零值的最短公式

  •  0
  • gabriel119435  · 技术社区  · 1 年前

    假设我有这样的A1:A5:

    |    |
    | 12 |
    |    |
    | 14 |
    |    |
    

    我使用这个公式来获得第一个非零的出现: =INDEX(A1:A5, MATCH(TRUE,INDEX(A1:A5<>0),0)) ,其中:

    1. INDEX(A1:A5<>0) 返回类似“FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE”的列
    2. MATCH(TRUE,previousPart,0) 返回2表示第二行是第一行完全匹配 TRUE
    3. INDEX(A1:A5,previousPart) 返回第2行的值

    但我想得到最后一次非零的出现。在这种情况下, 14 实现这一目标的最短和/或最简单的方法是什么?

    2 回复  |  直到 1 年前
        1
  •  1
  •   z..    1 年前

    尝试:

    =CHOOSEROWS(FILTER(A1:A5, 0 <> A1:A5), -1)
    
        2
  •  0
  •   Harun24hr    1 年前

    您可以使用 XLOOKUP() 也。

    =XLOOKUP(99^9,A1:A,A1:A,,-1,-1)
    

    enter image description here