如何使用VLOOKUP填写小时日历时间表?

时间:2019-09-25 03:13:14

标签: google-apps-script google-sheets filter scripting gs-vlookup

我没有提供要处理的函数,因为它很长而且很随意,没有引用的列,而是提供了电子表格 here 的简化模型。 。请确保对其进行复制,而不要直接编辑原始文件。如果我需要删除此链接,我会。

从本质上讲,我正在尝试制定另一方已经创建的日程表,并根据 VLOOKUP 搜索键将其显示在小时日历视图中。在上面链接的示例中,我在主时间表标签中创建了一个教室时间表,其中包括教室,主题,老师,开始时间和结束时间以及日期。我已经安排了当天以及从前一天的某些结束时间到午夜之后的前一天安排的房间,因此,如果它们碰巧出现在当日的日历视图中,我希望将它们包括在内。清晨。在同一标签中,我有一个 VLOOKUP 公式,其中房间号作为搜索键。该公式之所以这么长,是因为我必须考虑是否有多个用逗号“,”或正斜杠“ /”分隔的房间,并且它是从提供给我的另一个Stack Overflow问题的解决方案中得出的。它可以完成工作,但是如果有一种方法不那么令人费解,那么我就会不知所措。

我想将主时间表标签中的数据转换为房间时间表标签中的日历视图。我以为我已经用一些 IF 语句在逻辑上解决了问题,但是我一直努力奋斗。我意识到在这种平台上并非总是喜欢这样的开放式问题,但是我对如何完成我要去的事情不知所措,尤其是在没有任何公式花费很长时间来填充日历的情况下更新主计划表,因此非常感谢在正确方向上的任何帮助或推动。如果我链接的电子表格或目标不明确,我很乐意澄清任何事情。

1 个答案:

答案 0 :(得分:2)

粘贴到 C2 单元格中,然后向下拖动到右侧:

=IFERROR(FILTER('Master Schedule'!$F$2:$F&CHAR(10)&'Master Schedule'!$D$2:$D, 
 REGEXMATCH('Master Schedule'!$E$2:$E, "^"&$A2&"$"), 
 HOUR('Master Schedule'!$B$2:$B)<=HOUR(INDEX(SPLIT(C$1, "-"), 1, 1)), 
 HOUR('Master Schedule'!$C$2:$C)>=HOUR(INDEX(SPLIT(C$1, "-"), 1, 1)),
 'Master Schedule'!$A$2:$A=TODAY()))

0


注意:如果将其转换为一个单元格的数组公式,那么工作表的性能将受到很大影响,因此这种基于单元格的解决方案