我正在处理一个电子表格。我想知道从办理入住和退房日期算起的总夜数(按月计算),空缺%(按月计算)和平均夜间费率(按月计算)。
我用谷歌电子表格创建了简单的格式。请查看此https://docs.google.com/spreadsheets/d/1AZfpAic0PT3phLiedZh7I43pu6A3L9w4RhTchKtA0zw/edit#gid=0
总之,需要填写“??”字段。
答案 0 :(得分:1)
假设样本数据位于C6:H63
(根据需要调整)
注意:开头包含三个记录,显示明年的摘要以及每月容量超出月容量的错误。
此解决方案需要:
容量(房间):位于E4
;用来容纳房间总数(实际上是一个,希望业务会增长)。
年度:数据中第一个句点的年份,用于更新“每月分配”,“每月摘要”的标题。位于K4
总夜数:修改公式以计算列E
中的总夜数,以便验证Check In
& Check Out
日期。在E7
中输入此公式并复制到最后一条记录:
=ISNUMBER( C7 ) * ISNUMBER( D7 ) * ( $D7 > $C7 ) * SUM( $D7, - $C7 )
结果范围包括两个区域 (参见图1)
每月分配:位于J6:V63
标题:将Number Format
范围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)
正文:要分配每月占用率,请在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 ) ) ),
"" )
每月摘要:位于I65:Y67
总夜数:在J67 and copy till
Y67`中输入此公式
=SUM( Y$7:Y$63 )
空缺%:在J65
中输入此公式,然后复制到Y65
。如果!Err
(参见图2中的occupancy > capacity
),此公式还会根据总容量验证总占用率并返回Dec-15
。
=IF( J$67 > ( ( 1 + DAYS( EOMONTH( J$6, 0 ), J$6 ) ) * $E$4 ), "!Err",
1 - J$67 / ( ( 1 + DAYS( EOMONTH( J$6, 0 ), J$6 ) ) * $E$4 ) )
平均每晚费率:在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
答案 1 :(得分:0)
即使访问时间超过两个月,您也需要将每次访问的天数分配到正确的月份。我将首先在I至T列中添加12个带有标题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))
要获得从V8开始每月的平均房价并且拉开: -
=ArrayFormula(iferror(SUM(I2:I55*$H2:$H55)/SUM(I2:I55),""))
从V9开始,每个月的总夜数从以下开始: -
=sum(I2:I55)
帮助者栏目: -
结果: -