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

Google Sheets中按指定月份计算符合条件数值的百分位数

解决方法:基于指定日期范围计算目标列的百分位数

嘿,我完全get你的需求啦——你已经能用COUNTIFS精准筛选2017年4月的记录,现在想把计数逻辑换成计算对应列的百分位数对吧?咱们可以结合Excel的条件判断和百分位数函数来实现,下面给你两种实用方案:

方案1:兼容多数Excel版本的数组公式

如果你用的是旧版Excel(2019及更早),可以用IF函数先筛选出符合日期条件的数值,再用PERCENTILE.INC计算百分位数:

=PERCENTILE.INC(IF((RAW_DATA_CT!$D$2:$D$148<=DATE(2017,4,30))*(RAW_DATA_CT!$D$2:$D$148>=DATE(2017,4,1)), RAW_DATA_CT!$E$2:$E$148), 0.5)
  • 我把你原来的日期字符串换成了DATE函数,这样能避免不同区域日期格式的兼容性问题,比直接写"04/30/2017"更稳妥。
  • (条件1)*(条件2)相当于逻辑上的AND,和你COUNTIFS里的双条件逻辑完全一致。
  • 记得把RAW_DATA_CT!$E$2:$E$148替换成你要计算百分位数的目标列。
  • 最后一个参数0.5代表中位数(50分位数),你可以改成需要的数值,比如0.9就是90分位数。
  • 小提示:旧版Excel需要按Ctrl+Shift+Enter作为数组公式输入,新版Excel(365/2021+)直接回车就行。

方案2:Excel 365/2021+专属的简洁写法

如果你在用Excel 365或2021及以后的版本,推荐用FILTER函数,逻辑更直观,不需要数组公式:

=PERCENTILE.INC(FILTER(RAW_DATA_CT!$E$2:$E$148, (RAW_DATA_CT!$D$2:$D$148<=DATE(2017,4,30))*(RAW_DATA_CT!$D$2:$D$148>=DATE(2017,4,1))), 0.5)

FILTER函数会直接返回符合日期条件的目标列数值集合,再传给PERCENTILE.INC计算百分位数,可读性拉满。

两种方案都完全沿用了你原来的日期筛选逻辑,只需要替换目标列和调整百分位参数就能直接用啦!

内容的提问来源于stack exchange,提问作者Luis Rios

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:27:27