ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] SUMPRODUCT的用法总是吃不透,求救。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-3-17 14:44 | 显示全部楼层 |阅读模式
sumproduct((地点={"浙江","河南"})*(人员={"张三","李四","王五"})*(种类={2012,2022})*工资区域),结果#NA,

改一下,

sumproduct((地点={"浙江","河南"})*(人员={"张三","李四"})*(种类={2012,2022})*工资区域),就正解。


有哪位大佬出手指点一下吗。

TA的精华主题

TA的得分主题

发表于 2024-3-17 15:02 | 显示全部楼层
sumproduct(((地点="浙江")+(地点="河南"))*((人员="张三")+(人员="李四")+(人员="王五"))*((种类=2012)+(种类=2022))*工资区域)
这样试试

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-17 15:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
祝洪忠- 发表于 2024-3-17 15:02
sumproduct(((地点="浙江")+(地点="河南"))*((人员="张三")+(人员="李四")+(人员="王五"))*((种类=2012)+( ...

感谢大佬指点,大佬这样写,是可以的,之前我自己在表格里各种试,如果有10个人员就会写很长。我试了下,不同的单列多条件的,大家都是满足一个或两个条件,最多不超过两个条件,就OK,可以直接用{},但其中有一个需要满足三个条件或以上,就#NA,请问是什么原因啊。

TA的精华主题

TA的得分主题

发表于 2024-3-17 15:23 | 显示全部楼层
87511100 发表于 2024-3-17 15:10
感谢大佬指点,大佬这样写,是可以的,之前我自己在表格里各种试,如果有10个人员就会写很长。我试了下, ...
  1. =sumproduct(1-ISNA(MATCH(地点,{"浙江","河南"},)*MATCH(人员,{"张三","李四"},)*MATCH(种类,{2012,2022},)),工资区域)
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-17 15:26 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-3-17 15:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
B3:B9={"张三","李四","王五"}  得到的对比结果是三列

A3:A9={"浙江","河南"}  得到的对比结果是两列

这样对比后再执行计算时,各个参数的大小不一样,所以就出错了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-17 15:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
祝洪忠- 发表于 2024-3-17 15:30
B3:B9={"张三","李四","王五"}  得到的对比结果是三列

A3:A9={"浙江","河南"}  得到的对比结果是两列

谢谢大佬的回复。但是大佬,我试了下,
sumproduct((地点="河南")*(人员={"张三","李四","王五"})*工资区域),结果正确,这是各自返回1列和3列吗;

或者sumproduct((地点="河南")*(人员={"李四","王五"})*工资区域),结果也是正确的;

只有在{"张三","李四","王五"},{"浙江","河南"} 这种情况下,#NA。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-17 17:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

各位老师的方法我都试了一次,都可以解决问题,虽然没有搞太懂。

这位老师的方法没怎么看明白。MATCH函数我知道,但这个用法没见过。然后最后工资区域那里用的是逗号,我试了下用乘号错的,能解惑吗。

TA的精华主题

TA的得分主题

发表于 2024-3-17 17:51 | 显示全部楼层
87511100 发表于 2024-3-17 17:05
各位老师的方法我都试了一次,都可以解决问题,虽然没有搞太懂。

这位老师的方法没怎么看明白。MATCH ...

工资区域 有不能转为数值的内容。非数值型文本(包括空文本)四则运算时返回错误值。结果也是错误值。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-17 22:49 | 显示全部楼层
本帖最后由 87511100 于 2024-3-17 22:51 编辑
象山海鲜 发表于 2024-3-17 17:51
工资区域 有不能转为数值的内容。非数值型文本(包括空文本)四则运算时返回错误值。结果也是错误值。

1-isna()是什么为意思啊,是为了将逻辑值转化为1和0?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 16:42 , Processed in 0.047343 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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