如果客人于 8 月 24 日抵达,并于 9 月 4 日离开,那么使用什么公式来计算 8 月份住了多少晚,9 月份住了多少晚?
答案1
请注意,即使第一行仅出现月份名称,这些实际上也是日期:月份的第一天格式化为仅显示月份名称(“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 月份的一晚),一天的住宿不算作一晚(见第 5 行)
答案2
假设抵达日期是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.