从 Google 工作表中的单个范围拆分多个范围
Splitting Multiple Ranges from a Single Range in Google Sheets
我正在为我的公司开发一个日程安排工具。我的 Google Sheets 文档的结构是一个摘要页面,其中为每个部门的每个员工制定了完整的时间表。然后,每个员工都有自己的 sheet。在每个员工 sheets 中,我有一个星期日、星期一和星期二(每个员工工作的日子)的部分。在每天的每个部分中,我都有一列指示他们在时钟上的时间,然后是每个部门的一列。我在每个单元格中放置了一个复选框,并且可以激活该复选框以指示该员工将在相应时间在该部门工作。但是,有时员工每天在一个部门的次数不止一次,这意味着带有复选框的列有,例如,检查对应于上午 7 点至上午 10 点和下午 2 点至下午 5 点的单元格,单元格中未选中的框对应于 11am-1pm.
如果员工每天只在该部门工作一次,我有查询功能可以提取该部门的开始和结束时间。经过一些连接后,输出类似于“7AM-2PM”。
=QUERY(A4:C17, "Select MIN(A) where (C=TRUE)")
=QUERY(A4:C17, "Select MAX(A) where (C=TRUE)")
但是,我想不出区分多个开始和结束时间的方法。使用上面的例子,我希望我的输出是“7AM-10AM”和“2PM-5PM”。这些可以在不同的单元格或同一个单元格中,对我来说没有区别。如果后续公式需要对前一个公式进行运算,也可以在多个单元格中使用公式。
我希望这在我描述的方式中是有意义的。数周以来,我一直在努力想出一些办法,但 运行 没时间了。感谢您提供的所有帮助!
尝试:
=ARRAYFORMULA(IFNA(TEXTJOIN(CHAR(10), 1,
TEXT(FILTER($A4:$A17, IF((B4:B17=TRUE)*({FALSE; B4:B16}=FALSE), 1, )=1), "hh:mm\ - ")&
TEXT(FILTER($A4:$A17, IF((B4:B17=TRUE)*({B5:B17; FALSE}=FALSE), 1, )=1), "hh:mm"))))
我正在为我的公司开发一个日程安排工具。我的 Google Sheets 文档的结构是一个摘要页面,其中为每个部门的每个员工制定了完整的时间表。然后,每个员工都有自己的 sheet。在每个员工 sheets 中,我有一个星期日、星期一和星期二(每个员工工作的日子)的部分。在每天的每个部分中,我都有一列指示他们在时钟上的时间,然后是每个部门的一列。我在每个单元格中放置了一个复选框,并且可以激活该复选框以指示该员工将在相应时间在该部门工作。但是,有时员工每天在一个部门的次数不止一次,这意味着带有复选框的列有,例如,检查对应于上午 7 点至上午 10 点和下午 2 点至下午 5 点的单元格,单元格中未选中的框对应于 11am-1pm.
如果员工每天只在该部门工作一次,我有查询功能可以提取该部门的开始和结束时间。经过一些连接后,输出类似于“7AM-2PM”。
=QUERY(A4:C17, "Select MIN(A) where (C=TRUE)")
=QUERY(A4:C17, "Select MAX(A) where (C=TRUE)")
但是,我想不出区分多个开始和结束时间的方法。使用上面的例子,我希望我的输出是“7AM-10AM”和“2PM-5PM”。这些可以在不同的单元格或同一个单元格中,对我来说没有区别。如果后续公式需要对前一个公式进行运算,也可以在多个单元格中使用公式。
我希望这在我描述的方式中是有意义的。数周以来,我一直在努力想出一些办法,但 运行 没时间了。感谢您提供的所有帮助!
尝试:
=ARRAYFORMULA(IFNA(TEXTJOIN(CHAR(10), 1,
TEXT(FILTER($A4:$A17, IF((B4:B17=TRUE)*({FALSE; B4:B16}=FALSE), 1, )=1), "hh:mm\ - ")&
TEXT(FILTER($A4:$A17, IF((B4:B17=TRUE)*({B5:B17; FALSE}=FALSE), 1, )=1), "hh:mm"))))