永发信息网

EXCEL中如果一列包含某个字母,相对应的一列求和

答案:5  悬赏:10  手机版
解决时间 2021-04-08 06:12
  • 提问者网友:像風在裏
  • 2021-04-07 10:16
EXCEL中如果一列包含某个字母,相对应的一列求和
最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-04-07 10:26
sumproduct不支持通配符*L*查找,公式改为
=SUMPRODUCT(($A$3:$A$60000=D$53)*($B$3:$B$60000=$B54)*(ISNUMBER(find("L",$C$3:$C$60000)))*($D$3:$D$60000))
就行了
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-04-07 14:44
你在编辑栏拖黑你公式中的 ($C$3:$C$60000="*L*") 然后按F9键看看生成了什么:是不是生成的内存数组中全是FALSE
同样的方式分别验证一下二、三楼公式
ISNUMBER(find("L",$C$3:$C$60000)) 生成了一个正确的数组
countif($C$3:$C$60000,"*L*")>0 仅仅生存了一个逻辑值TRUE
也就是说思三楼的公式中 countif($C$3:$C$60000,"*L*")>0 这一段,根本未起任何作用,整个公式能生成结果,但是结果是错误的。
SUMPRODUCT()支持数组间运算,你可以将二楼公式中如 $A$3:$A$60000=D$53;$B$3:$B$60000=$B54;$D$3:$D$60000 分别用上述方法试一试,看看是不是均生成的数组。
当然二楼的公式还可以等效于下面的数组公式
={SUM(($A$3:$A$60000=D$53)*($B$3:$B$60000=$B54)*(ISNUMBER(find("L",$C$3:$C$60000)))*($D$3:$D$60000))}
二楼正解,三楼错误
  • 2楼网友:骨子里都是戏
  • 2021-04-07 13:35
将公式改为
=SUMPRODUCT(($A$3:$A$60000=D$53)*($B$3:$B$60000=$B54)*(countif($C$3:$C$60000,"*L*")>0)*($D$3:$D$60000))
就ok,一定正确,此公式在2003中也可用.
  • 3楼网友:往事隔山水
  • 2021-04-07 12:03

SUMPRODUCT函数中间数据应该用逗号分割,而不是*号呀! 
把你的图表发到网上,或者弄个图片上来吧! 
不太懂你的意思,尤其是$B$3:$B$60000=$B54这个, 
条件求和应该用sumif函数,看下边的图片!
  • 4楼网友:归鹤鸣
  • 2021-04-07 11:57
我的办法是:
一。插入一列辅助项假设为F列,F3公式为=IF(FIND("L",C33),1,0)然后复制F3到F3:F60000。此时IF只有两个结果1或#VALUE。0是不会显示的,FIND检测不到就显示#VALUE

二。您的($C$3:$C$60000="*L*")改成(SUMIFS($C$3:$C$60000,$F$3:$F$60000,1))

注:在很多数据情况下,没找到合适公式时,可以暂时用辅助的方法。辅助数据可以隐藏,美观影响应该不大。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯