Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 从入住和退房日期开始按月查找空缺百分比的公式_Excel_Excel Formula - Fatal编程技术网

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,即它们重叠。我有另一个解决方案,今晚将发布。嘿,谢谢你的帮助,你能分享你的电子表格样本吗?嘿,汤姆,谢谢你的帮助,你能分享你的电子表格样本吗?这是链接