我有包含日期和时间列表的数据。大多数日期都有多个匹配项。我想返回与每个日期相对应的最早时间和最晚时间。 我需要在不使用数组公式的情况下执行此操作。
我使用了以下公式的最大和最小版本:
MAX((INDEX('2025'!P:P,MATCH(Tables!BZ5,'2025'!O:O,0),0))))
此公式仅返回与日期相关的第一时间
MAX(INDEX(('2025'!O:O=Tables!BZ4)*'2025'!P:P,0))
此公式返回#VALUE!错误
MAX(INDEX(('2025'!O2:O450=Tables!BZ4)*'2025'!P2:P450,0))
此公式返回0。
-预期结果-
数据:
Dates Time
5/9/19 3:30 PM
5/9/19 11:30 AM
5/9/19 2:00 PM
预期结果
Date Earliest time Latest time
5/9/19 11:30 AM 3:30 PM
根据其他情况,上述公式对其他人也适用,但是请告知我是否缺少语法或其他问题。
答案 0 :(得分:2)
如果您有Office 365,请使用MAXIFS()/ MINIFS():
=MAXIFS('2025'!P:P,'2025'!O:O,Tables!BZ4)
=MINIFS('2025'!P:P,'2025'!O:O,Tables!BZ4)
如果没有,则可以使用AGGREGATE
=AGGREGATE(14,7,'2025'!P2:P450/('2025'!O2:O450=Tables!BZ4),1)
=AGGREGATE(15,7,'2025'!P2:P450/('2025'!O2:O450=Tables!BZ4),1)
如果您的Excel在2010年之前,那么您将需要一个数组公式MAX(IFS()):
=MAX(IF('2025'!O2:O450=Tables!BZ4,'2025'!P2:P450))
=MIN(IF('2025'!O2:O450=Tables!BZ4,'2025'!P2:P450))
最后两个必须在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter进行确认。