索引匹配,需要根据今天的变化范围()

时间:2013-11-15 22:59:49

标签: excel indexing range match

我有一个流程表,我需要从中读取值。以下是sheet1的设置方法:

equip | 11/1/2013 | 11/2/2013

car1  | travel    | return home

car2  |maintenance| 

car3  | travel    | travel

pic jpg of sheet1 layout

第一个冷冻柱中的基本设备,顶行的日期,因此日期下的每个列都包含第一列中该设备的行程或维护。这是右边时间表的时间表。

我需要做的是在汽车的每一行中找到单词,但仅限于未来 示例:我需要找到car1的下一次换油但不关心过去的油更换,或者在我寻找的第一次换油之后的远期未来。

这是我在sheet2中使用的索引匹配,它几乎足够好。

IF(INDEX(SHEET1!3:3,MATCH("oilchange"&"*",SHEET1!5:5,0))>=TODAY(),
INDEX(SHEET1!3:3,MATCH("oil change"&"*",SHEET1!5:5,0)),"not scheduled")

此代码适用于过去没有换油的任何车型。过去换油的汽车将返回过去换油的日期,而不是我即将寻找的下一次换油。

有什么想法吗?在此先感谢帮助我。

1 个答案:

答案 0 :(得分:1)

假设您使用的是Excel 2007或更高版本,请尝试使用此公式

=IFERROR(INDEX(SHEET1!3:3,MATCH(1,INDEX((LEFT(SHEET1!5:5,10)="oil change")*(SHEET1!3:3>=TODAY()),0),0)),"not scheduled")

格式化所需日期格式的结果单元格

当两件事情成立时找到第一场比赛,第5行以“换油”开始......第3行日期是> =今天.....并且INDEX返回相应的日期。

如果没有匹配,MATCH函数会返回错误并且您“未安排”