0

我在 excel 中工作,我想使用公式 MATCH 来检索列中每个大于零的数字的行。例如,拥有下一列

Number 
  0
  0
  6
  1
  0
  8
  0 
  0
  0
  0
  10

我想在其他列中获得以下内容:

Rows
  3
  4
  6
 11

¿ 使用 MATCH 公式可以做到这一点吗?如果没有,那么¿如何实现这一目标?

4

3 回答 3

1

假设您的数据在 A2:A12 范围内,然后尝试这个数组公式,它需要使用Ctrl+Shift+Enter而不是单独的 Enter 进行确认。

在 B2

=IFERROR(SMALL(IF($A$2:$A$12>0,ROW($A$2:$A$12)-ROW($A$2)+1),ROWS(B$2:B2)),"")

使用Ctrl+Shift+Enter 确认,然后将其复制下来,直到出现空白单元格。

根据要求调整范围,但不要像公式中的 A:A 那样引用整个列引用。

于 2017-04-17T13:08:00.000 回答
1
B1:    =MATCH(TRUE,A:A>0, 0)                              Ctrl+Shift+Enter

B2:    =IFERROR(MATCH(TRUE,(A:A>0)*ROW(A:A)>B1, 0),"")    Ctrl+Shift+Enter

沿列复制B2和粘贴B

于 2017-04-17T12:54:46.530 回答
0

假设您的数据在范围内A2:A12

  1. 选择单元格 B2:B12。按F2。它将允许您在B2单元格中输入值。
  2. 复制粘贴下面的公式,B2然后按Ctrl+ Shift+Enter

=IFERROR(AGGREGATE(15,6,IF(A2:A12<>0,ROW()-ROW(A1),NA),ROW()-ROW(B1)),"")

请注意,如果您只选择 B2 并输入公式,那么您将只获得前一个值。如果需要,相应地调整范围。

于 2017-04-17T13:15:17.463 回答