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

如何用Google Sheets计算周一平均销售额?遇#DIV/0错误求解

解决周一平均销售额计算的#DIV/0错误问题

问题背景

我有date(日期)和net sales(净销售额)两列数据,目标是计算周一的平均销售额。尝试了以下公式均返回#DIV/0错误:

  1. 用WEEKDAY生成星期数字作为条件区域:
=AVERAGEIF(WEEKDAY(A2:A),2,B2:B)
  • 思路:通过WEEKDAY(A2:A)将日期转为星期数字,以2(代表周一)为条件,计算对应销售额的平均值
  1. 将WEEKDAY写入条件参数:
=AVERAGEIF(A2:A,WEEKDAY(A2:A)=2,B2:B)
  1. 用TEXT函数匹配英文星期名称:
=AVERAGEIF(TEXT(A2:A,"dddd"),"Monday",B2:B)

日期列实际值为mm/dd/yyyy格式,显示格式为<星期>, <月份> <日期>,示例数据如下:

datenet sales
周六,2月1日$963.27
周日,2月2日$1,331.65
周一,2月3日$1,014.70
周二,2月4日$956.89
周三,2月5日$625.13
周四,2月6日$734.03
周五,2月7日$832.71
周六,2月8日$1,534.83
周日,2月9日$974.43
周一,2月10日$904.45
周二,2月11日$746.86
周三,2月12日$596.86
周四,2月13日$671.32
周五,2月14日$880.46
周六,2月15日$1,197.67
周日,2月16日$1,350.67
周一,2月17日$0.00
周二,2月18日$525.15
周三,2月19日$477.58
周四,2月20日$0.00
周五,2月21日$0.00
周六,2月22日$0.00
周日,2月23日$0.00
周一,2月24日$0.00
周二,2月25日$0.00
周三,2月26日$0.00
周四,2月27日$0.00
周五,2月28日$0.00

错误原因

AVERAGEIF函数的第一个参数必须是单元格区域引用,不能是WEEKDAY/TEXT这类函数生成的数组结果;同时该函数不支持在条件中直接使用数组表达式,导致所有尝试的公式都无法正确匹配周一的记录,最终因无有效数据参与计算返回#DIV/0错误。

正确解决方案

方案1:Excel 365/2021 推荐写法(支持动态数组)

用FILTER筛选周一数据后计算平均值,语法简洁直观:

=AVERAGE(FILTER(B2:B, WEEKDAY(A2:A, 2)=1))
  • WEEKDAY(A2:A,2):设置返回值为1=周一、7=周日,避免不同地区星期起始的差异
  • FILTER(B2:B, ...):筛选出所有周一对应的销售额
  • AVERAGE:计算筛选结果的平均值

方案2:兼容所有Excel版本(SUMPRODUCT写法)

通过计算周一销售额总和与周一天数的比值得到平均值:

=SUMPRODUCT((WEEKDAY(A2:A,2)=1)*B2:B)/SUMPRODUCT(--(WEEKDAY(A2:A,2)=1))
  • 分子:(WEEKDAY(A2:A,2)=1)*B2:B:仅保留周一的销售额并求和
  • 分母:--(WEEKDAY(A2:A,2)=1):将布尔值转为1/0,统计周一的天数
  • 若需排除0销售额的记录,可修改为:
=SUMPRODUCT((WEEKDAY(A2:A,2)=1)*(B2:B>0)*B2:B)/SUMPRODUCT((WEEKDAY(A2:A,2)=1)*(B2:B>0))

方案3:数组公式写法(旧版Excel需按Ctrl+Shift+Enter)

直接用IF筛选周一数据后计算平均值:

=AVERAGE(IF(WEEKDAY(A2:A,2)=1,B2:B))
  • 旧版Excel输入公式后需按Ctrl+Shift+Enter触发数组计算;新版Excel直接回车即可

验证结果

根据示例数据,周一的销售额为:$1,014.70、$904.45、$0.00、$0.00,平均值为(1014.70+904.45)/4 = 479.7875,上述公式均可得到正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 08:20:08