在Excel中将答案限制在今天之后

时间:2017-04-12 16:23:58

标签: excel excel-formula

我试图整理公司的Excel表格,以便跟踪我们向高级销售人员提供的取出客户的门票。

我把一张"最快的门票"部分轻松识别即将推出的游戏我们还有门票。但是,我们不会给每场比赛的门票,所以我希望这些公式只返回尚未发生的游戏的日期。现在,他们只是回归过去的第一个无人认领的游戏。

我已经修改了一些公式,但我无法弄清楚如何命令它来查看今天或更晚的日期。有什么想法吗?

下面,按顺序,是我原来的索引公式,然后我尝试只找到即将推出的游戏。

=IFERROR(INDEX(CubsDate,MATCH("Avail*",CubsTicketStatus,0),1),"Filled")
=IF(WhiteSoxDate>NOW(),IFERROR(INDEX(WhiteSoxDate,MATCH("Avail*",WhiteSoxTicketStatus,0),1),"Filled"),"Season Ended")
=IF(WhiteSoxDate>NOW(),INDEX(WhiteSoxDate,MATCH("Avail*",WhiteSoxTicketStatus,0),1),"Season Ended")
{=INDEX(WhiteSoxDate,(MATCH("Av*"&"*">TODAY(),WhiteSoxTicketStatus&WhiteSoxDate,0)))}

1 个答案:

答案 0 :(得分:0)

假设" CubsDate "和" CubsTicketStatus "是命名的单元格范围(前者包含日期,后者包含状态," Avail "或" 填充" ),那么也许这会做你想要的:

{=INDEX(CubsDate,MATCH(1,(CubsTicketStatus="Avail")*(CubsDate>TODAY()),0))}

请注意,如果当前日期之后没有匹配日期,您将获得#N/A结果(您可以轻松测试)。

这是我跑的测试:

enter image description here

请注意,此处的数据位于第25-31行。此外,您需要将结果格式化为日期。

希望这有帮助!

编辑:以下是有关如何使用匹配功能的说明。 (我编辑了答案,以便后代比我添加评论更容易找到答案。)

作为提醒(因为我老了,健忘),匹配功能需要三个参数:Lookup ValueLookup ArrayMatch Type。所以在

MATCH(1,(CubsTicketStatus="Avail")*(CubsDate>TODAY()),0)

我们正在寻找匹配类型为0(完全匹配)的值1。这很容易。然而,我们Lookup Array稍微复杂一些。它由两个相互乘的测试组成。因此,在每一行中,它会查看CubsTicketStatus中的值,看看它是否是" Avail"它会查看CubsDate中的值,看看它是否在今天之后。

每个测试都会生成TRUEFALSE,但是当您将它们放入数学计算的上下文中时,它们会10。因此,如果它们同时为TRUE,则得到1 * 1,但如果其中任何一个(或两者)为FALSE,则得到零。匹配函数然后返回第一行,其中两者都是TRUE - 即,票证的第一行是" Avail"日期在TODAY()之后。