学员:我每个月被这个不智能的考勤表整疯。
卢子看了表格后,帮她想到了解决的对策,轻松搞定。下面,通过案例来详细说明。
个人考勤表,第一眼看上去很乱。现在要将每个人的汇总合计这一行,对应平时加班和周末加班的时间引用到另外一个表。如图P39和Q39的单元格,要引用到另外一个表。
考勤汇总表,H列跟I列是从个人考勤表引用过来的效果。
原来使用公式。
在H5输入公式:
=考勤记录表!P39
在H6输入公式:
=考勤记录表!P77
在H7输入公式:
=考勤记录表!P115
……
个人考勤表一共有3000行,大概花费半小时才能引用过来。
卢子看了一眼,觉得表格非常乱,很难直接处理。再看一眼,发现了规律。引用的数据都是相差38行。
39+38=77
77+38=115
这样就好处理了,想办法获取38倍数的数字。我们知道ROW函数是获取1-N的数字,如果用38*ROW就获取了38倍数的数字。
在A1单元格输入公式,下拉。
=38*ROW(A1)
在这个基础上加1,就可以得到原来的行号。
在A1单元格输入公式,下拉。
=38*ROW(A1)+1
只需嵌套一个INDEX函数就解决问题。
在H5单元格输入公式,下拉和右拉。
=INDEX(考勤记录表!P:P,ROW(A1)*38+1)
发现数字规律也是一种能力。
再举个案例,ROW函数跟其他函数结合生成另外的数字规律。
将A列姓名重复显示7次,日期从6-19到6-25循环显示。
姓名要重复7次,我们先用ROW/7。
在A1单元格输入公式,下拉。
=ROW(A1)/7
前1-7只要保留整数,向上进1位就得到1。
前8-14只要保留整数,向上进1位就得到2。
……
ROUND函数是四舍五入,而ROUNDUP函数是向上进位,语法一样。这里只要将ROUNDUP函数的第2参数设置为0,就转换成功。
在A1单元格输入公式,下拉。
=ROUNDUP(ROW(A1)/7,0)
最终,嵌套INDEX函数就获得姓名。
在C2单元格输入公式,下拉。
=INDEX($A$2:$A$16,ROUNDUP(ROW(A1)/7,0))
循环生成0-6的数字也是比较常见,这里借助MOD函数。
在A1单元格输入公式,下拉。
=MOD(ROW(A1),7)
最终可获取日期公式,并将单元格设置为日期格式。
在D2单元格输入公式,下拉。
=MOD(ROW(A7),7)+"6-19"
公式中的"6-19"表示日期,日期可以跟数字相加。
作者:卢子,清华畅销书作者;个人公众号:Excel不加班(ID:Excelbujiaban)
帖子回复及时提醒
听课刷题更加方便
全部评论(4)