ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2953|回复: 8

[求助] 求助!如何根据生产截止的时间,对应排班表查看是哪个班生产的

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-3-10 14:13 | 显示全部楼层 |阅读模式
本帖最后由 pluto927 于 2014-3-10 15:29 编辑

生产情况.zip (68.71 KB, 下载次数: 42)

1、在SHEET1中有一个“生产截止时间”的表格(如下):
生产截止时间
01.03.2014 02:31
02.03.2014 11:12
03.03.2014 04:22
06.03.2014 05:43
05.03.2014 11:46
06.03.2014 12:22

2、在SHEET2中有一个“排班表”(以3月份为例,表格如下),其中总共有A、B、C、D四个班,表格中的M代表白班(上班时间为8:30-20:30),N代表夜班(时间为20:30-第二天8:30):
March   2014
Day
A
B
C
D
01
Sa
N
M
02
Su
N
M
03
Mo
M
N
04
Tu
M
N
05
We
N
M
06
Th
N
M
07
Fr
M
N
08
Sa
M
N
09
Su
N
M
10
Mo
N
M
11
Tu
M
N
12
We
M
N
13
Th
N
M
14
Fr
N
M
15
Sa
M
N
16
Su
M
N
17
Mo
N
M
18
Tu
N
M
19
We
M
N
20
Th
M
N
21
Fr
N
M
22
Sa
N
M
23
Su
M
N
24
Mo
M
N
25
Tu
N
M
26
We
N
M
27
Th
M
N
28
Fr
M
N
29
Sa
N
M
30
Su
N
M
31
Mo
M
N

3、如何能在SHEET1中,将生产截止时间后面能对应自动算出,这个时间是哪个班上班的啊??
表格详情见附件,附件中的排班表是个老外做的,里面的公式我已经看不懂了。。。
求大神帮忙解决一下Sheet1中的问题!!!万分感谢!!!!!

TA的精华主题

TA的得分主题

发表于 2014-3-10 14:19 来自手机 | 显示全部楼层
上附件啊,亲
sheet2最好处理下,不要这种格式,简单一维表,这样只要lookup就差不多了

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-3-10 14:29 | 显示全部楼层
xinjiana 发表于 2014-3-10 14:19
上附件啊,亲
sheet2最好处理下,不要这种格式,简单一维表,这样只要lookup就差不多了

已上附件~~~求大哥帮忙啊。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-3-10 14:34 | 显示全部楼层
xinjiana 发表于 2014-3-10 14:19
上附件啊,亲
sheet2最好处理下,不要这种格式,简单一维表,这样只要lookup就差不多了


那个排班表都是祖先留下来的,小女子能力有限,这种逻辑的完全不会整啊。。最近才又开始脑补Excel这些高大上的复杂表格的

TA的精华主题

TA的得分主题

发表于 2014-3-10 20:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=MID("ABCD",MATCH(IF(ABS(TIMEVALUE(RIGHT($A2,5))-"14:30")<TIME(6,,),"M","N"),OFFSET('Shift Calendar'!$B$2,--LEFT($A2,2),MID($A2,4,2)*6-6,1,6),)-2,1)
有针对性。比如有5个班,公式就不正确了。
根据时间的日期,目标排班下移的行数;用月份,计算目标排班右移的列数;最终是一个6单元格的区域
再根据时间,计算班次的MN值,用match函数求得上班班组所在列序,然后输出班组代号。

TA的精华主题

TA的得分主题

发表于 2014-3-11 09:25 | 显示全部楼层
shuyee 发表于 2014-3-10 20:37
=MID("ABCD",MATCH(IF(ABS(TIMEVALUE(RIGHT($A2,5))-"14:30")

不愧是版主大人~~公式確實高大上~~~我插入了四格才計算出來~~版主一格內搞定~~太慚愧了~~

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-3-11 15:29 | 显示全部楼层
shuyee 发表于 2014-3-10 20:37
=MID("ABCD",MATCH(IF(ABS(TIMEVALUE(RIGHT($A2,5))-"14:30")

膜拜版主大人。。但是有一个问题,比如01.03.2014 02:31这个时间点,其实这个时间点是属于2月28日夜班的。因为比如3月1日的M白班是指:3月1日的8:30-20:30;N夜班是指3月1日的20:30-3月2日的8:30
我也是一直纠结这个时间点的问题 T。T

TA的精华主题

TA的得分主题

发表于 2014-3-11 18:40 | 显示全部楼层
这个自己改改。就是8:30前的,提前1天,
在计算移行时,如果是8:30前的夜班,少移1行

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-3-12 11:02 | 显示全部楼层
shuyee 发表于 2014-3-11 18:40
这个自己改改。就是8:30前的,提前1天,
在计算移行时,如果是8:30前的夜班,少移1行

那貌似用你给出的这个直接修改是不行的,是不是需要在时间设定上要再加一个逻辑啊。因为目前您给出的这个会出现一个错误,就例如:以3月2日这一天为例,会将3月1日20:30-3月2日8:30的时段,和3月2日20:30-3月3日8:30的这2个夜晚时段全都判断为3月2日的N班。。。
这个我不知道怎么改啊。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 00:08 , Processed in 0.051390 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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