E战到底特训营

区间模糊匹配

2018-08-12  本文已影响42人  大正_函数爱好者

今天要讲解的是区间模糊匹配的案例,根据补助标准,将A2到A10区域的各位大神填写其工作年限对应的补助。

分析:左边是各位大神的工作年限,右边是补助标准表,意思就是1-2年补助100,3-4年补助200,5-6年补助300,7-8年补助400,9到10年补助600。我想大家看到这样的区间,是不是最先想到用if函数,但是,假如区间有十几二十多个,用if函数岂不是要用到N个if函数嵌套,不仅麻烦,而且容易出错。

一般if函数适用于条件较少的区间,多条件区间用什么呢?有很多很多个常用函数,像vlookup函数、index+match函数、offset+match函数、lookup函数、hlookup+match函数等等(需要注意数据区间是否包含!不要粗心出错了)。。。

现在我们做这道题,我建议如果对函数掌握处于前期,可以用辅助列添加到其中。如图(等下讲解的前九种方法都是用辅助列完成)

方法一

用if函数,=IF(B2<$S$3,100,IF(B2<$S$4,200,IF(B2<$S$5,300,IF(B2<$S$6,400,600)))),五个条件区间,用四个if函数判断。

方法二

vlookup函数做法:=VLOOKUP(B2,$S$2:$T$6,2)

方法三

index+match函数做法:=INDEX($T$2:$T$6,MATCH(B2,$S$2:$S$6))

方法四

offset+match函数做法:=OFFSET($T$1,MATCH(B2,$S$2:$S$6),)

方法五

lookup函数做法:=LOOKUP(B2,$S$2:$S$6,$T$2:$T$6)

方法六

hlookup+match函数做法:=HLOOKUP($T$2,$2:$6,MATCH(B2,$S$2:$S$6))

方法七

indirect函数做法:=INDIRECT("T"&MATCH(B2,$S$1:$S$6))

方法八

indirect+address+match+column函数做法:=INDIRECT(ADDRESS(MATCH(B2,$S$1:$S$6),COLUMN(T1)))

方法九

2016office版本的新函数IFS函数做法:=IFS(B2<$S$3,$T$2,B2<$S$4,$T$3,B2<$S$5,$T$4,B2<$S$6,$T$5,B2>=$S$6,$T$6)


从第十种方法开始,都是不借助辅助列直接完成,因为需要用left函数提取第一个数字,除了最后一种方法lookup函数不需要数组公式,其他都需要按ctrl+shift+enter构成数组公式。

方法十

vlookup+if函数构建数组:=VLOOKUP(B2,IF({1,0},--LEFT($R$2:$R$6),$T$2:$T$6),2),ctrl+shift+enter构建数组公式

方法十一

index+match函数:=INDEX($T$2:$T$6,MATCH(B2,--LEFT($R$2:$R$6))),ctrl+shift+enter构建数组公式

方法十二

offset+match函数:=OFFSET($T$1,MATCH(B2,--LEFT($R$2:$R$6)),),ctrl+shift+enter构建数组公式

方法十三

indirect函数:=INDIRECT("T"&MATCH(B2,--LEFT($R$1:$R$6))),ctrl+shift+enter构建数组公式

方法十四

choose+match函数做法:=CHOOSE(MATCH(B2,--LEFT($R$2:$R$6)),$T$2,$T$3,$T$4,$T$5,$T$6),ctrl+shift+enter构建数组公式

方法十五

lookup函数:=LOOKUP(B2,--LEFT($R$2:$R$6),$T$2:$T$6)

以上15种方法都不是很难,只要你会这个函数,基本就能看得懂~

不懂的+要表格的私聊我~

上一篇下一篇

猜你喜欢

热点阅读