有学生问这样一个问题,如何根据胸围,确定衬衫尺码?

例如,如果测量的胸围是92,对应的衬衫尺码是XL,这个我们一眼就可以看出。
但是,如何让公式也一眼看出呢?
我们一眼就可以看出,是眼睛看、脑子判断:92在胸围91-94之间,因此衬衫尺码是XL。
那么,什么叫“在91-94之间” ?这实际上是一个模糊匹配问题,也就是在某个限定值之间,或者说,最接近某个限定值。
因此,我们可以使用LEFT函数,从胸围尺寸列表中,提取尺寸下限值:
1*LEFT(C3:H3,2)
这个公式的结果是一个数组:
{79,83,87,91,95,99}
我们知道,对于这样升序排序的下限值匹配,可以使用MATCH函数,也可以使用LOOKUP函数,因此,当我们有了这个尺寸下限值列表后,就可以很快做出公式来。
1、联合使用MATCH函数和INDEX函数,这是数组公式,需要按Ctrl+Shift+Enter三个键完成公式输入:
=INDEX(C2:H2,MATCH(C7,1*LEFT(C3:H3,2)))
2、使用LOOKUP函数,这是普通公式,直接Enter即可:
=LOOKUP(C7,1*LEFT(C3:H3,2),C2:H2)

这个问题延伸一下思考:如果人都偏胖,要根据测量的胸围,选择大一号的衬衫尺码,例如,测量的胸围是92,就选XXL,这个公式怎么做?
我们可以这样思考:既然是往上加一号,那就不妨在MATCH出来的顺序号上加1,顺延到下一个号码上,因此,可以联合使用MATCH函数和INDEX函数做如下的数组公式:
=INDEX(C2:H2,MATCH(C7,1*LEFT(C3:H3,2))+1)
很有意思的一个练习题,锻炼你的不仅仅是函数是否能够熟练运用,更锻炼你的逻辑思维。
我经常说,学习Excel公式和函数的核心,是逻辑思维,是逻辑思路,而不是套用别人的公式。
此文表格数据,请你自己模拟练习。

