【问题标题】:Replace the text of a specific cell given certain circumstances在特定情况下替换特定单元格的文本
【发布时间】:2019-01-11 02:44:40
【问题描述】:

我正在为我工​​作的公司制定工作时间表。公司有四种不同的工作,因此有 4 个单独的时间表选项卡。

我有一个标签,专门用于员工请病假或请假时使用。我正在寻找一种方法,当用户输入员工姓名、具体日期和病假/请假时,它可以自动更新该员工所属的工作时间表(Job1 Job2Job3Job4)

示例: 这是 John Doe 的 Job 1 工作时间表(因此位于 Job1 选项卡上)

John Doe 在 2019 年 1 月 18 日星期五请病假。主管在 Time Off Reqs/Sick 选项卡上填写以下内容

鉴于用户在 Time Off Reqs/Sick 选项卡中输入了上述数据,我希望 John Doe 的日程安排在 Job1 选项卡到以下 约翰·多伊

这是我的虚拟数据的link 非常感谢任何帮助!

【问题讨论】:

  • 嗨。 FWIW,我认为你有它从后到前。我会在一张纸上完成所有数据输入 - “工作”表。我会让每个单元格成为一个下拉菜单,其中包含“工作”、“生病”或“关闭”(或其他)选项。然后添加一些代码用于选择“Sick”,并相应地更新“Time Off/Req Lists”上的数据。
  • 啊,我明白了!这是聪明的想法!我已经有了下拉菜单,所以改变它应该不会太难。谢谢!
  • C 列充满了公式(每张 350 个)。为什么不将 B 列中的日期复制到 C 列,然后将 C 格式化为日期/日期。结果是右对齐(很容易固定为左对齐)并且在句子情况下而不是大写(但这真的重要吗?)。那将是 1,200 个公式在瞬间消失。
  • 您同时运行多少个作业?你的工资单上有多少员工?员工可以在一个月内从事多项工作吗?您实际上将工作表用于什么,“事后”记录工作,作为花名册,工资单等?我想知道为什么要多张纸?为什么不只有一张纸并记录日期、工作、姓名和工作类型?使分析数据变得如此容易,因为一切都是高度结构化的,您可以查询、过滤、查询和过滤等。

标签: replace google-sheets vlookup google-query-language


【解决方案1】:

我能够得到你要找的东西。请参阅工作表(并复制以修改)HERE

我在“Job1”工作表的每个单元格中使用了下面的公式(对于这个例子,我只对 F 列做了)。

=IFERROR(IF(AND(D2<>"SATURDAY",D2<>"SUNDAY",ISNA(QUERY(Requests!A$2:C,"Select C where A='"&$F$1&"' and B = date '"&TEXT(DATEVALUE(C2),"yyyy-mm-dd")&"'",0)))=TRUE,"Work",QUERY(Requests!A$2:C,"Select C where A='"&$F$1&"' and B = date '"&TEXT(DATEVALUE(C2),"yyyy-mm-dd")&"'",0)),"Off")

您也可以使用多个INDEX/MATCH 语句来获得您要查找的内容。如果您重组数据,您也许可以使用ARRAYFORMULA 来减少您需要使用的公式数量。

【讨论】:

  • 鉴于休息日可能会改变,我将如何调整您的公式?看起来您将休息日硬编码为周六和周日。
  • 您可以考虑一个帮助列,您可以在其中将一些内容放在日期旁边的单元格中,表明它应该是休息日。然后将IF 语句更改为=IF(yourcell="yourvalue","Off",IF(ISNA(QUERY(Requests!A$2:C,"Select C where A='"&H$1&"' and B = date '"&TEXT(DATEVALUE(C2),"yyyy-mm-dd")&"'",0))=TRUE,"Work",QUERY(Requests!A$2:C,"Select C where A='"&H$1&"' and B = date '"&TEXT(DATEVALUE(C2),"yyyy-mm-dd")&"'",0))) 之类的内容您还可以考虑更改数据以在一张表中手动输入请求和工作日,然后使用QUERY从那里提取作业/请求
猜你喜欢
  • 1970-01-01
  • 2022-12-17
  • 2020-05-19
  • 2019-02-10
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 2016-10-27
  • 2022-11-13
相关资源
最近更新 更多