如何从“排班表”提取相同日期下干某一工作的人的姓名,并填到另一工作表对应日期的相应列的单元格内?

如何从“排班表”提取相同日期下干某一工作的人的姓名,并填到另一工作表(夜班表)对应日期的相应列的单元格内?

工作表1:排班表
姓名 2013-10-1 2013-10-2 2013-10-3 2013-10-4 2013-10-5 2013-10-6 2013-10-7

赵一 收银 清洁 上休 清洁 上休 清洁 清洁

钱二 运货 收银 运货 联系 联系 下休 下休

孙三 摆位 运货 收银 摆位 运货 上休 联系

李四 清洁 摆位 摆位 收银 摆位 联系 夜班

周五 联系 联系 夜班 运货 收银 摆位 上休

吴六 上休 上休 下休 夜班 清洁 收银 运货

郑七 夜班 下休 联系 下休 下休 运货 收银

王八 下休 夜班 下休 上休 夜班 夜班 摆位

工作表2:夜班表

日期 夜班者

2013-10-1 (示例:郑七)

2013-10-2

2013-10-3

2013-10-4

2013-10-5

2013-10-6

2013-10-7

在夜班表的B2输入公式右拉再下拉,公式可适应当同一天中有一个以上人员加班的情况。

数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车 结束。

 

=IF($A2="","",INDEX(排班表!$A:$A,SMALL(IF(OFFSET(排班表!$A$2,,MATCH($A2,排班表!$1:$1,)-1,999)="夜班",ROW($2:$999),4^8),COLUMN(A1)))&"")

 

如果同一天只会有一个人是夜班的,公式可以改为普通公式,输入完成直接回车再下拉即可,无需按三键。

=IF(A2="","",IF(COUNTIF(OFFSET(排班表!A$2,,MATCH(A2,排班表!$1:$1,)-1,999),"夜班"),LOOKUP(1,0/(OFFSET(排班表!A$2,,MATCH(A2,排班表!$1:$1,)-1,999)="夜班"),排班表!A$2:A$999),""))


我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。


温馨提示:答案为网友推荐,仅供参考
相似回答