Google Sheets:判断一个时间是否在两个指定的时间范围内

Google Sheets: Determining if a time falls within a two specified times

我正在尝试找到一种方法来确定某个时间是否介于两个特定时间之间 - 有两种不同的情况需要标记。到目前为止,我一无所获(而且很沮丧!)

B 列有 date/times 例如:

February 9, 2022 09:55AM
February 9, 2022 01:15PM
February 9, 2022 09:39PM

标志 1:时间在凌晨 4 点到中午之间

标记 2: 时间在晚上 8 点到凌晨 4 点之间——鉴于它分布在午夜,是否需要将其分解为两个单独的条件?

C 列中的结果输出:

FLAG 1
[Blank Cell - No Flag]
FLAG 2

感谢任何想法 - 一如既往地感谢社区。

首席技术官

尝试:

=ARRAYFORMULA(IFERROR(IF(
 (TIMEVALUE(A1:A)>=TIMEVALUE("4:00:00"))*
 (TIMEVALUE(A1:A)< TIMEVALUE("12:00:00")), "Flag 1",IF(
 (TIMEVALUE(A1:A)>=TIMEVALUE("20:00:00"))*
 (TIMEVALUE(A1:A)<=TIMEVALUE("23:59:59"))+
 (TIMEVALUE(A1:A)>=TIMEVALUE("00:00:00"))*
 (TIMEVALUE(A1:A)< TIMEVALUE("04:00:00")), "Flag 2", ))))

您可以使用涉及一些数学知识的更简单的公式:

=arrayformula(if(A1:A="","",iferror(选择(1+mod(3+int((mod(A1:A,1)- 4/24)*24/8),3),"旗帜 1","","旗帜 2"))))

我们从日期中提取时间 (mod),将结果偏移 -4 小时 (-4/24),int-dividing 结果偏移 8 小时 (*24/8, which is same as /(24/8)) 获取索引 0,1 或 2