简短的公式拉一个巨大的数据库标题合并即将到来的假期

我使用Excel 2007和运行Windows 7专业版。 我有五万行数据。

我正在努力做一个公式,给我一个下一个即将到来的假期的价值。 我有4列假期。

例如:今天的date是2015年6月3日,下个即将到来的假期是父亲节,之后是万圣节。 因此,从今天到父亲节,价值将包含“父亲节”

父亲节之后,我想用“万圣节”自动replace“父亲节”的公式,并在此后的即将到来的节日中也这样做。

我研究了论坛,并得出了构想一个公式的想法。 我能够创build一个,但我得到它的唯一办法是与假日的date,而不是名称。 如果除此之外没有别的办法,我会好的。

我唯一关心的是打开,保存和编辑一个文件,这个文件很大,而且这个文件有时候很耗时间,而且反应迟钝。 我需要帮助,并希望有一个公式,使我所需要的更有效和更快。关于缩短公式的想法?

这是我的公式:

= IF(小(IF($ A $ 2:$ D $ 2> TODAY(),$ A $ 2:$ D $ 2),1)= DATE(YEAR(TODAY()),2,14),“情人节” IF(小(如果($ A $ 2:$ D $ 2> TODAY(),$ A $ 2:$ D $ 2),1)= DATE(YEAR(TODAY()),4,5),“复活节” (小(如果($ A $ 2:$ D $ 2> TODAY(),$ A $ 2:$ D $ 2),1)= DATE(YEAR(TODAY()),5,10),“母亲节”小(IF($ A $ 2:$ D $ 2> TODAY(),$ A $ 2:$ D $ 2),1)= DATE(YEAR(TODAY()),6,21),“父亲节”,IF (IF($ A $ 2:$ d $ 2> TODAY(),$ A $ 2:$ d $ 2),1)= DATE(YEAR(TODAY()),10,31), “万圣节”,IF(SMALL(IF ($ A $ 2:$ d $ 2> TODAY(),$ A $ 2:$ d $ 2),1)= DATE(YEAR(TODAY()),12,25), “圣诞节”))))))

我有Array A2:D2中的date

我有两种不同的方式可以布置我的数据。 一种方法是假日的名字,另一种是假期的date。 示例如下所示…我上面显示的公式是创build与下面的第一个示例一起使用。

ABCD 2/14/2015 6/21/2015 10/31/2015 12/25/2015

 

或者ABCD Mother's day Father's day Halloween Christmas


我需要它来阅读ADsearch下一个即将到来的假期,并返回值。

提前感谢任何帮助,提示和想法。

如果相应假期的date和名字是这样设置的:

  AB 2/14/2015 Valentine's Day 4/5/2015 Easter Day 5/10/2015 Mother's day 6/21/2015 Father's day 10/31/2015 Halloween 12/25/2015 Christmas 

这个公式可以用来从今天的date获得下一个假期。

 =INDEX(B2:B7,MATCH(TODAY(),A2:A7,1)+1) 

如果相应假期的名字不在列表中。 您可以在INDEX公式中对它们进行硬编码。 将第一个参数replace为硬编码date的数组,即:

 {"Valentine's Day","Easter Day","Mother's Day","Father's day","Halloween","Christams"} 

即使我们有一个水平范围的date,让我们说A1:D1我们仍然可以硬编码INDEX的日子,如下:

 =INDEX({"Mother's Day","Father's day","Halloween","Christams"},MATCH(TODAY(),$A$1:$D$1,1)+1)