使用公式过滤值

时间:2014-11-06 13:20:18

标签: excel

我正在尝试创建一个公式,该公式将过滤掉任何不符合我的条件的值,而不使用实际的过滤器。我一直在寻找和尝试很多,但无济于事。

我认为一个数组公式可以解决这个问题,但我并不熟悉那些得到我想要的结果:如果标准要过滤以“1”结尾的值,我想要一个只显示那些的列值,如有必要,可以在附加栏的帮助下。

  |A        |B        |C
 -|---------|---------|--------
 1|AValue1  |1        |AValue1
 2|AValue2  |0        |BValue1
 3|AValue3  |0        |
 4|BValue1  |1        |Where 1 means the value meets my criteria and 0 means it doesn't.
 5|BValue2  |0        |
 6|BValue3  |0        |

我们的想法是能够在A列中粘贴任何内容,并在下一列中获取过滤结果。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

可以直接使用以下数组公式:

{=INDEX($A$1:$A$10000,SMALL(IF(RIGHT($A$1:$A$10000,1)="1",ROW($A$1:$A$10000)),ROW(A1)))}

或者使用辅助列B,如示例中更快,没有数组公式:

在B

=IF(RIGHT(A1,1)="1",ROW())

在C

=INDEX(A:A,SMALL(B:B,ROW(A1)))

方法是:获取A列中符合要求的值的行号。然后使用INDEX按照从最小到最高的顺序从A列获取这些行。

enter image description here