我已经努力解决这个问题好几天了。
我尝试了一些具有多个条件的 VLOOKUP 或 INDEX MATCH,但是它不起作用。
=VLOOKUP(表 2B2&C2,表 1 B:D,3,TRUE)
我有表 1,这是一份历史报告,其中标有多个帐户的状态从一个更改为另一个的日期。
在表 2 中,我需要用一个公式填充第三列,该公式将返回该日期的阶段。
例如
4 月 22 日,当为 Apple 创建任务时,该阶段处于 Pipeline 状态
帐户名称 | 編輯日期 | 旧值 | 新价值 |
---|---|---|---|
苹果 | 2021 年 4 月 19 日 | 前景 | 正在筹备中 |
苹果 | 2021 年 1 月 6 日 | 正在筹备中 | 顾客 |
表 2
帐户名称 | 创建日期 | 匹配结果的公式 |
---|---|---|
苹果 | 2021 年 4 月 22 日 | 正在筹备中 |
苹果 | 2021 年 1 月 7 日 | 顾客 |
非常感谢您对此的帮助!
答案1
使用FILTER()
:
=FILTER(D:D,(B:B=MAXIFS(B:B,B:B,"<"&H2,A:A,G2))*(A:A=G2),"")
有两个布尔值(B:B=MAXIFS(B:B,B:B,"<"&H2,A:A,G2))
,一个返回参考日期之前发生的最新日期,(A:A=G2)
另一个返回与帐户名称匹配的日期。
笔记:
我在这里使用了完整的列引用只是为了帮助简化示例。在实际使用中,应该将范围限制为数据的大小。否则,这个公式将进行数百万次计算,并且在更大的数据集上使用将开始减慢计算速度。