在多个工作表中自动执行重复模式

在多个工作表中自动执行重复模式

TL;DR:我需要自动化一个循环模式,该模式会在跨越多张工作表的单元格块的间隔内重复。

所以……我有一个为我们的工作组维护的电子表格,我们用它来根据谁有空、谁的加班时间最少等来分配额外班次。工作簿每个月都有单独的工作表,还有许多旧格式——最初它仅用作打印副本的基础,所有“会计”都是手工完成的。我已经将其中的一部分自动化了,主要是为了减少从一个月到下个月的错误和诸如此类的事情。又到了一年中的这个时候,我正在努力制定明年的时间表。

有一大堆繁琐而重复的手工工作 - 复制到新的工作簿、清除旧的工作时间、调整每个月的日期、标记出哪些日期是工作日 - 12 小时工作日、12 小时工作夜班、8 小时工作日,是否是“半天”工作日(联邦劳动法要求一周工作超过 40 小时的加班费为 1.5 倍)或节假日(因为这是一个 24/7/365 的运营中心,有些工人在当天放假,有些在回来的第一天放假,有些则根本不放假...),工资期的开始/结束时间,等等。

哦,为了让它更有趣,有多个轮班:五个人按“改良的杜邦”时间表工作(四晚,两晚休息,三天,一天休息,三晚,三天休息,四天,三天休息,四个“短”(8 小时)天,七天休息...冲洗,涂泡沫,重复,每 35 天)。另外两个人按 8 周的轮班时间表工作四天,休息四天。

由于不同的月份(每个月是不同的工作表)有 30、31 或 28 天,因此很快就会变得“复杂”。一旦你习惯了,上面提到的大部分内容都会以循环的方式重复。问题是,这种模式需要在跨越多张工作表的单元格块的间隔内重复……这就是我接下来想弄清楚如何实现自动化的地方。

这是明年一月基本时间表的示例:

在此处输入图片描述

灰色代表假期,蓝色代表 1.5 倍班次,红色边框代表工资支付期等。每个月都有类似的表格,图案从一个月延伸到另一个月。

以下是各种序列的“原始”形式的参考示例:

在此处输入图片描述

答案1

Excel 实际上非常适合此用途 - 自定义规则和大量计划、手动调整。除了自定义程序之外,您很难找到更好的东西。可以做很多事情来改进模板:

  1. 使用 Excel 的内置日期函数。WORKDAY 之类的函数内置了对节假日的支持。使用条件格式标记节假日。
  2. 创建设置表,创建起始条件(年份、以命名范围保存的假期等)。将一月份的表与起始日期链接起来,然后以菊花链方式连接其他表。
  3. 创建计划作为命名范围数组,例如杜邦定义为={"N","N","N","N","","","","D","D","D","","N","N","N","","","","D","D","D","D","","","","8","8","8","8","","","","","","",""}

要获取计划值,请使用=INDEX(mdupont, MOD((day-1+sshift),35)+1)where是一年中的第 # 天,并且转变是不同时间表之间的相对转变。例如可以确定=(A1&" February "&startyear) - ("1 January"&" "&startyear) +1startyear 是设置表中的一个命名范围。

如果您需要手动更改计划(补偿假期或适应个人计划),那么也许可以在每个计划行上方创建隐藏行。隐藏行包含计划索引号,大多数情况下以 1 为增量(模 35),但允许您手动干预并无序更改计划。在这种情况下,您需要将计划开始和停止索引值从一个月表菊花链连接到下一个月表。

相关内容