=INDEX(D1:D6;MATCH(1;(E1=A1:A6)*(E2=B2:B6)*(DATEVALUE(MID(E3;1;10))>=DATEVALUE(MID(C1:C6;1;10)));0))
我有一个 excel 文件,其中包含每个 productId 组合(列 A 和 B )和生效日期的价格。
如您所见,它可能包含 productId 组合的重复项,并且它们仅在日期过去后才有效。
这是我到目前为止提出的公式,但它仅在行按 A B 和 C 排序时才有效(尤其是 C 应该按降序排序)。
在示例中,我期望正确的结果价格为 600.00 但它返回 200.00 。
我明白为什么会这样。但我不知道如何修复它并使其正常工作。
正确的意思是:
给出产品ID:
D318JV 00B6
如果有效日期 >= 07/18/2019 00:00:00 => 600.00
如果在 2019 年 7 月 7 日 00:00:00 和 2019 年 7 月 18 日之间生效日期 => 400.00
如果在 2019 年 6 月 1 日 00:00:00 和 2019 年 7 月 7 日之间生效日期 => 200.00
如果在 06/01/2019 00:00:00 之前生效日期 => N/A
任何帮助使这个公式工作将不胜感激
最佳答案
结合问题和评论中的方法到@matro的答案:
=MAX(IF((E1=A1:A6)*(E2=B1:B6)*(E3>=C1:C6); C1:C6))
(通过 Ctrl+Alt+Enter 而不是 Enter 来确认)=INDEX(D1:D6; MATCH(1; (E1=A1:A6)*(E2=B1:B6)*(E4=C1:C6); 0))
关于Excel 匹配索引多个条件和多个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56992150/