You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中计算门店连续休业天数的平均时长

计算Excel中门店的平均休业持续时长

核心逻辑

平均休业时长 = 总休业天数 ÷ 连续休业的段数
比如连续2天休业(1段)+单独1天休业(1段),总休业3天,3÷2=1.5,和你的示例一致。

实现公式

方法1:适用于Excel 365/2021(动态数组+LET函数,可读性强)

假设门店数据在第2行(B2:K2为日期列),在L2单元格输入以下公式,直接回车即可:

=LET(
    data,B2:K2,
    isClosed,data=0,
    startSegments,isClosed*(VSTACK(TRUE,TAKE(isClosed,,COLUMNS(isClosed)-1)=FALSE)),
    segmentCount,SUM(startSegments),
    totalClosed,COUNTIF(data,0),
    IF(totalClosed=0,0,totalClosed/segmentCount)
)

公式说明:

  • data:指定要计算的日期列范围
  • isClosed:标记所有休业的单元格(值为0的单元格返回TRUE)
  • startSegments:识别每个休业段的起始点(当前单元格休业,且前一个单元格不休业;第一个单元格若休业直接算起始点)
  • segmentCount:统计所有休业段的数量
  • totalClosed:统计总休业天数
  • 最后判断:如果没有休业记录返回0,否则计算平均时长

方法2:适用于旧版Excel(无动态数组,需按Ctrl+Shift+Enter执行数组公式)

在L2单元格输入以下公式,输入完成后按Ctrl+Shift+Enter确认:

=IF(COUNTIF(B2:K2,0)=0,0,COUNTIF(B2:K2,0)/(SUM(--((B2:K2=0)*(OFFSET(B2:K2,0,-1,ROWS(B2:K2),COLUMNS(B2:K2))<>0)))+(--(B2=0))))

公式说明:

  • COUNTIF(B2:K2,0):统计总休业天数
  • SUM(--((B2:K2=0)*(OFFSET(...)<>0))):统计中间开始的休业段数量(当前单元格是0且前一个不是0)
  • --(B2=0):单独判断第一列是否为休业起始点
  • 总休业天数除以总段数得到平均时长,无休业时返回0

使用说明

  • 把公式中的B2:K2替换成你实际的日期列范围
  • 下拉公式即可批量计算所有门店的平均休业时长

内容的提问来源于stack exchange,提问作者Nathan Silverglate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:49:55