使用Index+Match函数按FP1-FP8条件将指定单元格值乘对应百分比
解决Excel动态匹配百分比计算的需求
我来帮你实现这个根据单元格取值动态匹配百分比的计算需求,下面给你两种实用的公式方案,适配不同版本的Excel:
方案1:通用版(适配所有Excel版本)
用INDEX+MATCH组合来实现精确匹配,公式如下:
=C653 * INDEX(percentages!$D$4:$R$4, 1, MATCH(B869, {"FP1","FP2","FP3","FP4","FP5","FP6","FP7","FP8"}, 0)*2 - 1)
公式拆解:
MATCH(B869, {"FP1","FP2",...,"FP8"}, 0):定位B869中的FP值在预设数组里的位置(比如FP1返回1,FP2返回2)*2 -1:因为你的百分比是隔一列存放的(D4→F4→H4…),通过这个计算把匹配到的位置转换成对应列在D4:R4区域中的实际列数INDEX(...):从percentages表的目标区域中取出对应的百分比数值- 最后和当前表的C653数值相乘,得到最终结果
方案2:简洁版(适配Excel 365/2021及以上版本)
如果你的Excel支持XLOOKUP函数,用这个公式会更直观:
=C653 * XLOOKUP(B869, {"FP1","FP2","FP3","FP4","FP5","FP6","FP7","FP8"}, percentages!$D$4:$R$4)
公式拆解:
XLOOKUP直接根据B869的取值,在预设的FP数组中找到对应项,然后返回percentages表中对应位置的百分比- 同样和C653相乘得到结果
注意:公式里的$D$4:$R$4用了绝对引用,这样你复制或下拉公式时,百分比的区域不会意外偏移。
内容的提问来源于stack exchange,提问作者user8517443
相关产品推荐
相关产品推荐

