如何在Excel中计算每日数据平均值并乘以当日数据行数?
解决方案:两种方法实现你的需求
其实先帮你捋个关键点:你要的「平均值×当日数据出现次数(小时数)」,本质上就是当日C/D列所有数据的总和——因为平均值=总和÷小时数,乘以小时数自然就回到总和了!这样理解的话,问题就简化成按日期求和,不过还是给你两种实现方式,按需选择:
方法1:用Excel函数直接计算
假设你的数据从第2行开始(第1行是表头),分两种情况处理:
- 如果A列是「日期+时间」格式,先在空白列(比如E列)提取纯日期:
=INT(A2)(下拉填充后,把该列格式改成日期格式) - 计算当日C列的目标结果(等价于平均值×小时数):
=SUMIFS(C:C,E:E,E2) - D列同理:
=SUMIFS(D:D,E:E,E2)
如果想得到唯一日期对应的结果,避免重复:
- 在空白列(比如G列)输入
=UNIQUE(E:E)提取所有不重复日期 - H2输入
=SUMIFS(C:C,E:E,G2),I2输入=SUMIFS(D:D,E:E,G2),下拉填充即可
要是你的A列已经是纯日期(无时间部分),直接用A列代替E列就行,公式更简单:=SUMIFS(C:C,A:A,A2)
方法2:用Power Query自动化处理(适合大量数据)
四个月的小时级数据量不小,用Power Query可以一键刷新,不用手动维护公式:
- 选中你的数据区域,点击「数据」选项卡 → 「从表格/区域」(Excel 2016及以后版本),勾选「我的表格有标题」进入编辑器
- 点击「转换」选项卡 → 「分组依据」:
- 分组依据列选择「日期」(Column A)
- 新增列名「C列目标值」,操作选「求和」,列选「Column C」
- 点击「添加分组」,再新增「D列目标值」,操作选「求和」,列选「Column D」
- 点击确定后,选择「关闭并上载」,就能得到每个日期对应的计算结果
补充验证公式
如果你确实需要单独计算平均值再乘以小时数(比如验证结果),可以用这个公式:=AVERAGEIFS(C:C,A:A,A2)*COUNTIFS(A:A,A2)
它和SUMIFS的结果完全一致,但SUMIFS的计算效率更高哦。
内容的提问来源于stack exchange,提问作者Manish Kashyap
相关产品推荐
相关产品推荐

