|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 悟空师弟 于 2011-11-30 16:50 编辑
如果楼主非要用上SUMIF,用下面这个数组公式:
=SUM(IF(MID(A2:A14,5,2)="01",SUMIF(A2:A14,REPLACEB(A2:A14,5,2,"01"),B2)/COUNTIF(A2:A14,REPLACEB(A2:A14,5,2,"01"))))
其实,这个公式完全可简化为=SUM((MID(A2:A14,5,2)="01")*B2:B14)
{:soso_e113:}{:soso_e113:}{:soso_e113:}{:soso_e113:}{:soso_e113:}{:soso_e113:}{:soso_e113:}{:soso_e113:}
------------------------------------------------------------------------------------------------------
楼主纠结的是SUMIF的条件参数,不用纠结,弄明白条件参数(即SUMIF的2个参数)就知道为何结果是0了。
首先,楼主将参数的意义弄错了,MID(A2,5,2)的运算结果是“01“,楼主的整个公式=SUMIF(A2,MID(A2,5,2),B2:B14)也就相当于计算A1:A14这个区域中的数据为“01”时对应B列数值的总和,试想,A列有“01”这样的数据出现吗?
至于小花鹿的=SUMIF(B2:B5,"????01*",C2:C5)的计算结果为何也是0,主要是A列为纯属数字的原因,如果A列为文本格式的数值结果将是正确的。(虽然楼主附件中A列是文本格式,但,是输入数据后改为文本格式。用剪贴板可以改为文本数值。)
原理:
数值加上通配符即变成文本数值,而数值与文本数值在某些函数中可以视为相等,有些函数中是不等的,比如数值 123 与文本数值 "123" 在TEXT可视为同等,而在SUMIF中却不同等。
改成文本型数值后的效果:
|
|