我的问题几乎与此问题相同:Calculating number of days between two dates dependent on month
但我的数据滚动了12个月,我需要在公式中添加额外的编码:
=IFERROR(IF(AND(MONTH($D2)=F$1,MONTH($E2)=F$1),$E2-$D2,
IF(MONTH($D2)=F$1,1+EOMONTH($D2,0)-$D2,
IF(MONTH($E2)=F$1,$E2-DATE(YEAR($E2),F$1,1),
IF(AND(MONTH($D2)
F$1,MONTH($E2)>F$1),DAYSINMONTH(DATE(YEAR($D2),F$1,1)),0)))),0)
允许2018年2月的预订,例如,在自己的专栏中显示,而不是2017年2月的预订。
例如,我的数据可能包含:
John Smith, arr 2/21/17 dep 2/18/17
& Matt Jones, arr 2/21/18 dep 2/18/18
目前我建立文档的方式,它将显示2列“2”,即2月。我需要它在2月17日显示1,在2月18日显示1。
你能帮忙吗,谢谢你!
答案 0 :(得分:0)
我花了一段时间来研究你正在寻找的东西,但这就是我认为你需要的东西。
我从头开始学习公式,所以我对你问题中的方法采取了不同的方法。
=IF(AND(A3<E3,D3<EDATE(A3,1)),IF(AND(A3>D3,E3>(EDATE(A3,1))),(E3-D3)-((E3-(EDATE(A3,1)))+(A3-D3)),IF(E3>(EDATE(A3,1)),(E3-D3)-(E3-(EDATE(A3,1))),IF(A3>D3,(E3-D3)-(A3-D3),E3-D3))),0)
您要检查的月份应作为日期输入,即该月的第1天。
工作原理
通过示例显示更容易
月份待检查日期01/02/2017
arr date:27/02/2017 dep date:02/03/2017
在月份结束时检查日期+ 1个月EDATE(01/02 / 2017,1)= 01/03/2017
是否比要检查的期间结束的停止日期?是
02/03/2017 - 01/03/2017 = 1(第一个值)
arr和dep日期之间的日子02/03/2017 - 27/02/2017 = 2(第二个值)
第二个值 - 第一个值= 1
示例计算仅描述arr和dep日期何时与要检查的期间的末尾重叠,但公式检查开始时的重叠以及整个要检查的期间是否重叠且arr日期为1月和在马尔河的日期。
第一个IF(AND(A3
我希望这个解释可以帮助你分开选择公式。