Excel 如何用公式获得一列中最后一个有数值的单元格的行号?

如图示,B列中的数据是断断续续的,在A列中任一单元格,返回B列中最后一个有数据的单元格的行号(是要它的行号,不是它的内容);比如要在A20中返回B列中最后一个有数据的单元... 如图示,B列中的数据是断断续续的,在A列中任一单元格,返回B列中最后一个有数据的单元格的行号(是要它的行号,不是它的内容);

比如要在A20中返回B列中最后一个有数据的单元格B12的行号12,最终效果如图。

B列中最后一个有数据的单元格不是固定某个的哦,因为在B列中总时不时填入断断续续的新数据。

那么在本例中,单元格A20中的公式要怎么写呢?顺便请把用到的函数的功能简单给我说一下哈。我好理解下实现原理。
谢谢大家!
展开
 我来答
人人哦哦哦课
高粉答主

2019-04-16 · 醉心答题,欢迎关注
知道答主
回答量:2241
采纳率:0%
帮助的人:35.3万
展开全部

1、选中任意单元格,输入:=ROW()即返回该公式所在行的行号。这个特性可以用来编制表格的自动序号。

2、选中任意单元格,输入:=ROW(引用单元格),返回被引用单元格所在的行号。这个特性一般用其他函数的参数,比如说:=SMALL(区域,ROW(A1)),随着公式的下拉可以顺序返回1,22,3。

3、同ROW函数一样,COLUMN函数可以返回列号。

4、同ROW函数类似,ROWS函数可以返回一个区域的行数。

5、同COLUMN函数类似,COLUMNS函数可以返回一个区域的列数。

6、第五:获取单元格地址。其中的row_num和column_num分别输入数字,即指定的第多少行、第多少列。abs_num如果是1或者省略就表示绝对引用,如果是2表示绝对行号,相对列标,如果是3表示相对行号,绝对列标,如果是4表示相对引用。常用的只有前面3个参数。

zzllrr小乐
高粉答主

推荐于2017-10-03 · 小乐图客,小乐数学,小乐阅读等软件作者
zzllrr小乐
采纳数:20147 获赞数:78768

向TA提问 私信TA
展开全部

假设数据在A列,要查找A列最后一个有数值的单元格行号(中间可能有若干空单元格)

  • 方法1:使用MATCH函数

=MATCH(MAX(A:A)+1,A:A)

如果确定A列含数值的单元格中最大值数字为x,上述公式还可以简化为:

=MATCH(y,A:A)

其中,把y替换为比x大的数字即可(例如:x+1)


  • 方法2:使用LOOKUP函数

=LOOKUP(MAX(A:A)+1,A:A,ROW(A:A))

其实现思路,与方法1类似。

如果确定A列含数值的单元格中最大值数字为x,上述公式还可以简化为:

=LOOKUP(y,A:A,ROW(A:A))

其中,把y替换为比x大的数字即可(例如:x+1)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
想学ASP
2014-02-05 · TA获得超过4383个赞
知道大有可为答主
回答量:1659
采纳率:60%
帮助的人:550万
展开全部
会用VBA吗?教你自定义一个函数如何?
一、按ALT+F11 调出VBA编辑窗口。
二、在左边树状窗口中,空白处右键,插入->模块,出现“模块1”,双击“模块1”
三、然后在右侧的空白区块内粘贴下列代码:

Public Function rown(lie As String) '定义一个名为rown的函数,括号里的参数lie,表示“列”标
rown = ActiveSheet.Range(lie & "65535").End(xlUp).Row '计算出给出“lie”列最后一个非空单元格的行号
End Function

四、关闭VBA窗口,回到EXCEL窗口
五、用法:在任意的单元格内录入 =rown("B") 就可以得到B列最后一个非空单元格的行号。

刚看到13408942223的答案,经典。建议采纳。学习了。
我的方法,你不妨也试试,算是VBA的入门吧。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琴俊贺楼Rl
2014-02-05 · TA获得超过4721个赞
知道小有建树答主
回答量:1174
采纳率:57%
帮助的人:362万
展开全部
给你个最简单的吧,如果都是数字的话

输入 =MATCH(4^8,B:B)
更多追问追答
追问
看来能行耶,灰长谢谢你!能告诉我这是为什么吗?嗯……我是说原理,想知道哇。这个函数是干什么用的,为什么这样写等等。
追答
不好意思,刚才在回答其它朋友的题,没注意来看看。

MATCH 是查找引用函数,找到相应值所在的单元格位置。第几行或第几列,只能是单行或单列中查找。

4^8 就是 4的8次方 =65536
你直接写成65536也行,或着99999或者大点的数字

B:B 就是在B列查找……

=MATCH(4^8,B:B) 就是在B列倒着查找65536的近似值(只要找到一个数字就返回所在的行号),所以上面说的,你写其它数字也行,大点的数字,希望我表达清楚了……
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-10-01
展开全部
直接用MATCH公式,或者用VBA编程,皆可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式