在 Sheet1 的 列中A
,我有一个工单号,在 Sheet2 的 列中A
,我有一个发票列表 - 每个发票都引用 Sheet1 上的一个工单号。每个工单都有多张发票。此外,在 Sheet2 上,我有每个发票期涵盖的最后服务日期。
我需要查找每个工作订单的最新服务发票日期。我试过
=MAX(IF($A2=Sheet2!A2,Sheet2!C:C))
结果总是1/0/1900
。
答案1
尝试这个数组公式-
=MAX(IF(A2=Sheet2!$A:$A,Sheet2!$C:$C))
ctrl数组公式必须以++输入shift,enter并在其周围显示花括号{}
。
答案2
您的尝试是正确的,但您需要使用数组公式才能使其发挥作用。将以下内容(调整范围引用以匹配您的工作表)粘贴到公式栏中,然后按Ctrl+ Shift+ Enter。
=MAX(IF(A1=Sheet2!$A$1:$A$13,Sheet2!$C$1:$C$13,-1))
Ctrl++条目将公式作为数组公式输入。数组公式允许您将函数应用于值数组。在本例中,它将 A1 的比较应用于 Sheet2 上 A 列中的每个值。如果未找到匹配的发票号Shift,Enter此公式将返回错误。
此公式假设 Sheet2 上的日期格式为 Excel 日期,即,它们是以日期表示的数字值。如果您的日期恰好被格式化为文本(不是常规或日期格式),则此公式将无法按预期工作。在这种情况下,请使用以下公式作为数组公式输入。
=MAX(IF(A1=Sheet2!$A$1:$A$13,DATEVALUE(Sheet2!$C$1:$C$13),-1))