excel如何搜索满足一定条件一组数据中的最后一个值?
ABCDE1sttst298770求第一行为t,第二行不为空(或0)的最后一个数字。(为单元格c2的值,即7)...
A B C D E
1 s t t s t
2 9 8 7 7 0
求第一行为t,第二行不为空(或0)的最后一个数字。
(为单元格c2的值,即7) 展开
1 s t t s t
2 9 8 7 7 0
求第一行为t,第二行不为空(或0)的最后一个数字。
(为单元格c2的值,即7) 展开
展开全部
方法1:使用数组公式
=INDEX(2:2,MAX(IF($1:$1="t",IF(2:2<>0,COLUMN($1:$1),),)))
同时按下Ctrl+Shift+Enter结束输入。
公式解释:
在第2行,查找不为0的单元格,所在列,并且要满足第一行相应单元格为t
在所有符合条件的列中,找最大的列号。
然后返回第2行该列的单元格值。
注意,此数组公式,也可以改成:
=INDEX(2:2,MAX(IF(AND($1:$1="t",2:2<>0),COLUMN($1:$1),)))
原理一样。
方法2:使用普通公式
=LOOKUP(2,0/((1:1="t")*(2:2<>0)),2:2)
公式解释:
在第1行,查找t,并且需要同时满足相应第二行不为0
此时((1:1="t")*(2:2<>0))计算得出1
然后除0,得到0(不符合条件则得到非法值#DIV/0)
这样得到一系列值,构成一个数组
然后,在此数组查找数字2
(事实上,可以改为其他值,因为数组中只有0和非法值#DIV/0)
这样得到最后一列符合条件的单元格所在列号(符合数组中最后一个值为0的数字)
然后返回第2行此列单元格的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设首行在A1:H1,第二行在A2:H2中,公式可为
=LOOKUP(2,0/((A1:H1="t")*(A2:H2<>0)),A2:H2)
=LOOKUP(2,0/((A1:H1="t")*(A2:H2<>0)),A2:H2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=INDEX(2:2,MAX(IF($1:$1="t",IF(2:2<>0,COLUMN($1:$1),),)))
数组公式,需以ctrl+shift+enter三键结束。
上述公式是经07版检测,可用。03版的话估计要把整行(1:1,2:2)换成具体的区域(a1:z1,a2:z2),因手头没有此版本,无法确定03版是否可行。
数组公式,需以ctrl+shift+enter三键结束。
上述公式是经07版检测,可用。03版的话估计要把整行(1:1,2:2)换成具体的区域(a1:z1,a2:z2),因手头没有此版本,无法确定03版是否可行。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=IF(RIGHT(A1,1)="t",B2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询