Excel 指数及;匹配可切换范围

Excel 指数及;匹配可切换范围,excel,vba,excel-2016,Excel,Vba,Excel 2016,我在Excel 2016中有一个简单的索引和匹配成本分配公式总成本。目前成本分配表中的公式为: =$D$4*INDEX(Marketing_ratio;MATCH(F3;Marketing_area;0)) 通过此设置,公式是固定的到营销表格成本分配逻辑,这是我不希望的。在某些情况下,我想使用服务表中的分配比率(可以有其他几个),它看起来像: =$D$4*INDEX(Service_ratio;MATCH(F3;Service_area;0)) 理想情况下,我希望在分布键字段中使用一些值来调

我在Excel 2016中有一个简单的
索引和匹配
成本分配公式<根据
营销
服务
表中设置的比率,在
成本分配
表中分配
D4中的代码>总成本
。目前
成本分配表中的公式为:

=$D$4*INDEX(Marketing_ratio;MATCH(F3;Marketing_area;0))
通过此设置,公式是固定的
营销
表格成本分配逻辑,这是我不希望的。在某些情况下,我想使用
服务
表中的分配比率(可以有其他几个),它看起来像:

=$D$4*INDEX(Service_ratio;MATCH(F3;Service_area;0))
理想情况下,我希望在
分布键
字段中使用一些值来调整公式中正确的命名范围。例如-仍然使用类似的
索引和匹配
功能,但更改公式的范围

这能做到吗?理想情况下没有宏,但是如果Excel原生公式不够,使用宏也可以


您可以使用CHOOSE/MATCH组合返回所需的范围

=$D$4*INDEX(CHOOSE(MATCH($D$10,{"Marketing","Service"},0),Marketing_ratio,Service_ratio),MATCH(F3,CHOOSE(MATCH($D$10,{"Marketing","Service"},0),Marketing_area,Service_area),0))
…其中D10包含分发密钥,如营销或服务