下面是一张各位老师出勤的日期表格。

那么如何来统计老师们出勤的开始日期和结束日期?
看起来会比较复杂,但通过函数公式的方法,也可以很快地解决这个问题。
首先我们在H2单元格中输入MATCH函数,如下图:

match函数的表达式为:=match(查找值,查找区域,匹配类型),这个函数的作用是返回查找值在查找区域中的位置。
=MATCH("?*",A2:G2,)
公式的结果等于2,那么对应的日期行则是11月2日,因此我们需要通过offset函数来作一个新的引用。
=OFFSET(A1,,MATCH("?*",A2:G2,)-1)

offset函数的表达式为=offset(参照单元格,偏移行,偏移列,行数,列数),如果省略参数,即表示为0。那么再回到之前的公式,我们便能理解它的含义,因为偏移行这个参数省略,所以是向下偏移0行,而从上面match函数的值可知为2,但如果向右偏移2行,结果是11月3日,因此需要再减去1,才能得到正确的结果。
最后我们要注意输入公式后三键结束,进行运算,且要给查找值A1做一个绝对引用,以免参照单元格在向下拉取公式时发生变化。
这样通过offset和match函数的组合,得出了老师们出勤的开始日期。
接下来求老师出勤的结束日期,可以通过一个函数直接达成任务。
对查找函数比较了解的童鞋,马上就会想到返回行或列最后一个数据的函数—LOOKUP。
=LOOKUP(1,0/(A2:G2<>""),A1:G1)

这个公式的写法是非常典型的返回一个区域最后一个非空单元格对应的值的表达形式,在这个表格里,可以理解为返回A2:G2单元格区域最后一个非空单元格即D2单元格,对应A1:G1区域中的值,结果为11月4日。
1,0/(A2:G2<>"")”

阅读更多: