首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

96 对合并单元格的求和方法

生产计划在进行数据分析的时候,最怕的就是有合并单元格,有合并单元格后,无论是函数引用,还是条件求和都非常不方便,但是不可以否认,合并单元格在某些情况下,从视觉效果上看确实不错,如下图:

如果需要在表2中对表1的销量区域进行条件求和,如各部门的销量的汇总,就会比较麻烦,用SUMIFS函数显然不方便,因为SUMIFS函数需要的条件就是条件区域和求和区域是同一个维度,当条件区域有合并单元格的时候,就是维度不一样了;

对于这类有单元格合并的数据,但是又不能取消合并单元格的话,需要用到其它办法来实现,最简单高效的就是辅助列法和函数法,函数法写好后也就可以写自定义函数,例如:=hebing($A$3:$A$15,$C$3:$C$15,$E3);如下图所示:

辅助列法

用辅助列法是最好理解的一种方法之一,就是把合并单元格边上增加一列,录入函数:=VLOOKUP("座",$B$3:B3,1),下拉填充就可以得到SUMIFS函数的条件区域数组,有了这个数据组,写SUMIFS函数就是非常简单了,只需要录入函数:G3=SUMIFS(D:D,A:A,F3),下拉填充就可以了;

辅助列是利用了VLOOKUP查询的近似查询思路,因为"座"是一个接近最大的文本,VLOOKUP函数作用就相当于找最大,找不到最大就返回最接近的,如华北、华东这样的;

函数法

函数法这边写好了最后用LAMBDA函数转成自定义函数“hebing”,此函数法用了OFFICE 365 新函数,注意版本;

步骤1:录入函数生成一组动态数组

=LOOKUP(SEQUENCE(COUNTA(B2:B14)+COUNTBLANK(B2:B14)),SEQUENCE(COUNTA(B2:B14)+COUNTBLANK(B2:B14))/(B2:B14>0),B2:B14)

步骤2:录入FILTER进行条件筛选并求和,回车得到华东的销量汇总

=SUM(FILTER(D2:D14,LOOKUP(SEQUENCE(COUNTA(B2:B14)+COUNTBLANK(B2:B14)),SEQUENCE(COUNTA(B2:B14)+COUNTBLANK(B2:B14))/(B2:B14>0),B2:B14)=F2))

步骤3:到这一步已经完成了,所以这一步是写自定义函数,按下Ctrl+F3,新建立名称,命名为“hebing”,并录入以下函数:

=LAMBDA(合并单元格区域,求和区域,条件,SUM(FILTER(求和区域,LOOKUP(SEQUENCE(COUNTA(合并单元格区域)+COUNTBLANK(合并单元格区域)),SEQUENCE(COUNTA(合并单元格区域)+COUNTBLANK(合并单元格区域))/(合并单元格区域>0),合并单元格区域)=条件)))

这样一个自定义函数就写好了,我们换个数据测试一下,无论位置怎么变化,只要满足三个条件(合并单元格区域,求和区域,条件)就可以了,这也是“LAMBDA”函数的好处,对于换了工作薄不能用的,只需要利用输入法的方法就可以解决了;

我是古哥:

从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230309A09LHX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券