2014-10-03 101 views
0

我正在嘗試創建一個公式,以便可以計算每個客戶酒店入住的夜晚數。很簡單。計算依賴於月份的兩個日期之間的天數

但是在我的電子表格中,我有一年中有幾個月的12列(列C以上),列A有到達日期,列B是出發日期。

如果到達日期是六月10日在B列2014 出發日期是2014年7月的 我需要在C列的公式開始計算夜/天是有關當月即Junes人數的13號(H列)爲21天,7月爲12(因爲他們在第13天離開時不計算在內)。其他月份列將不會返回結果。

+1

我不知道我理解你的問題。要計算2個日期列之間的日期數,只需創建一個公式,該公式可以是A-B,它將計算日期的數量,與月份無關。 – ericpap 2014-10-03 13:29:35

回答

0

爲simplicitys的緣故,而不是C1‘一月’,‘二月’等:N1我已經把只是數字(1-12)

我想這裏既有開始的一年,完成日期是一樣的(如果不是更多的編碼,但你只提到12個月的列......)

我還假設我們正在開始日期在A2和完成日期在B2。

公式C2:

=IF(AND(MONTH($A2)=C1,MONTH($B2)=C1),$B2-$A2, IF(MONTH($A2)=C1,1+EOMONTH($A2,0)-$A2, IF(MONTH($B2)=C1,$B2-DATE(YEAR($B2),C1,1), IF(AND(MONTH($A2)<C1,MONTH($B2)>C1),DAYSINMONTH(DATE(YEAR($A2),C1,1)) ,0))))

拷貝/拖動到D2:N2

解釋:

  • 如果開始和結束日期是在同一個月,纔算不同的是,在月份編號匹配的列中使用。
  • 現在我們知道開始和結束的月份是不一樣的。如果開始月份=參考月份,則天數將按last_day_of_month - start date(第一晚的+1)計算
  • 現在我們知道開始月份和結束月份並不相同,並且參考月份不是開始月份。如果參考月份是最後一個月份,則天數將爲final_date - first_day_of_month
  • 如果以上都不是全部參考月份或者完全在我們的日期範圍內或在其之外。如果START_MONTH <參考月份< final_month然後天=當月全部天(正確的一年)
相關問題