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)
展开
 我来答
致爱丽丝星空之夜
高粉答主

2019-06-23 · 设备工程师,本钢板材股份有限公司
致爱丽丝星空之夜
采纳数:157 获赞数:242166

向TA提问 私信TA
展开全部

本文以win7系统excel2018为例进行演示,具体步骤如下所示。

1、在计算机中启动excel系统打开需要编辑的目标文件。

2、输入数组公式即可,公式为=INDEX(2:2,MAX(IF($1:$1="t",IF(2:2<>0,COLUMN($1:$1),),)))。

3、按ctrl+shift+enter三键结束保存即可。

zzllrr小乐
高粉答主

推荐于2019-02-12 · 小乐图客,小乐数学,小乐阅读等软件作者
zzllrr小乐
采纳数:20147 获赞数:78778

向TA提问 私信TA
展开全部
  • 方法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行此列单元格的值。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山桑弓
2012-08-25 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7793
采纳率:66%
帮助的人:2817万
展开全部
假设首行在A1:H1,第二行在A2:H2中,公式可为
=LOOKUP(2,0/((A1:H1="t")*(A2:H2<>0)),A2:H2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kanwardhoo
2012-08-25 · TA获得超过1578个赞
知道大有可为答主
回答量:2137
采纳率:33%
帮助的人:989万
展开全部
=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版是否可行。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朱科技
2012-08-25 · 帮助需要帮助的人,共享知识促进文化交流
朱科技
采纳数:2379 获赞数:8721

向TA提问 私信TA
展开全部
=IF(RIGHT(A1,1)="t",B2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式