最近联系日期的客户退货状态

时间:2018-09-12 19:33:08

标签: excel excel-formula

我有一个客户列表和一个电子表格,可跟踪与他们的每次相遇。样本表如下所示:

工作簿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])))}

我想要一个公式,用于寻找每个客户的最新日期,并返回与该日期相关的状态。有没有办法用公式做到这一点。请记住,即使要对工作表进行排序,公式也需要继续工作。谢谢!

2 个答案:

答案 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)

使用以下标准(非CSE)公式来获取所提供图像的最新日期和随附状态。

'G2
=INDEX(B:B, AGGREGATE(15, 7, ROW(A:A)/((A$1:A$10=F2)*(C$1:C$10=H2)), 1))
'H2
=MAX(INDEX(C$2:C$10-(A$2:A$10<>F2)*1E+99, , ))

enter image description here