在 Excel 中对多行多列进行条件求和

您所在的位置:网站首页 怎样用excel求不同单元格平均值 在 Excel 中对多行多列进行条件求和

在 Excel 中对多行多列进行条件求和

2023-09-18 06:31| 来源: 网络整理| 查看: 265

在 Excel 中对多行多列进行条件求和 问题由来源数据格式为什么不能直接求和我的解决过程用 SUMPRODUCT 函数的失败过程分析错误解决问题用 SUMPRODUCT 解决问题 我在 CSDN 的第一篇博客

问题由来

前几天,一名网友在微信群里求助,说有一个表格汇总数据不会算。经过两天努力,我帮他写了一个宏,顺利完成了任务。这个按字段汇总的宏我以后再说,今天只说验算的公式。 由于源数据比较多,出于谨慎,我需要将宏算出来的汇总表进行验算,并且最好是用一个单元格用单个公式完成对源数据的加和运算,因此想编写一个公式把源数据表所有符合条件的数据加和,再对汇总表加和,比较两个和是否一致。

源数据格式

源数据是由上百个结构相同的数据块组成的数据块纵列。下面展示连续的两个数据块: 两个数据块

每个数据块的格式如下:

总共有21行、13列;第1行是标题,第20、21行是需要被忽略的数据,从第2行到第19行是需要汇总的数据;所有数据块的第二列是纵向标题,每块都一样,都是18个同样次序排列的字母;每块数据块的第一行是横向标题,此部分每个数据块都不一样,且数量有多有少;由此可以看出,需要求和每个数据块从第2行、第3列开始到第19行、第13列的数据块内的数据; 为什么不能直接求和

也许有人会说,直接求 C:M 的和不就行了?还真不行。每个数据块的第20行是一个合计行,不能被计算进总数内,所以不能直接求和。而这一个合计行的业务逻辑比较奇怪,我没看出这一行数据和主体数据块的关系,至少不是主体数据块的纵向求和,否则可以用求 C:M 的和然后除以 2 的方式来求所需要的总和。

我的解决过程 用 SUMPRODUCT 函数的失败过程

这个公式需求看上去一点都不难,我不想用数组公式,用 SUMPRODUCT 函数看上去应该是一个非常理想的选择。于是我写了如下的公式:

=SUMPRODUCT(C:M,((MOD(ROW(C:M)-1,21)+1)>1)*((MOD(ROW(C:M)-1,21)+1)1)*((MOD(ROW(C1:M21)-1,21)+1)1)*((MOD(ROW(C:C)-1,21)+1)1)*((MOD(ROW(C:C)-1,21)+1)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3