You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel中统计指定日期范围内房间对应星期几唯一出现次数的公式求助

Excel中统计指定日期范围内房间对应星期几唯一出现次数的公式求助

嗨,我来帮你搞定这个统计需求!先说说你原来的公式问题:=FILTER(Table1,Table1[Exam Rm Number]=I2)*(Table1[Day of Wk]=I1) 这种写法逻辑不对,FILTER返回的是符合房间条件的整行数据,直接乘星期几的条件没法得到你要的唯一计数结果,而且还没包含日期范围的筛选条件呢。

下面分两种情况给你合适的公式,你可以根据自己的Excel版本选择:

情况1:使用支持动态数组的Excel(比如365/2021版本)

如果你的Excel支持动态数组函数,用COUNTUNIQUE结合FILTER是最直观的,公式如下:

=COUNTUNIQUE(FILTER(Table1[Day of Wk],(Table1[Exam Rm Number]=I2)*(Table1[Date]>=I3)*(Table1[Date]<=I4)))

解释一下:

  • FILTER(Table1[Day of Wk],...) 会先筛选出房间号等于I2日期在I3到I4范围内的所有星期几数据
  • 外层的COUNTUNIQUE会统计这些数据里不重复的星期几数量

如果你的日期范围不是用I3/I4,直接替换成对应的单元格或者具体日期值就行,比如把日期条件改成Table1[Date]>=DATE(2024,1,1)*(Table1[Date]<=DATE(2024,12,31))

情况2:使用旧版Excel(不支持动态数组)

如果你的Excel是2019及更早版本,没有COUNTUNIQUE和动态数组功能,可以用SUMPRODUCT结合COUNTIFS的组合公式:

=SUMPRODUCT(1/COUNTIFS(Table1[Day of Wk],Table1[Day of Wk],Table1[Exam Rm Number],I2,Table1[Date],">="&I3,Table1[Date],"<="&I4))

解释一下:

  • COUNTIFS会统计每个符合条件的星期几出现的总次数
  • 1/COUNTIFS(...)会把每个唯一的星期几转换成1,重复出现的星期几会转换成对应次数的倒数(比如出现3次就变成1/3)
  • 最后SUMPRODUCT把这些值加起来,得到的就是符合条件的唯一星期几的数量

另外,如果你只是想验证某个特定星期几(比如I1单元格里的星期几)是否在指定房间和日期范围内出现过(计数1或0),那可以用这个简化公式:

=IF(COUNTIFS(Table1[Exam Rm Number],I2,Table1[Day of Wk],I1,Table1[Date],">="&I3,Table1[Date],"<="&I4)>0,1,0)

这个公式会返回1(该星期几出现过)或0(没出现过),刚好是这个特定星期几的唯一出现计数。

你可以根据自己的实际需求调整对应的单元格引用和日期范围哦!

备注:内容来源于stack exchange,提问作者Rob Parker MBA CMPE CPXP

火山引擎 最新活动