ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 想请教下关于sumproduct的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-9-14 10:36 | 显示全部楼层 |阅读模式
是这样的,比如我有一个简单的sumproduct公式:
=sumproduct((Country="A1")*(Year="B1")*Cost)

我想怎么能够改变公式,调节B1,比方说,B1=All 的时候,可以控制公式使之变成:
=sumproduct((Country="A1")*Cost)
就是所有的年份,
当然:
=sumproduct((Country="A1")*(Year="*")*Cost) 是不行的.
=sumproduct((Country="A1")*(Year="All")*Cost)也不行
我想了很多办法都不行,用macro也许可能,太麻烦.能不能用公式解决呢?谢谢

[ 本帖最后由 fuhongl 于 2010-9-15 21:25 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-9-14 12:38 | 显示全部楼层
完全不知楼主所云!

TA的精华主题

TA的得分主题

发表于 2010-9-14 12:48 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-9-14 21:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不好意思,如果我没说明白, year的选择是来源于一个比如选择框,里面有比如2009, 2010,all

选择特定年份的时候没有问题,但是如果选择了all,我想让
=sumproduct((Country="A1")*(Year="B1")*Cost)公式实质上变成

=sumproduct((Country="A1)*Cost)

有啥办法不用macro可以实现?谢谢

我上传了一个附件来说明,year选择了all之后显示不正确.

Book1.zip

4.07 KB, 下载次数: 13

TA的精华主题

TA的得分主题

发表于 2010-9-14 22:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
if(B1="all",sumproduct((Country="A1)*Cost),sumproduct((Country="A1")*(Year="B1")*Cost))

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-9-14 23:20 | 显示全部楼层
谢谢楼上的,这个办法可行,但是如果有四个五个选择框就比较麻烦了,比如除了country, year ,还有city, month, etc, 每个都可以有all的选择, 如果用if就很难了.
我想是不是有办法调整sumproduct里那个(Year="B1"),选all的时候能把那个选择全选,但是year那个选项还在
我试了
=sumproduct((Country="A1")*(Year="*")*Cost) 是不行的.
=sumproduct((Country="A1")*(Year="All")*Cost)也不行


还有其他方法吗,多谢大虾了,我苦思苦想不得而知,如果能实现就等于可以完全用sumproduct替代pivot table

TA的精华主题

TA的得分主题

发表于 2010-9-14 23:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=SUM((Country=A1)*(IF(B1="ALL",1,Year=B1))*Cost),数组公式!不知道你是不是这个意思!

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-9-15 00:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢楼上,就是这个意思,我试了,如果year 选all,是对的,确实选了所有年份,但是选特定年份的时候返回0,比如B1选2009的时候,如何解决,谢谢 .

TA的精华主题

TA的得分主题

发表于 2010-9-15 00:41 | 显示全部楼层
原帖由 fuhongl 于 2010-9-15 00:34 发表
谢谢楼上,就是这个意思,我试了,如果year 选all,是对的,确实选了所有年份,但是选特定年份的时候返回0,比如B1选2009的时候,如何解决,谢谢 .


7樓老師公式為數組公式 輸入完請按 ctrl + shift + enter

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-9-15 01:06 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-2 01:18 , Processed in 0.037867 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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