ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 关于条件统计函数的错误探讨。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-4-16 17:19 | 显示全部楼层 |阅读模式
本帖最后由 kuangben8 于 2013-4-16 17:19 编辑

    在日常工作中条件统计函数使用的很频繁,从excel2003的sumif、countif到excel2010的sumifs、countifs、averageif、averageifs。给我们的工作带来了很大的便利,但是在最近的一次条件统计时,发现结果错了!
    在工作中需要的数据源记录如下左图所示:
1.jpg       2.jpg

    在选择条件  统计分析时如上右图所示,使用条件统计函数得出的结果有错误!探究一下原因,发现是受文本格式的钢包编号的影响!
本来文本格式的钢包编号并不相同!但是在条件统计函数的条件中却认为是相同的


3.jpg

对比发现有几个共同点:
将文本格式的钢包编号和日期联系起来:该现象在excel2003、excel2007及excel2010中均存在!
1、当钢包编号横线的两边数字都可以转换成正常的日期格式(月-日)时(就是说横线两边的数字都小于等于12),统计不会出错。比如12-11,11-12,9-12,12-9等。
2、当钢包编号横线的两边数字都不能转换成正常的日期格式(月-日)时(横线两边的数字都大于12),统计不会出错。比如15-13,13-15等。
3、当钢包编号其中一个数字超过日期中的天数时,也就是不能转换成正常的日期格式,统计也不会出错。
   比如10-33,33-10等,编号为2-28和28-2会出错,但是为2-29和29-2就不会出错。
4、当钢包编号可以转换成正常的日期格式且其中一个数字大于12时,统计就会出错!比如9-25,25-9,13-12,12-13,11-13,13-11等。
   不仅在统计时会出现错误,在结合其他函数运算时同样会出现错误!例如G列求不重复编号,和F列的结果就不同。
   即使在这些文本编号前面添加半角单引号仍然没有作用!
5、另外一个问题:空格("")和空单元格的不同!如13-12,12-13的高铝浇注料统计问题。


不明白为什么不同的钢包编号在条件统计函数的条件位置却认为是相同的!在此想向各位老师讨教学习一下。感谢各位老师的围观和帮助!谢谢。。。


附件: 条件统计函数的错误探讨.zip (29.34 KB, 下载次数: 27)


该贴已经同步到 kuangben8的微博

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-4-16 17:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
用文本格式,不要用日期格式

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-4-16 18:39 | 显示全部楼层
skyzxh 发表于 2013-4-16 17:25
用文本格式,不要用日期格式

没有日期格式,就是因为文本格式出现错误才疑惑的!感谢关注。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-4-16 20:40 | 显示全部楼层
虽然使用sum函数或是sumproduct函数可以解决这个问题,但是正常的条件统计函数不应该出现这样的问题才对啊,不知道为什么?

TA的精华主题

TA的得分主题

发表于 2013-4-16 20:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
日期格式作条件是表格的大忌
=SUMIFS(D:D,A:A,K10&"*",B:B,L10,C:C,M10&"")
不是一种好办法,条件中不应有日期格式。

TA的精华主题

TA的得分主题

发表于 2013-4-17 10:22 | 显示全部楼层
X-Y数字书写形式在excel默认这种形式是日期形式,只有在其合理范围才有效,否则变成文本形式。为了避免这种乱套现象,最好将-号用另外表达形式代替,我将你的替换成\号就结果全部正确了。

条件统计函数的错误探讨.rar

24.73 KB, 下载次数: 11

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-4-17 11:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
丢丢表格 发表于 2013-4-16 20:57
日期格式作条件是表格的大忌
=SUMIFS(D:D,A:A,K10&"*",B:B,L10,C:C,M10&"")
不是一种好办法,条件中不应有 ...

那不是日期格式,是钢包编号!是文本。感谢围观。

TA的精华主题

TA的得分主题

发表于 2013-4-17 11:48 | 显示全部楼层
kuangben8 发表于 2013-4-17 11:43
那不是日期格式,是钢包编号!是文本。感谢围观。

俺可不是围观的,是有公式写给的!

TA的精华主题

TA的得分主题

发表于 2013-4-17 12:53 | 显示全部楼层
[引子]
在常规格式下,输入11-13与13-11,都会默认为11月13日,即都是一个数值;输入001与1,道理相同。

[推理]
1、条件求和(平均、计数)函数sumif、sumifs在计算时,先进行数据类型转换,再进行IF判断,文本型数字转换为数值型,不能转换的还是文本型;
2、根据[引子],11-13、13-11会转换为一个相同的数值;15-24、24-15不能转换为数值,就是不同的文本;12-11、11-12都能转换为数值,但是两个不同的数值;
3、归根结底是IF进行转换、判断时,文本型数字转换为数值的问题,不仅是日期,0001、1 作为sumif类函数的条件时也会以出现此问题。

以上只是推理,不代表真相

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-4-17 12:58 | 显示全部楼层
丢丢表格 发表于 2013-4-17 11:48
俺可不是围观的,是有公式写给的!

哦,感谢关注和给予的帮助!作为文本,编号是不相同的。但是在统计函数的条件位置认为是相同的!我想这个和统计函数的条件位置书写日期需要添加半角双引号有关!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-25 00:45 , Processed in 0.042860 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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