ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 959|回复: 0

[原创] sumifs函数使用细节处理

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-9-27 10:22 | 显示全部楼层 |阅读模式
    最近学着用sumifs函数,遇到两个空格方面的问题,感觉细节的处理真的挺重要。      问题1:单元格文档中空格的影响&"*"
      问题2:单元格为空格的影响&""

这是日常登记的表

这是日常登记的表

这是日常登记的基础表,需要按材料名称和收料单位分别统计出对应的汇总数量和汇总金额。即如下图的样子。
Q3@J(62_}9ASN(H[(XQ(}1B.png
按照sumifs公式用法,编辑公式:
=SUMIFS(发料统计!$E$3:$E$119,发料统计!$C$3:$C$119,B5,发料统计!$G$3:$G$119,G3),结果4748.76,完全正确。
接着继续编辑后面的公式,结果"钢材"的"第一项目部"的数量和金额都汇总正确了,但"二项目部"的都不正确。
检查后,公式编辑的没有问题,数据单元格的内容也没有错误等异常情况。
再次检查发现原来基础表里,收料单位部分"二项目部"和"一项目部"没有对齐,检查发现文字前有空格,导致未能汇总进去。
如何消除空格的影响呢?首先想到了trim()函数,但公式里用的是范围,无法使用trim,只得另找办法。
突然想到在某个帖子上见到过匹配单元格里含某个字符的处理。用*代替其他无关字符,加上必须匹配的字符,于是修改公式为:
=SUMIFS(发料统计!$E$3:$E$119,发料统计!$C$3:$C$119, "*" & B5 &"*",发料统计!$G$3:$G$119,"*"& G3 &"*")
空格的影响成功解决,数据汇总全部正确。
    但是,这只是统计到基础表里的第119行,那以后增加数据后,公式还要修改也很麻烦,那就直接把119行变大点,先预定个300行吧。
于是手动将公式里的119修改为300,但结果显示报错。原因是空格不能匹配进入到公式里。
   头疼不能医脚,既然空格未能匹配进去,那就想办法把空格也匹配,根据在本站搜索到的解决办法,在匹配值位置增加&""代码,修改公式为:
=SUMIFS(发料统计!$E$3:$E$300,发料统计!$C$3:$C$300, "*" & B5 &"*" & "",发料统计!$G$3:$G$300,"*"& G3 & "*" & "")
   试着在第120行增加数据,成功的纳入了汇总统计,问题解决。
   最后为了便于公式下拉,用钞票留住G3让其别跳槽,改G3为 $G$3,最后公式如下:
=SUMIFS(发料统计!$E$3:$E$303,发料统计!$C$3:$C$303,"*" & B5 & "*" & "",发料统计!$G$3:$G$303,"*" &$G$3 & "*" & "")
   至此完成了该sumifs函数的细节处理,公式可以向下拖。比我之前用VBA代码方式简单效果也是一样。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-13 04:47 , Processed in 0.034214 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表