Excel 索引匹配,需要根据今天更改范围()

Excel 索引匹配,需要根据今天更改范围(),excel,indexing,range,match,Excel,Indexing,Range,Match,我有一个流程图,我需要从中读取值。以下是sheet1的设置方式: equip | 11/1/2013 | 11/2/2013 car1 | travel | return home car2 |maintenance| car3 | travel | travel 基本上,第一个冻结列中的设备日期位于最上面一行,因此日期下的每一列都有第一列中该设备的行程或维护。这是一个时间表的权利 我需要做的是在每一行找到一辆车的单词,但前提是它是在将来。 示例:我需要为car1找

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

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

car1  | travel    | return home

car2  |maintenance| 

car3  | travel    | travel

基本上,第一个冻结列中的设备日期位于最上面一行,因此日期下的每一列都有第一列中该设备的行程或维护。这是一个时间表的权利

我需要做的是在每一行找到一辆车的单词,但前提是它是在将来。
示例:我需要为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")
该代码适用于过去没有换油的任何汽车。过去换油的汽车会返回过去换油的日期,而不是我正在寻找的下一次换油的日期


有什么想法吗?提前感谢您的帮助。

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

=IFERROR(索引(表1!3:3,匹配(1,索引)(左(表1!5:5,10)=“换油”)*(表1!3:3>=TODAY()),0),0),“未计划”)

以所需的日期格式设置结果单元格的格式

当两件事都为真时,它会找到第一个匹配项,第5行的值以“oil change”(换油)开头,第3行的日期为>=今天,
INDEX
返回相应的日期


如果没有匹配,则
match
函数返回一个错误,您得到的“not scheduled”

工作正常,我在查找旧的“换油”结果时遇到的问题就解决了。谢谢你帮助我,也非常感谢你解释你的公式。再次感谢。