EXCEL在一列数据中怎样得到某个值最后出现的行号。

如图,在D列输入怎样的公式才行。如查找最后一个2对应的行号15... 如图,在D列输入怎样的公式才行。如查找最后一个2对应的行号15 展开
 我来答
wykcorp
推荐于2016-04-20 · TA获得超过1.4万个赞
知道大有可为答主
回答量:5839
采纳率:85%
帮助的人:3311万
展开全部

D1公式下拉:

=IF(C1="","",LOOKUP(1,0/((--A$1:A$999=--C1)*(A$1:A$999<>"")),ROW($1:$999)))



从截图中看来物空A列的数据左上角有绿色的小箭头,那是文本格式的数字,最好能把它转换为数值格式的数字,转换后上面的公式能精简一点点,写作:

=IF(C1="","",LOOKUP(1,0/((A$1:A$999=C1)*(A$1:A$999<>罩旅瞎"")),ROW($1:$999)))


提供一个把数字从文本格式转换为数值格式的方法:

先选中左上角有绿色小箭头的单元格镇如区域,点击那个叹号的小按钮,选转换为数字即可。

追问
谢谢,对结果很满意。因C列和A列不会为空,将公式简化为:=LOOKUP(1,0/(A$1:A$999=C1),ROW($1:$999)),真佩服你对函数的灵活使用。
我要再增加一点难度,实际是,A列数据非常多,查找的行数由B列数据量确定,假定A列数据有5000行,B列数据4500行(但随时会改变,不会大于A列),只查找A1:A4500中最后出现的行数,即现在公式中的999是按B列数据多少动态变化的
追答

是B列还是C列了?提问截图是C列,追问是B列,现还是按截图中的C列举例,D1公式下拉:

=IF(C1="","",LOOKUP(1,0/(--OFFSET(A$1,,,COUNT(C$1:C$5000))=C1),ROW($1:$5000)))



聊清竹历词
2019-04-17 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:28%
帮助的人:909万
展开全部
设要指定值为1
{=max(if(a1:a20=1,row(a1:a20),0))}
其中{}为数组公式,写入缺逗时不早扮迟要,按ctrl+shlft+enter三键陆李同按会自动添加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式