根据两个条件找结果

大家好,有一段时间没有给大家讲解函数综合知识案例了,昨天给一个客户做了这么一个问题,拿出来和大家分享一下。如下图,是数据的原始表:

好好看看,有没有什么规律丫。 现在想实现如下结果:

在E2单元格中输入130以内的数,这个数可以确定一个范围,然后再通过F2单元格里的基数,确定得到结果,下图也是正确的结果:

那么如何用公式实现这个结果呢?小编使用的是如下的公式:

解析一下:
   1、LEFT(A2:A25,FIND("-",A2:A25)-1)
   通过“-”字符将A2:A25单元格区域中的第一个数找出来,这个公式的结果为:
{"1";"1";"1";"1";"1";"1";"21";"21";"21";"21";"21";"21";"51";"51";"51";"51";"51";"51";"101";"101";"101";"101";"101";"101"}
   2、(--(LEFT(A2:A25,FIND("-",A2:A25)-1))<E2)*1
   用减负运算把LEFT函数得到的文本结果转换为数字类型的结果,然后将这些结果与E2单元格的数据进行比较,此时会得到一串逻辑值,即如下结果:
{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
最后用*1将逻辑值转为数字,即如下结果:
{1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1}
   3、SUM((--(LEFT(A2:A25,FIND("-",A2:A25)-1))<E2)*1)
   用SUM函数将这些值求和,就可以得到小于114的个数。
   4、SUM((--(LEFT(A2:A25,FIND("-",A2:A25)-1))<E2)*1)-5+F2
   再通过-5+F2确定114所在的行数位置。
   5、INDEX(C:C,SUM((--(LEFT(A2:A25,FIND("-",A2:A25)-1))<E2)*1)-5+F2)
   利用INDEX函数找到结果。
   建议大家动手演练一下,并且细细品味,方能更好地感受其中的原理。

快捷查看
(0)

相关推荐