Excel 从入住和退房日期开始按月查找空缺百分比的公式
我正在做一个电子表格。我想从入住和退房日期、空房率(按月计算)和平均住宿率(按月计算)中找出总住宿(按月计算) 我用谷歌电子表格创建了简单的格式。请检查这个Excel 从入住和退房日期开始按月查找空缺百分比的公式,excel,excel-formula,Excel,Excel Formula,我正在做一个电子表格。我想从入住和退房日期、空房率(按月计算)和平均住宿率(按月计算)中找出总住宿(按月计算) 我用谷歌电子表格创建了简单的格式。请检查这个 简而言之,需要填写“?”字段。假设样本数据位于C6:H63(根据需要调整) 注:开始时包括三条记录,以显示下一年的总结以及月度入住率超过月度容量的错误 此解决方案需要: 两个工作单元提供灵活性和增长空间: 容量(房间):位于E4;用于容纳房间总数(实际上是一个,希望业务增长) 年份:数据中第一个期间的年份,用于更新“月度分配”、“月度汇
简而言之,需要填写“?”字段。假设样本数据位于
C6:H63
(根据需要调整)
注:开始时包括三条记录,以显示下一年的总结以及月度入住率超过月度容量的错误
此解决方案需要:
- 两个工作单元提供灵活性和增长空间:
E4
;用于容纳房间总数(实际上是一个,希望业务增长)
年份:数据中第一个期间的年份,用于更新“月度分配”、“月度汇总”的标题。位于K4
总夜数:修改公式以计算E列中的总夜数
,以验证入住日期
和退房日期。在E7
中输入此公式并复制到最后一条记录:
=ISNUMBER( C7 ) * ISNUMBER( D7 ) * ( $D7 > $C7 ) * SUM( $D7, - $C7 )
结果范围包括两个区域(见图1)
月度分配:位于J6:V63
标题:将范围J6:X6
更新为mmm-yy
和Y6
更新为mmm-dd,yyyy
。用于更新此区域的标题。在J6
=DATE( $K$4, 1, 1 )
将此公式保存在K6
中,并复制到L6:X6
= 1 + EOMONTH( J6, 0 )
然后在Y6
=EOMONTH(X6,0)
Body:要分配每月入住率,请在J7
中输入此公式,复制到最后一条记录,然后复制到其他月份K7:X63
=IFERROR( IF( $E7 = 0, "", CHOOSE( 1
+ ( 1 + EOMONTH( $C7, -1 ) = J$6 ) * 1
+ AND( 1 + EOMONTH( $C7, -1 ) < J$6, 1 + EOMONTH( $D7, -1 ) > J$6 ) * 2
+ ( 1 + EOMONTH( $D7, -1 ) = J$6 ) * 3,
"",
1 + DAYS( EOMONTH( J$6, 0 ), $C7 ),
1 + DAYS( EOMONTH( J$6, 0 ), J$6 ),
DAYS( $D7, J$6 ),
SUM( $D7, - $C7 ) ) ),
"" )
空缺%:在J65
中输入此公式,并复制到Y65
。此公式还根据总容量验证总占用率,并返回!错误
如果占用率>容量
(参见图2中的Dec-15
)
平均夜间费率:在J66
中输入此公式,并复制到X66
=SUMPRODUCT( J$7:J$63, $H$7:$H$63 )
并在Y66
= 1 - $Y$67 / ( ( 1 + DAYS( $Y$6, $J$6 ) ) * $E$4 )
图1
图2您需要将每次就诊的天数分配到正确的月份,即使就诊分为两个月。首先,我将在I到T列中添加12个helper列,标题为1-12(即每月一个),并使用以下公式从I2开始计算每个月每次就诊的天数:-
=MAX(MIN(EOMONTH(DATE(2015,I$1,1),0)+1,$D2)-MAX(DATE(2015,I$1,1),$C2),0)
然后,从V7开始计算每月的空缺率,并得出:-
=(DAY(EOMONTH(DATE(2015,I$1,1),0))-SUM(I2:I55))*100/DAY(EOMONTH(DATE(2015,I$1,1),0))
=ArrayFormula(iferror(SUM(I2:I55*$H2:$H55)/SUM(I2:I55),""))
=sum(I2:I55)
要获得从V8开始的每月平均房价,请执行以下操作:-
=(DAY(EOMONTH(DATE(2015,I$1,1),0))-SUM(I2:I55))*100/DAY(EOMONTH(DATE(2015,I$1,1),0))
=ArrayFormula(iferror(SUM(I2:I55*$H2:$H55)/SUM(I2:I55),""))
=sum(I2:I55)
要获得从V9开始并跨越的每月总夜数:-
=(DAY(EOMONTH(DATE(2015,I$1,1),0))-SUM(I2:I55))*100/DAY(EOMONTH(DATE(2015,I$1,1),0))
=ArrayFormula(iferror(SUM(I2:I55*$H2:$H55)/SUM(I2:I55),""))
=sum(I2:I55)
辅助列:-
结果:-
很抱歉,堆栈溢出建议使用该标记,这就是原因。。现在,我已经删除了它。我认为空置率=(房间数量)*(月天数)-(月总入住夜数)/(房间数量)*(月天数)乘以100。但是我们不知道房间的数量?只有一个房间。我们每个月都需要%的职位空缺。啊,我明白了。从快速查看数据看,这并不明显,因为第二次和第三次预订是21/11-24/11和20/11-30/11,即它们重叠。我有另一个解决方案,今晚将发布。嘿,谢谢你的帮助,你能分享你的电子表格样本吗?嘿,汤姆,谢谢你的帮助,你能分享你的电子表格样本吗?这是链接