前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式练习65: 查找并比较时间

Excel公式练习65: 查找并比较时间

作者头像
fanjy
发布2020-05-29 14:56:51
1.8K0
发布2020-05-29 14:56:51
举报
文章被收录于专栏:完美Excel

学习Excel技术,关注微信公众号:

excelperfect

本次的练习是:如下图1所示,单元格区域A1:E12是一组数据,单元格区域B16:C20是一个标准查找表。其中,列D中的数据为对应的列C中的数据减去列A中的数据,例如D2=C2-A2;列E中的数据为:列B中的值在查找表B16:C20中查找相应的解决用时,然后与列D中的值比较,如果列D中的值小于查找到的解决用时,则输入“Pass”,否则输入“Fail”。如何使用公式在列E中输入相应的值?

图1

先不看答案,自已动手试一试。

公式

在单元格E2中,输入数组公式:

=IF((D2)<=(TIMEVALUE(INDEX(C20,MATCH(B2,B17:B20,0),0))),"Pass","Fail")

下拉至单元格E12。

公式解析

首先看公式中的:

MATCH(B2,B17:B20,0)

在单元格区域B17:B20中查找单元格B2中的值“SL3”出现的位置,显示结果为:3。

传递给INDEX函数:

INDEX(C17:C20,MATCH(B2,B17:B20,0),0))

即:

INDEX(C17:C20,3,0))

获取单元格区域C17:C20中第3行的值:08:00。

然后将该值转换为时间序数:

TIMEVALUE(08:00)

得到:

0.333333333333333

将其与单元格D2中的值比较。在单元格D2中显示的是“时:分”格式,但Excel实际存储的是时间序数,因此可以正确地对两者进行比较。结果为:True,因此最终公式的结果为:

Pass

这个公式比较简单,关键是在比较前应使用TIMEVALUE函数将时间转换为序数。我们知道,Excel是以序数的形式存储时间的,一天的时间范围从0至0.99999999,代表0:00:00至23:59:59。序数可以这样换算:

小时数*60/一天的总分钟数

例如:8:00可以换算为:

8*60/1440=0.333333333333333

上面使用了MATCH/INDEX函数组合进行查找,本例中也可使用VLOOKUP函数来查找,公式为:

=IF(D2<TIMEVALUE(VLOOKUP(B2,C20,2,FALSE)),"Pass","Fail")

结果相同。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档