Excel formula Excel查找范围内非零后的第一个零

Excel formula Excel查找范围内非零后的第一个零,excel-formula,google-sheets-formula,Excel Formula,Google Sheets Formula,我有一个范围,它包含的数据遵循一个分布*通常从0开始,然后上升,然后下降,最后回到零。 我想在数据返回到零的点返回另一列的值(在我的例子中,您可以看到单元格B6是该事件发生的点,我想我的单元格C2从单元格A6返回值“E” 目前,我能做的最好的事情如下: =INDEX(A2:B8,FIND(0, TEXTJOIN(,,B2:B8), MATCH(AGGREGATE(4,4,B2:B8),B2:B8,0)) -1,1) 问题在于,在数据出现之前,可以有任意数量的零。 i、 像这样。=我仍然期待突

我有一个范围,它包含的数据遵循一个分布*通常从0开始,然后上升,然后下降,最后回到零。 我想在数据返回到零的点返回另一列的值(在我的例子中,您可以看到单元格B6是该事件发生的点,我想我的单元格C2从单元格A6返回值“E”

目前,我能做的最好的事情如下:

=INDEX(A2:B8,FIND(0,
TEXTJOIN(,,B2:B8),
MATCH(AGGREGATE(4,4,B2:B8),B2:B8,0)) -1,1)
问题在于,在数据出现之前,可以有任意数量的零。 i、 像这样。=我仍然期待突出显示的匹配


对于excel,您可以使用
索引
/
聚合

=INDEX(A:A,AGGREGATE(15,6,ROW(B2:B8)/(B2:B8=0),2))

编辑:

如果要在最后一个非零值之后获取第一个零值,请使用公式:

=INDEX(A:A,AGGREGATE(14,6,ROW(B2:B8)/(B2:B8<>0),1)+1)
=索引(A:A,聚合(14,6,行(B2:B8)/(B2:B80),1)+1)

对于excel,您可以使用
索引
/
聚合

=INDEX(A:A,AGGREGATE(15,6,ROW(B2:B8)/(B2:B8=0),2))

编辑:

如果要在最后一个非零值之后获取第一个零值,请使用公式:

=INDEX(A:A,AGGREGATE(14,6,ROW(B2:B8)/(B2:B8<>0),1)+1)
=索引(A:A,聚合(14,6,行(B2:B8)/(B2:B80),1)+1)

1]非零值后的第一个零,在
C2
中输入公式:

=INDEX(A:A,INDEX(MATCH(1,1/B:B),0)+1)
=MATCH(9^9,B:B)-INDEX(MATCH(1,1/B:B),0)
2] 非零值后的零数量,在
D2
中输入公式:

=INDEX(A:A,INDEX(MATCH(1,1/B:B),0)+1)
=MATCH(9^9,B:B)-INDEX(MATCH(1,1/B:B),0)

1]非零值后的第一个零,在
C2
中输入公式:

=INDEX(A:A,INDEX(MATCH(1,1/B:B),0)+1)
=MATCH(9^9,B:B)-INDEX(MATCH(1,1/B:B),0)
2] 非零值后的零数量,在
D2
中输入公式:

=INDEX(A:A,INDEX(MATCH(1,1/B:B),0)+1)
=MATCH(9^9,B:B)-INDEX(MATCH(1,1/B:B),0)

谢谢。这非常优雅。但是一个问题是我不知道在数据之前会存在多少个0谢谢。这非常优雅。但是一个问题是我不知道在数据之前会存在多少个0