![Excel MOD 函数/countif 逻辑在凌晨 12 点左右工作](https://linux22.com/image/1567638/Excel%20MOD%20%E5%87%BD%E6%95%B0%2Fcountif%20%E9%80%BB%E8%BE%91%E5%9C%A8%E5%87%8C%E6%99%A8%2012%20%E7%82%B9%E5%B7%A6%E5%8F%B3%E5%B7%A5%E4%BD%9C.png)
我的问题与此类似一因为我在 Excel 的 Mod 公式上遇到了麻烦。我主要想弄清楚 Mod 函数如何与时间相关,如果我让这变得更难,那也只能是那样。
情况是这样的,我制作了一个电子表格,显示几个时区之间的时差以及它们在在线游戏中的协调时间。我假设的起床时间是:早上 6 点到晚上 9 点。为了查看从游戏开始的“开始时间”开始的 12 点之后哪些时区会醒来,我制作了一个单独的图表,其中包含这些时间,公式为 =time+12/24(我将其称为准备时间图表。)(从同一“开始时间”开始的 48 小时之后最终就是相同的开始时间,所以我没有为此制作图表。)
稍后,当我尝试使用公式 =COUNTIFS(B3:B9, ">=" 6:00 AM, B3:B9, "<=" 9:00 PM) 为每个时间创建一个总计列以显示谁“醒着”(不用担心,6am 和 9pm 是替身,它们实际上引用了保存这些值的单元格)。这对于“开始时间”图表来说非常完美,但计数最终在“准备时间”图表上出现偏差。我还遇到了基于这两个图表的其他公式中的错误,以及我不会提及的 COUNTIF 公式,因为我相信我已经将问题隔离到了我对 MOD 函数工作原理的理解上。
当使用相同的 countif 公式仅检查一个时区(例如中央时区)时,“开始时间”图表中的清醒计数是正确的,但使用“准备时间”图表的 12+ 清醒计数是正确的,直到到达 12:00 am 标记。当我将“准备时间”图表公式更改为 =time-12/24 时,会发生相反的情况。但这样做也不符合我的格式条件语句。我真的不想进入并更改每一行/时区的从 12am 标记开始的公式或 COUNTIF 公式,因为在添加/减去时区后,工作表应该几乎完全自动化。
我尝试调整 COUNTIF 语句以适应上午 6 点至晚上 9 点、晚上 9 点至中午 12 点、凌晨 1 点至凌晨 6 点的所有不同情况,这真是让我头疼不已。
我引用的类似问题解释了错误发生的原因是单元格格式设置为日期和时间设置,但我已经检查过,我所有的时间单元格格式都设置为时间类型下午 1:30。是的,格式有上午/下午,但谁能读懂十进制格式的时间呢?我不行。
我不知道如何附加表格,所以只是给出一个视觉效果 - 列是时间(下午 3:00、下午 4:00、下午 5:00 等),行是我正在比较的不同时区(例如中央时区 (ctz)、日本 (JST)、黎巴嫩 (EET) 等)
如果有人能解决我的 Excel 故障那就太好了,但我希望能详细解释一下 MOD 公式在跨越新的一天时间时如何运作。
我已经手动完成了这个问题,但我很好奇如何让 Excel 给我答案,所以不要着急!
我已经调整了我使用 MOD 功能所做的一切地点。
答案1
不用担心弄清楚该模型的故障。
我没有使用公式 =time+12/24 来创建 12 小时以上的准备图表。应该是 =MOD(time+(12/24),1)。然后将单元格拖到谁行上会修复显示时间的格式,从而使时间格式具有可比性。
例如:=B2+12/24 应为 =MOD(B$2+(12/24),1)