在 Google 表格中,如何使用一个 IF 语句将日期和时间与多个日期范围进行比较?

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

问这个问题的方式有点啰嗦,但想不出更短的替代方案。

我正在尝试制作一张表格,可以在其中输入个人的开始/结束时间,并让它检查一个电子表格,显示他们何时不可用。此处显示了不可用表的示例,其名称位于左侧(C 列),不可用的开始/结束时间分别位于中间(D 列)和右侧(E 列)。

(https://i.stack.imgur.com/c8sgQ.png)

在另一张纸(我放置开始和结束时间的纸)中,我有这个功能。其中,B17 是开始时间(例如“15:30”),B2 是日期,A17 是名称(在本例中为“Mike”):

=IF(B17="","No",IF(AND(B$2+B17>=FILTER('Unavailability Form'!$D$2:$D$116,'Unavailability Sheet'!$C$2:$C$116=$A17),B$2+B17<=FILTER('Unavailability Form'!$E$2:$E$116,'Unavailability Sheet'!$C$2:$C$116=$A17)),"Yes","No"))

运行我当前拥有的函数时,它似乎只检查不可用性表单中名称的第一个结果,而不是我当前拥有的所有三个结果。有没有办法更改上述函数以允许它检查所有日期和时间段而不是列表中的第一个?

提前致谢!

编辑:复制我正在使用的表格并删除个人信息,以便我可以在这里分享:https://docs.google.com/spreadsheets/d/17wUwvVh55p7VRjLUzm4YrKdJT4LhE4nluar9k8iOdrI/edit?usp=sharing

编辑2:更改了链接,因为编辑历史记录显示了个人信息。

google-sheets google-sheets-formula
1个回答
0
投票

您可以尝试:

=if(B17="","No",if(let(Σ,filter('Other Unavailability'!$B:$C,'Other Unavailability'!$A:$A=$A17),sumproduct(B$2+B17>=index(Σ,,1),B$2+B17<=index(Σ,,2)))>0,"Yes","No"))

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