google-sheets - 在excel中为工作时间表制作动态时间卡
问题描述
也许我在问一个非常基本的问题,但我在这里(和其他网站)搜索过答案,但找不到。
我正在 Google 表格上为我的工作场所制定工作时间表,类似于此处以图片形式发布的示例,其中包括每个工人的自动考勤卡(即,回答“哪几天有 [工人]工作了吗?”)。
我设法用过滤器公式制作了一个
=FILTER(A2:A16;{or(COUNTIF(B2:D2;$L$1);COUNTIF(F2:H2;$L$1));or(COUNTIF(B3:D3;$L$1);COUNTIF(F3:H3;$L$1));or(COUNTIF(B4:D4;$L$1);COUNTIF(F4:H4;$L$1));or(COUNTIF(B5:D5;$L$1);COUNTIF(F5:H5;$L$1));or(COUNTIF(B6:D6;$L$1);COUNTIF(F6:H6;$L$1));or(COUNTIF(B7:D7;$L$1);COUNTIF(F7:H7;$L$1));or(COUNTIF(B8:D8;$L$1);COUNTIF(F8:H8;$L$1));or(COUNTIF(B9:D9;$L$1);COUNTIF(F9:H9;$L$1));or(COUNTIF(B10:D10;$L$1);COUNTIF(F10:H10;$L$1));or(COUNTIF(B11:D11;$L$1);COUNTIF(F11:H11;$L$1));or(COUNTIF(B12:D12;$L$1);COUNTIF(F12:H12;$L$1));or(COUNTIF(B13:D13;$L$1);COUNTIF(F13:H13;$L$1));or(COUNTIF(B14:D14;$L$1);COUNTIF(F14:H14;$L$1));or(COUNTIF(B15:D15;$L$1);COUNTIF(F15:H15;$L$1));or(COUNTIF(B16:D16;$L$1);COUNTIF(F16:H16;$L$1))}=TRUE)
这是A2:A16
使用手动数组列过滤的日期列,该列检查是否每一行B:D
(表示上午班次)或每一行F:H
(下午班次)都包含工人的姓名$L$1
。
这不是最佳解决方案,因为我必须以非常耗时且不灵活的方式手动编写数组(向轮班添加另一列/另一名工人意味着我必须更正每一行)。
还有其他更好的方法来使用 FILTER 吗?到目前为止,我一直在尝试使用 MATCH 或 HLOOKUP,但我是一个菜鸟,对 excel 数组不太熟悉。
解决方案
推荐阅读
- python - dask.protocol.core 中的 msgpack 序列化引发 TypeError:无法序列化“变量”对象
- android - 以编程方式约束布局不使用所有分配的空间(不填充宽度)
- tensorflow - Keras 中的打印验证丢失
- java - 订阅/迭代 Mono 列表
- reactjs - 无法导出带有 getServerSideProps 的 nextjs 页面
- django - 将 PostgreSQL 从 9.6 升级到 11
- c++ - MainWindow 中的子窗口显示一秒钟然后消失
- html - 使 v-treeview 与 flexbox 中的行具有相同的高度
- imagemagick - 可靠地将图像水平压缩为 1 列像素,阈值为 100%
- vue.js - 在带有表单的几页上进行完全静态给出问题