FIND函数大家通常是用来截取内容,
但是当你搭配到INDEX和MATCH,你会发现这个搭配非常巧妙,也非常强大.
这是一份销售表:
中间的品类繁多.名称都是细节型号.
需求:
现在这些品牌需要打折,折扣表如下:
难点:
上方是产品的型号详细描述,而我们需要给品牌打折.
例如:
第一行可口可乐1.25L,属于品牌可口可乐品牌.
打折95%,所以可口可乐600ml的单价为95%*5的单价.
首先输入公式:
FIND($G$4:$G$10,A2)这个用法很巧妙.
通常都是例如:FIND(字眼,文本串中去找),这是个简单用法.
而现在我们是FIND(所有品牌,名称单元格去找)
输出结果为一个数组,如下:
FIND(所有品牌,口可口乐1.25L)进行查找.
只有:FIND(可口可乐,口可口乐1.25L)能够找到.
其他的都不存在,就会显示错误值.
第二段嵌套:
ISNUMBER(FIND($G$4:$G$10,A2))
对刚才的FIND结果做一个判断,是不是是数值,如果是数值则成立TRUE,否则为FALSE.
第三段嵌套:
MATCH(TRUE,ISNUMBER(FIND($G$4:$G$10,A2)),0)
MATCH成立的结果,比如现在结果为2
代表,我们可以匹配到可口可乐1.25L对应的品牌出现在品牌打折表中的第二行.
第三段嵌套:
=INDEX($H$4:$H$10,MATCH(TRUE,ISNUMBER(FIND($G$4:$G$10,A2)),0))
这个位置需要反馈的是折扣,所有INDEX范围到折扣列,
而之前的FIND+MATCH+ISNUMBER的判断,我们已经行位.
所以轻易的可以找到品牌折扣.
最后用找到的折扣乘以销量和单价,就是最后的结果:
第二个升级版案例:
表格模型一样,这是一份采购表,
中间省去了很多内容.
下方这个是一份折扣表,采购越多,越便宜.
最大采购40以上可以到82%折.
例如:
原表第一行:
康师傅矿物质纯净水,采购26
所以根据折扣表:
康师傅,并且是10到30之间的采购量,就应该折扣93%.
难点:
既要用FIND匹配,又要用INDEX+MATCH的模糊近似匹配.
其原理和之前的表格一样,无非就是INDEX中的第二个参数列匹配,需要用到近似MATCH匹配.
=INDEX($H$4:$K$10,MATCH(1,ISNUMBER(FIND($G$4:$G$10,A2))*1,0),MATCH(C2,$H$3:$K$3))*D2*C2