×

返回 关闭
设置

不哭!半个小时才能完成的事情,用函数只要几秒钟

Excel不加班

学员:我每个月被这个不智能的考勤表整疯。


卢子看了表格后,帮她想到了解决的对策,轻松搞定。下面,通过案例来详细说明。


个人考勤表,第一眼看上去很乱。现在要将每个人的汇总合计这一行,对应平时加班和周末加班的时间引用到另外一个表。如图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)

2427人看过 7年前

全部评论(4)

请稍等,正在加载
分享
扫码下载APP 关闭

帖子回复及时提醒
听课刷题更加方便

取消
复制链接,粘贴给您的好友

复制链接,在微信、QQ等聊天窗口即可将此信息分享给朋友