返回目录:excel表格制作
excel如何在一列数字中查找出第一个大于某数的位置?
我来回答你这个问题吧,虽然不能获得流量加持。。
我分析了一下你的提问,发现有以下几个问题需要解决:
问题一:如何存放一组数与一个数进行比较的返回值
问题二:你需要最终的结果是返回对应的行数,这就需要获取对应的行数
问题三:找出第一个符合条件的数
好了,找到了问题,我们只需要一一地解决问题就行了,我想到了两种方法:一种是用辅助列的方法,一种是用数组的方法。
辅助列法:
顾名思义,我们需要一列辅助列来存放计算过程中得到的数据,如下图:
数组法
如果你不喜欢在源数据表里插入辅助列,那我们还可以使用数组的方法来解决这个问题。
从上面的方法中,我们发现只要解决了IF函数返回值的存放问题,就可以不需要辅助列了,这就需要用到数组了,看下图:
我们直接在D1单元格里输入公式:=MIN(IF(A1:A20>C1,ROW(A1:A20),""))后使用Ctrl + Shift + Enter 的组合键结束输入,最终在编辑栏里显示的效果是这样的:{=MIN(IF(A1:A20>C1,ROW(A1:A20),""))},整个公式是被一对花括号包起来的。
在这个公式中,我们仍然是用的IF、ROW、MIN这三个函数,我们来一步一步地解析一下这个公式:
首先是IF函数,我们把A1:A20>C1作为IF函数的第一参数,这样就可以一次性的把A1:A20与C1比较后的返回值作为一个数组存放在内存中。
然后用ROW(A1:A20)一次性获取所有的行号。
这样嵌套后,如果A1:A20与C1的比较值为TRUE则返回ROW(A1:A20)对应的行号,否则返回空值。
这样IF函数得到的返回结果其实就是辅助列法中的B1:B20的值,但是在这里这个结果是存放在内存中的。
最后我们再把这个结果作为参数嵌套进MIN函数中,就可以得到我们想要的结果了。
我是Excel大白,希望我的回答对你有所帮助。。
点个关注,获取更多Excel小技巧。。。