Arrays 在Google工作表中从单个范围拆分多个范围

Arrays 在Google工作表中从单个范围拆分多个范围,arrays,if-statement,google-sheets,split,array-formulas,Arrays,If Statement,Google Sheets,Split,Array Formulas,我正在为我的公司构建一个调度工具。我的Google Sheets文档的结构是一个摘要页面,为每个部门的每个员工列出了完整的日程安排。然后,每个员工都有自己的工作表。在每个员工表中,我都有一个星期天、星期一和星期二(每个员工工作的日子)的部分。在“按日”的每个部分中,我都有一个列,指示它们在时钟上的时间,然后是每个部门的一个列。我在每个单元格中都放置了一个复选框,可以激活该复选框,以指示该员工将在相应的时间在该部门工作。但是,有时员工每天在一个部门工作不止一次,这意味着带有复选框的列在对应于上午7

我正在为我的公司构建一个调度工具。我的Google Sheets文档的结构是一个摘要页面,为每个部门的每个员工列出了完整的日程安排。然后,每个员工都有自己的工作表。在每个员工表中,我都有一个星期天、星期一和星期二(每个员工工作的日子)的部分。在“按日”的每个部分中,我都有一个列,指示它们在时钟上的时间,然后是每个部门的一个列。我在每个单元格中都放置了一个复选框,可以激活该复选框,以指示该员工将在相应的时间在该部门工作。但是,有时员工每天在一个部门工作不止一次,这意味着带有复选框的列在对应于上午7点到10点和下午2点到5点的单元格中有复选框,在对应于上午11点到下午1点的单元格中有未选中的框

我有查询功能,如果员工每天只在该部门工作一次,则可以提取该部门的开始和结束时间。经过一些串联后,输出类似于“7AM-2PM”


然而,我想不出一种方法来区分多个开始和结束时间。使用上面的例子,我希望我的输出是“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"))))

共享一份您的工作表绝对棒极了!非常感谢您提供此解决方案以及快速的回答。现在,我们来仔细分析和了解这个公式的每一部分到底是做什么的。
=QUERY(A4:C17, "Select MAX(A) where (C=TRUE)")
=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"))))