ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求助简化多层IF嵌套

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-1-28 08:58 | 显示全部楼层 |阅读模式
本帖最后由 myw132523 于 2015-1-28 09:24 编辑

在设计一个价格测算模型,如下图 权重分配.PNG

价格受到三种因素的影响:历史数据、市场价格、成本因素30

三种因素按不同的权重系数分配 16行-18行。
但是有些产品会缺乏1-2各因素的数据,在这种情况下要对权重进行重新分配。8
譬如:产品5 缺乏历史数据, 则该产品的“历史数据”权重变为0, 原有权重按比例分配给其他两个因素:市场价格权重=30% + 50%*30%/(20%+30%)
如果一个产品有两种因素的数据缺失,则这两张因素的权重变为0,剩余的一种为100%

我只会用很多重IF嵌套

求教还有没有其他简便的方法。

权重调整.zip

11.47 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2015-1-28 09:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
求助请模拟数据和结果,上传表格压缩附件,方便别人理解和操作,图片大家是没办法写公式的。

TA的精华主题

TA的得分主题

发表于 2015-1-28 09:17 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-28 09:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
看见星光 发表于 2015-1-28 09:03
求助请模拟数据和结果,上传表格压缩附件,方便别人理解和操作,图片大家是没办法写公式的。

附件上传啦

TA的精华主题

TA的得分主题

发表于 2015-1-28 09:42 | 显示全部楼层
好像有点看不懂唉。或者是我理解有问题?

TA的精华主题

TA的得分主题

发表于 2015-1-28 09:50 | 显示全部楼层
B23=(($B$18*($C4="")+$C$18*($F4="")+$D$18*($I4=""))/($B$18*($C4<>"")+$C$18*($F4<>"")+$D$18*($I4<>""))*B$18+B$18)*($C4<>"")
C23=(($B$18*($C4="")+$C$18*($F4="")+$D$18*($I4=""))/($B$18*($C4<>"")+$C$18*($F4<>"")+$D$18*($I4<>""))*C$18+C$18)*($F4<>"")
D23=(($B$18*($C4="")+$C$18*($F4="")+$D$18*($I4=""))/($B$18*($C4<>"")+$C$18*($F4<>"")+$D$18*($I4<>""))*D$18+D$18)*($I4<>"")

一起下拉

TA的精华主题

TA的得分主题

发表于 2015-1-28 10:00 | 显示全部楼层
如果写成一个公式,则C23输入以下数组公式,右拉下拉
  1. =(SUM($B$18:$D$18*(VLOOKUP($A23,$B$4:$I$13,{2,5,8},)=0))/SUM($B$18:$D$18*(VLOOKUP($A23,$B$4:$I$13,{2,5,8},)>0))*B$18+B$18)*(VLOOKUP($A23,$B$4:$I$13,MATCH(B$22,$B$3:$I$3,),)>0)
复制代码

TA的精华主题

TA的得分主题

发表于 2015-1-28 10:06 | 显示全部楼层
凑了一个长长的
B23
  1. =(SUMIF(OFFSET($B$4:$B$13,,COLUMN(A1)*3-3),$A23,OFFSET($C$4,,COLUMN(A1)*3-3))>0)*B$18/SUMPRODUCT((SUMIF(OFFSET($B$4:$B$13,,{0,3,6}),$A23,OFFSET($C$4,,{0,3,6}))>0)*$B$18:$D$18)
复制代码
右拉下拉

TA的精华主题

TA的得分主题

发表于 2015-1-28 10:21 | 显示全部楼层
又是一个长的
  1. =SUMPRODUCT(HLOOKUP(B$22,$B$17:$D$18,2,)*($B$4:$H$13=$A23)*($C$4:$I$13>0)*($C$3:$I$3=B$22))/SUMPRODUCT(SUMIF($B$17:$D$17,$C$3:$I$3,$B$18:$D$18)*($B$4:$H$13=$A23)*($C$4:$I$13>0))
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-28 10:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
13732120571 发表于 2015-1-28 10:21
又是一个长的

下面各个产品的权重不用乘以上面的价格,只要权重百分比就行了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-29 07:59 , Processed in 0.060810 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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