日期范围内的查找值

时间:2015-03-18 10:14:51

标签: excel excel-formula lookup

我按列顺序列出了服务器(A),开始日期(B),结束日期(C)和项目名称(D)。

我想在另一个工作表中输入服务器名称,并返回当前日期内的项目名称。服务器可以在列表中有多个条目。

有人可以帮忙解决这个问题吗?

感谢。

2 个答案:

答案 0 :(得分:1)

假设你有一个像这样的Sheet1:

enter image description here

和另一张这样的表:

enter image description here

然后C2中的公式可以

{=INDEX(Sheet1!$D$1:$D$10000,MIN(IF((Sheet1!$A$1:$A$10000=A2)*(Sheet1!$B$1:$B$10000<=B2)*(Sheet1!$C$1:$C$10000>=B2),ROW(Sheet1!$D$1:$D$10000),1024^2+1)))}

这是一个数组公式。将其输入到没有大括号的单元格中,然后按[Ctrl] + [Shift] + [Enter]完成。

公式将采用服务器上的第一个项目,其中给定日期属于开始日期和结束日期之间的日期范围。

如果没有,则返回#REF错误。

这是德国的Excel。日期格式为TT.MM.JJJJ(DD.MM.YYYY)。但它也适用于其他日期格式。唯一的要求是,日期必须是日期值,而不是字符串。

答案 1 :(得分:0)

使用以下数据:

enter image description here

我们将服务器名称放在 Sheet2 单元格 A1 (比如server2)中,并在 Sheet1 中添加一个“帮助”栏......所以在 E2 中插入:

=IF(AND(B2<=TODAY(),C2>=TODAY(),A2=Sheet2!$A$1),1+MAX($E$1:E1),"")

并复制下来:

enter image description here

“帮助者”列找到“好”行。
最后在 Sheet2 单元格 A2 中插入:

=INDEX(Sheet1!D2:D24,MATCH(1,Sheet1!E2:E24,0))

从第一个“好”行检索数据。