我在 excel 中制作了一个机组人员时间表。有 4 个不同的班次 ABC 或 D。时间表上有 5 个人,时间表在 excel 中的布局如下:
每个人每周的工作时间表都相同,因此每个工作日的情况总是这样的。
我已经想出了如何根据在单元格 A4 中手动输入的日期在 A 列中连续显示日期,并根据 A 列中该框左侧的日期在 B 列中显示星期几;所有这些都运行良好,并且我为闰年制作了一个单独的电子表格。
我的问题是:有没有办法根据行中 B 列的星期几自动将每个人的班次输入到 C 到 G 列中?
我目前必须手动输入 C 到 G 列中的所有内容,这至少可以说很耗时。我的最终目标是当我在 A4 中输入日期时,其他所有内容都会自动更新。
答案1
一个简单的方法是创建一个管理表来存储您的基本日程安排。将其放在单独的“查找”选项卡上,如下所示。在左栏中输入 1-7 天。这里我使用了 Excel 默认的 1=Sunday - 您可能希望将 1=Monday 设为 1=Monday(稍后会详细介绍)。
现在,在我们的主表中,我们针对管理表执行操作VLOOKUP()
以在每一列中提取适当的时间表。
在单元格 C2 中输入:
=VLOOKUP(
WEEKDAY($A2) -- converts date to a number 1-7
,lookup!$A$1:$F$8 -- your admin table
,COLUMN()-1 -- column of the admin table to use
,0) -- exact matches only
并向下和横向复制所有行和列。
如果您希望 1=Monday,则稍微调整公式:
=VLOOKUP(
WEEKDAY($A2,2) -- add an extra ,2
,lookup!$A$1:$F$8
,COLUMN()-1
,0)