我有一个客户列表和一个电子表格,可跟踪与他们的每次相遇。样本表如下所示:
工作簿1:客户表
+------------+----------------+---------------------+
| Name | Current Status | Last Date Contacted |
+------------+----------------+---------------------+
| Customer A | Active | 3/1/2018 |
| Customer B | Inactive | 3/2/2018 |
| Customer C | Closed | 3/3/2018 |
+------------+----------------+---------------------+
工作簿2:相遇列表
+------------+------------+----------+
| Name | Status | Date |
+------------+------------+----------+
| Customer A | New | 1/1/2018 |
| Customer A | Active | 2/1/2018 |
| Customer A | Active | 3/1/2018 |
| Customer B | New | 1/2/2018 |
| Customer B | Active | 2/2/2018 |
| Customer B | Disengaged | 3/2/2018 |
| Customer C | New | 1/3/2018 |
| Customer C | Active | 2/3/2018 |
| Customer C | Closed | 3/3/2018 |
+------------+------------+----------+
我有以下公式返回最后一次联系日期:
{= MAX(IF(Encounters [Name] = [@ [Last Then First Name]],Encounters [Date])))}
我想要一个公式,用于寻找每个客户的最新日期,并返回与该日期相关的状态。有没有办法用公式做到这一点。请记住,即使要对工作表进行排序,公式也需要继续工作。谢谢!
答案 0 :(得分:1)
假设您的客户表格位于Sheet1 (A至C列)中,而遇到的列表位于Sheet2 (A至C列)中,并且您已经拥有您在工作表1的C列中每个客户的最新遭遇日期,那么您可以在工作表1单元格B2中输入以下公式(然后向下拖动到您的最后一个客户):
=INDEX(Sheet2!$B:$B,MATCH(1,(Sheet1!$A2=Sheet2!$A:$A)*(Sheet1!$C2=Sheet2!$C:$C),0))
这使您可以捕获每个客户的最新状态。但是,该公式会对Excel的计算效率造成很大的负担,因此您可以将引用范围更改为结构化表引用。请不要忘记使用CONTROL+SHIFT+ENTER
返回公式。
答案 1 :(得分:0)