Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5102|回复: 5

[已解决]可否用函数实现排班表的转换,以便导入HR系统

[复制链接]
发表于 2014-6-30 16:19 | 显示全部楼层 |阅读模式
本帖最后由 yhxv 于 2014-7-4 11:26 编辑

       根据公司HR系统设定员工排班的需要,需要将集中设定好的Original(*:表里的姓名及排班内容纯属虚构)里的各位员工的排班表分别生成单个员工的排班(如生成孔子的排班表:unload-孔子),以便导入HR系统。(随附的压缩文件包含了original及unload两个表)

     现在求各位大侠帮忙怎么得出各位员工的unload的字表,只要是in、out及flag列的值如何设定,谢谢!

    说明:
    1、origianl里的人名与日期对应的值(如S)即该员工那天应该按照S的上下班时间来上班。如S代表9:00上班,18:00下班,以此类推;
    2、unload里的Empld里对应的是original里的,如孔子的为00000009658;Date列每月的1号至月末;In表示上班时间,Out表示下班时间;Flag表示working day(上班)或者off(休息);Roster列为其本人排班表

   另外:
   1、unload中的EmpId是否用vookup求出?
   2、unload中的Roster通过复制Original中对应的排班即可得出?还是有其它的方法?

original截图(部分).png unload截图(部分).png
最佳答案
2014-6-30 16:41
本帖最后由 baksy 于 2014-6-30 16:44 编辑

G5公式,下拉;
=INDIRECT("Original!R"&MATCH(B5,Original!AH$1:AH$10,)&"C"&ROW()-2,)
D5公式,横拉、下拉;
=IF($G5=0,"",VLOOKUP($G5,Original!$B$12:$I$19,(COLUMN()-3)*2,0))

Roster-unload.rar

17.05 KB, 下载次数: 44

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-6-30 16:41 | 显示全部楼层    本楼为最佳答案   
本帖最后由 baksy 于 2014-6-30 16:44 编辑

G5公式,下拉;
=INDIRECT("Original!R"&MATCH(B5,Original!AH$1:AH$10,)&"C"&ROW()-2,)
D5公式,横拉、下拉;
=IF($G5=0,"",VLOOKUP($G5,Original!$B$12:$I$19,(COLUMN()-3)*2,0))
回复

使用道具 举报

 楼主| 发表于 2014-7-2 13:52 | 显示全部楼层
baksy 发表于 2014-6-30 16:41
G5公式,下拉;
=INDIRECT("Original!R"&MATCH(B5,Original!AH$1:AH$10,)&"C"&ROW()-2,)
D5公式,横拉、下 ...

谢谢!
可以的。
回复

使用道具 举报

 楼主| 发表于 2014-7-2 13:52 | 显示全部楼层
不知道是否有更加便捷的?
回复

使用道具 举报

发表于 2014-7-2 14:05 | 显示全部楼层
yhxv 发表于 2014-7-2 13:52
不知道是否有更加便捷的?

公式是根据楼主的原始表格编辑的,
原始数据的样式妥当
公式也能简化。
回复

使用道具 举报

 楼主| 发表于 2015-4-30 20:06 | 显示全部楼层
baksy 发表于 2014-7-2 14:05
公式是根据楼主的原始表格编辑的,
原始数据的样式妥当
公式也能简化。

非常感谢你的帮忙,现在我希望可以依次显示,罗列出每位员工的排班,要怎么样才能实现呢?谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 03:04 , Processed in 0.388500 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表