乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel查找第一个(excel查找第几行)

excel查找第一个(excel查找第几行)

作者:乔山办公网日期:

返回目录:excel表格制作

excel如何在一列数字中查找出第一个大于某数的位置?


我来回答你这个问题吧,虽然不能获得流量加持。。

我分析了一下你的提问,发现有以下几个问题需要解决:

问题一:如何存放一组数与一个数进行比较的返回值

问题二:你需要最终的结果是返回对应的行数,这就需要获取对应的行数

问题三:找出第一个符合条件的数

好了,找到了问题,我们只需要一一地解决问题就行了,我想到了两种方法:一种是用辅助列的方法,一种是用数组的方法。

辅助列法:

顾名思义,我们需要一列辅助列来存放计算过程中得到的数据,如下图:

我们在辅助列的B1单元格里输入公式:=IF(A1>$C$1,ROW(A1),""),后向下填充。

因为用了辅助列,很轻易地就搞定了问题一,接着用ROW函数的返回值作为IF函数的返回值搞定了问题二,现在就只剩下问题三了。

需要注意的是,作为比较条件的C1单元格一定要用绝对引用,即写成$C$1或者$C1

问题三就更简单了,分析问题三后可知,我们需要第一个符合条件的数所在行的行号,也就是说这个行号在所有符合条件的行号中肯定就是最小的嘛。所以,我们可以用MIN函数来搞定,如下图:

在D1单元格里输入公式:=MIN(B1:B20),获取辅助列中的最小值即可。

怎么样,是不是很简单。


数组法

如果你不喜欢在源数据表里插入辅助列,那我们还可以使用数组的方法来解决这个问题。

从上面的方法中,我们发现只要解决了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小技巧。。。

本文标签:

相关阅读

  • excel查找第一个(excel查找第几行)

  • 乔山办公网excel表格制作
  • excel如何在一列数字中查找出第一个大于某数的位置? 我来回答你这个问题吧,虽然不能获得流量加持。。 我分析了一下你的提问,发现有以下几个问题需要解决: 问题一:如何存放
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网