当范围超过午夜时,如何比较 Excel 中的时间值

How to compare a time value in Excel when the range goes past midnight

我需要将给定单元格(例如 A1)中的时间与时间范围进行比较,以查看它是否在该范围内。这是数据:

Site 1      11:30 PM     2:30 AM

Site 2      10:00 PM     3:00 AM

Site 3       2:00 PM     8:00 PM

因此,如果在 A1 中输入值 12:00 AM(午夜),则站点 1 和站点 2 应为 True,站点 3 为 False 如果在 A1 中输入值 3:00 PM,则站点 1 和站点 2 应为 False,站点 3 为 True。

似乎无法 Excel 执行此操作。注意:我无法更改单元格的格式以包含日期。

您可以使用一些技巧来确定时间的十进制值。

首先是一个大概的认识:

  • 12:00:00 AM 是一天的开始(与 00:00:00 相同)所以它的值为 0。
  • 12:00:00 PM是中午,它的值为0.5(1半天)。

要查看时间值,您可以执行以下任一操作:

  • =VALUE(A1)
  • =TEXT(A1,"0.0000000000")(零取决于您希望小数的具体程度)
  • format the cell (ctrl-1 / right click > "Format Cells") > Number tab > Set Category to General

将以上内容应用于您的情况,以下公式将检查 AM/PM 状态,如果时间是下午,则减去 1(1 天)。这给出了时间之间的 24 小时比较。使用 AND() 函数,我们现在可以比较 2 个值并相应地 return TRUEFALSE

假设格式与所附图片相同,将其添加到 C2 并根据需要向下拖动:

=IF(AND(IF($A>0.5,$A-1,$A)>=IF(A2>0.5,A2-1,A2),IF($A>0.5,$A-1,$A)<=IF(B2>0.5,B2-1,B2)),TRUE,FALSE)