2017-08-14 112 views
0

我在Excel中创建一个表以帮助确定从输入日期开始的双年度日期。Excel日期表从输入日期确定下一个双年度日期

示例:如果协议的开始日期为2017/9/1和截止日期为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是指一月,B1是二月,依此类推直通至十二月(L1)。 O3是协议结束日期框,并且在工作表中将是静态的。这个公式适合我。

我想得到的是列出月份(1月至12月)顶部单元格的公式。我需要一个公式,将日期定为1月31日1月1日,2/28/2018 2月,9月30日9月(自9月以来的当年未通过)。实际的一天需要是该月的最后一天,如果该月过去了,那么该年应该是明年。我一直在玩DATE功能,但无法弄明白。

我有什么迄今为止 - 2018年1月:

=DATE(YEAR(TODAY()+365), MONTH(42766), DAY(EOMONTH(42766, 0))) 

这工作,但不是每个月会在2018年,我需要一年中一个月过去了之后才会改变。

我觉得我要么过于复杂的事情,要么我需要一种更复杂的公式。请帮忙。

+0

你能提供一些示例数据吗?当你在A1中表示一月份的事情时,这是否意味着一月份的文本,或者Excel的日期格式化为显示该月份?你是否正在寻找一个能够基于开始和结束日期自动生成A1到L1的公式?刚刚在你给的描述中迷失了一点。 –

回答

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日,因为我并不需要担心年)

Results

0

在A1位置下面的公式和复制权L1或尽可能你需要去

=EOMONTH($O$2,COLUMN(A1)-1) 

它会显示每月的日期开始合同的开始月份和增加1月底每个月你移动的每一列。

在下图中,第1行和第2行的公式相同。第1行选择自定义格式而不是日期,并将自定义格式设置为mmmm。 4米将会给你整整一个月,3米将会给你3个月的首字母。

enter image description here