Google Sheets:SUMIF如何正确求和IF语句返回的数值?
解决Google Sheets中SUMIF无法求和IF输出文本值的问题
问题原因
你当前G列的IF公式返回的是文本格式的数字(用引号包裹的"301.95"和"0.00"),而SUMIF函数只会对数值类型的数据进行求和,文本格式的数字会被当作0处理,所以最终返回0。
解决方案
方案1:修改G列的IF公式,直接返回数值
把G列的IF公式里的引号去掉,让它输出数值而非文本:
=IF(LEN(F5)>1,301.95,0.00)
修改后G列的内容会变成纯数值,原有的SUMIF公式=SUMIF(E:E,U5,G:G)就能正常计算求和结果。
方案2:不修改G列,调整SUMIF的替代公式
如果不想改动G列的现有公式,可以用SUMPRODUCT或数组公式来转换文本为数值后求和:
使用SUMPRODUCT:
=SUMPRODUCT(--(E:E=U5),--(G:G))这里的
--是将文本格式的数字和布尔值转换为数值的技巧,先判断E列是否等于U5,再把G列的文本转成数值,最后相乘求和。使用数组公式:
=SUM(ARRAYFORMULA(IF(E:E=U5,VALUE(G:G),0)))这个公式会遍历E列,当匹配U5时,把对应G列的文本转成数值,否则取0,最后用SUM求和。
内容的提问来源于stack exchange,提问作者Paddy Hallihan
相关产品推荐
相关产品推荐

