网站首页 > 基础教程 正文
下面是一张各位老师出勤的日期表格。
那么如何来统计老师们出勤的开始日期和结束日期?
看起来会比较复杂,但通过函数公式的方法,也可以很快地解决这个问题。
首先我们在H2单元格中输入MATCH函数,如下图:
match函数的表达式为:=match(查找值,查找区域,匹配类型),这个函数的作用是返回查找值在查找区域中的位置。
上图公式=MATCH("?*",A2:G2,),它的含义是查找任意内容,在A2:G2单元格区域中的位置,最后一个参数在这里省略了。
公式的结果等于2,那么对应的日期行则是11月2日,因此我们需要通过offset函数来作一个新的引用。
因此输入函数=OFFSET(A1,,MATCH("?*",A2:G2,)-1),它的含义是以A1为参照,以向下偏移0行,向右偏移1行。
offset函数的表达式为=offset(参照单元格,偏移行,偏移列,行数,列数),如果省略参数,即表示为0。那么再回到之前的公式,我们便能理解它的含义,因为偏移行这个参数省略,所以是向下偏移0行,而从上面match函数的值可知为2,但如果向右偏移2行,结果是11月3日,因此需要再减去1,才能得到正确的结果。
最后我们要注意输入公式后三键结束,进行运算,且要给查找值A1做一个绝对引用,以免参照单元格在向下拉取公式时发生变化。
这样通过offset和match函数的组合,得出了老师们出勤的开始日期。
接下来求老师出勤的结束日期,可以通过一个函数直接达成任务。
对查找函数比较了解的童鞋,马上就会想到返回行或列最后一个数据的函数—LOOKUP。
直接在H2单元格输入函数公式=LOOKUP(1,0/(A2:G2<>""),A1:G1)
这个公式的写法是非常典型的返回一个区域最后一个非空单元格对应的值的表达形式,在这个表格里,可以理解为返回A2:G2单元格区域最后一个非空单元格即D2单元格,对应A1:G1区域中的值,结果为11月4日。
其中“1,0/(A2:G2<>"")”是一种固定写法,A2:G2<>""的表达,含义是A2:G2单元格区域中不等于空值的一种判断语句,它的结果是true和false,也就是1和0。因此用0处于这个结果,会出现0和错误值,因为0是不能被除的。
这样我们设定的查找值1,就会返回最接近于它的值,也就是0,而lookup函数的特点就是会返回最后一个相近的查找值。
lookup函数中的1和0到底什么意思,有什么作用,其实很多童鞋都难以理解,但是不要紧,大家记住这个写法就行,见到此类返回最后一个值的问题时,首先反应通过这样一个lookup公式就能搞定!
同时也要注意,将需要求值的日期行进行绝对引用。
以上就是今天的全部内容,有什么疑问可以在下方留言哦!
阅读更多:
猜你喜欢
- 2025-01-02 Excel日期函数,只看这一篇就够了,动图演示让你一看就懂
- 2025-01-02 word使用技巧快速输入当前日期
- 2025-01-02 初学excel表格办公软件快速输入日期和时间
- 2025-01-02 如何在Excel中输入一年的日期?这3种方法一看即会
- 2025-01-02 Excel 输入日期最快的5种方法
- 2025-01-02 Excel怎么制作考勤表模板?能自动更新日期和统计考勤
- 2025-01-02 EXCEL表格快速输入日期和时间 高手常用的快捷键 学会它你只需三秒
- 2025-01-02 EXCEL 表格中日期和时间的基础函数 六种常用函数 大家经常会用到的
- 2025-01-02 Excel 函数公式|这样自动登记输入日期时间,真是太爽了!
- 2025-01-02 在Excel中如何快速录入日期和时间,三种方法轻松搞定,推荐收藏
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)