我有两列:列A 是数字的列表,而列B 是时间。我需要在A列中找到第一个不是7(通常为0)的值,然后花一些时间在它旁边。
我尝试使用下面的方法,但一直不可用:
= INDEX(H:H,MATCH(“ 0”,G:G,0)+0,0,0)
我还想找到最后一个不是7的值(可以是1、2、3、5或0),然后在右边花一些时间,但是我不确定该怎么做,也许是从下往上搜索? VBA会更容易吗?
在以下示例中,突出显示了正确的答案(对不起格式)。
7 | 0:00:30
7 | 0:01:00
7 | 0:01:30
0 | 0:02:00
0 | 0:02:30
0 | 0:03:00
0 | 0:03:30
0 | 0:04:00
2 | 0:04:30
2 | 0:05:00
1 | 0:05:30
2 | 0:06:00
2 | 0:06:30
7 | 0:07:00
7 | 0:07:30
7 | 0:08:00
谢谢!
答案 0 :(得分:0)
您的第一个条件是一个简单的“找到第一行匹配条件”。
=INDEX(B:B, AGGREGATE(15, 7, ROW(A:A)/(A$1:A$16<>7), 1))
第二个需要考虑第一个位置。
=INDEX(B:B, AGGREGATE(15, 7, ROW(INDEX(A:A, AGGREGATE(15, 7, ROW(A:A)/(A$1:A$16<>7), 1)+1):A$16)/(INDEX(A:A, AGGREGATE(15, 7, ROW(A:A)/(A$1:A$16<>7), 1)+1):A$16=7), 1)-1)
对于您的样本数据,它也可以正常工作,但是在依靠它之前,我将对其他数据样本进行更多测试。特别是如果第二批7中有“不是7的数字”。
=INDEX(B:B, MATCH(6, A:A))