2017-02-21 97 views
-1

我的問題是幾乎相同,這一個: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年,例如,在自己的列顯示,並且不包括在2017年二月

例如,我的數據可能有:

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

我花了一段時間才弄清楚你在找什麼,但這是我認爲你需要的。

我從公式上開始從頭開始,所以我採取了不同的方法來處理您的問題。

=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) 

您想檢查的月份應該輸入日期,即本月的第一天。

Screenshot

它是如何工作

它更容易

個月通過實例說明進行檢查日期2017年1月2日

ARR日期:27/02/2017 dep date:02/03/2017

得到本月底期限待檢查日期+ 1個月EDATE(01/02/2017,1)= 2017年3月1日

是否比期末檢查日期晚? YES

2017年2月3日 - 2017年1月3日= 1(第一值)

得到ARR和DEP日期2017年2月3日之間的天 - 27/02/2017 = 2(第二值)

第二值 - 第一值= 1

當ARR和DEP日期重疊的期間的結束進行檢查,但在開始時爲重疊式檢查和也計算示例僅描述了當整個檢驗週期重疊,1月的日期和3月的退貨日期。

第一個IF(和(A3

我希望這個解釋能幫助你選擇公式。

+0

這對我所需要做的事情非常合適 - 非常感謝你! –