VLOOKUP模糊匹配(TRUE)结果不符,佣金与等级匹配混淆问题咨询
VLOOKUP模糊匹配(TRUE)结果不符,佣金与等级匹配混淆问题咨询
嗨,我来帮你捋清楚这个VLOOKUP的问题哈!
你的核心问题出在VLOOKUP公式的查找区域选反了,列索引也搞错了,和百分比值本身关系不大,咱们一步步拆解:
先看你现有公式的问题
佣金公式:
=VLOOKUP(C6;A$1:B$3;1;TRUE)- 你选的查找区域是
A$1:B$3,这个区域的第一列是等级(比如1、2、3),但你要查找的C6是百分比值,相当于用百分比去等级列里找匹配,VLOOKUP自然找不到对应值,只能返回小于等于这个百分比的最大等级数值,结果就变成等级了,完全不是你要的佣金。 - 而且你指定的列索引是1,这会返回查找区域第一列的内容(也就是等级),哪怕区域选对了,也拿不到佣金数据。
- 你选的查找区域是
等级公式:
=VLOOKUP(C6;B$1:C$3;2;TRUE)- 这个区域的第一列是百分比范围,逻辑上是对的,但如果你的等级在A列,这个公式其实没法直接拿到等级,只是碰巧返回了对应位置的关联值?不管怎样,核心问题还是佣金公式的区域错误。
修正方案(假设你的表格结构:A=等级,B=最低百分比,C=佣金比例)
如果要根据C6的百分比,匹配对应的佣金比例,正确的公式应该是:
=VLOOKUP(C6;B$1:C$3;2;TRUE)
- 这里把百分比列(B列)作为查找区域的第一列,符合VLOOKUP“从区域第一列找匹配值”的规则;
- 列索引设为2,对应区域里的C列(佣金比例);
- 模糊匹配(TRUE)要求B列的百分比必须是升序排列,你的数据应该已经满足这个条件了,没问题。
如果要匹配对应的等级,用VLOOKUP的话需要调整区域,或者用更灵活的INDEX+MATCH组合:
=INDEX(A$1:A$3;MATCH(C6;B$1:B$3;1))
MATCH的参数1和VLOOKUP的TRUE逻辑一致,找小于等于C6的最大百分比,再用INDEX返回对应行的等级。
补充提醒
VLOOKUP模糊匹配(TRUE)的核心前提是查找区域的第一列必须升序排列,如果你的百分比列不是从小到大排的,结果肯定会乱,这点要注意哦!
备注:内容来源于stack exchange,提问作者bingbong_thankyouforinvite




