ゲストが8月24日に到着し、9月4日に出発した場合、8月に何泊、9月に何泊を計算するかを計算する式は何ですか。
最初の行に月の名前だけが表示されている場合でも、実際には日付であることに注意してください。月の名前のみを表示するようにフォーマットされた月の最初の日( "mmmm")
表の式は次のとおりです。=NOT(OR(D$1>$B2,EOMONTH(D$1,0)<$A2))*(MIN(EOMONTH(D$1,0)+1,$B2)-MAX(D$1,$A2))
NOT(OR(D$1>$B2,EOMONTH(D$1,0)<$A2))
は、現在の滞在と月が重複するかどうかを決定しますMIN(EOMONTH(D$1,0)+1,$B2)-MAX(D$1,$A2)
は滞在期間ですホテルで見つけたとおりに計算が行われます。夜は前日までカウントされ(4行目は8月の1泊)、1日滞在は夜としてカウントされません(5行目を参照)。
到着日がA1
にあり、チェックアウト日がB1
にあるとすると、C1
に次のように入力する必要があります。
=IF(EOMONTH(A1,0)<B1,CONCATENATE((EOMONTH(A1,0)-A1)," and ",B1-A1-(EOMONTH(A1,0)-A1)-1),B1-A1)
説明:
IF (
EOMONTH(A1,0)<B1 //If last day of month of arrival is before the checkout date then
CONCATENATE( //concatenate days of first month "and" days of next month
(EOMONTH(A1,0)-A1),
" and ",
B1-A1-(EOMONTH(A1,0)-A1)-1
)
B1-A1 //Else, simply substract checkout date from arrival date.