我如何使用VLOOKUP填写每小时的日历计划?

问题描述 投票:2回答:1

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

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

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

google-apps-script google-sheets scripting gs-vlookup
1个回答
0
投票

粘贴到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


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

© www.soinside.com 2019 - 2024. All rights reserved.