我在excel中创建一个表来帮助确定输入日期之间的双年度日期。
示例:如果协议的开始日期是9/1/2017和结束8/31/2018,则双年度日期将是2/28/18和8/31/2018。服务日期为协议期结束前2个月,第二个服务日期前6个月(分别为6/30/2018和12/31/2017)。
此公式:
=IF(ISBLANK(O3), "",IF(EOMONTH(A1, 0)=EOMONTH(O3, -2), "BIANNUAL", IF(EOMONTH(A1, 0)=EOMONTH(O3, -8), "BIANNUAL", "")))
A1表示1月,B1表示2月,依此类推至12月(L1)。 O3是“协议结束日期”框,在工作表上将是静态的。这个配方适合我。
我想要得到的是列出月份(1月至12月)的顶部单元格的公式。我需要一个公式,将日期定为1月31日,1月,2017年2月28日,2月,9月30日2017年9月(自9月以来的当前年份尚未过去)。实际的一天需要是一个月的最后一天,如果那个月过去了,那么这一年应该是明年。我一直在使用DATE功能,但无法将其固定下来。
到目前为止我所拥有的 - 2018年1月:
=DATE(YEAR(TODAY()+365), MONTH(42766), DAY(EOMONTH(42766, 0)))
这是有效的,但不是每个月都会在2018年。我需要在月份过后才改变年份。
我觉得我要么让事情变得复杂,要么我需要一种更复杂的公式。请帮忙。
答案 0 :(得分:0)
在A1中放置以下公式并将其复制到L1或您需要的地方
=EOMONTH($O$2,COLUMN(A1)-1)
它将显示从合约开始月份开始的月末日期,并为您向右移动的每列增加1个月。
在下图中,它与第1行和第2行中的公式相同。第一行我选择自定义格式而不是日期,并将自定义格式设置为mmmm。 4米将给你整整一个月,3米将给你3个月的起始字母。
答案 1 :(得分:0)
我今天早上实际上只是在玩IF函数时想出来了。我的目标是让工作表更新,而不必在每次打开时更改日期。因此,该文件可以与其他人共享,您必须输入的是合同日期的结束,并且它将列出两年,三年和季度月份(见图)。
公式:
=IF(DATE(YEAR(TODAY()), MONTH(42766), DAY(EOMONTH(42766, 0)))<TODAY(), DATE(YEAR(TODAY()+365), MONTH(42766), DAY(EOMONTH(42766, 0))), DATE(YEAR(TODAY()), MONTH(42766), DAY(EOMONTH(42766, 0))))
我每个月都使用序列号(在这种情况下,2017年1月31日,因为我不需要担心这一年)