我试图整理公司的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)))}
答案 0 :(得分:0)
假设" CubsDate "和" CubsTicketStatus "是命名的单元格范围(前者包含日期,后者包含状态," Avail "或" 填充" ),那么也许这会做你想要的:
{=INDEX(CubsDate,MATCH(1,(CubsTicketStatus="Avail")*(CubsDate>TODAY()),0))}
请注意,如果当前日期之后没有匹配日期,您将获得#N/A
结果(您可以轻松测试)。
这是我跑的测试:
请注意,此处的数据位于第25-31行。此外,您需要将结果格式化为日期。
希望这有帮助!
编辑:以下是有关如何使用匹配功能的说明。 (我编辑了答案,以便后代比我添加评论更容易找到答案。)
作为提醒(因为我老了,健忘),匹配功能需要三个参数:Lookup Value
,Lookup Array
和Match Type
。所以在
MATCH(1,(CubsTicketStatus="Avail")*(CubsDate>TODAY()),0)
我们正在寻找匹配类型为0(完全匹配)的值1。这很容易。然而,我们Lookup Array
稍微复杂一些。它由两个相互乘的测试组成。因此,在每一行中,它会查看CubsTicketStatus中的值,看看它是否是" Avail"它会查看CubsDate中的值,看看它是否在今天之后。
每个测试都会生成TRUE
或FALSE
,但是当您将它们放入数学计算的上下文中时,它们会1
和0
。因此,如果它们同时为TRUE
,则得到1 * 1,但如果其中任何一个(或两者)为FALSE
,则得到零。匹配函数然后返回第一行,其中两者都是TRUE
- 即,票证的第一行是" Avail"日期在TODAY()
之后。