Excel 从最近联系日期返回的客户状态
我有一份客户名单和一份电子表格,记录每次与他们见面的情况。示例表如下所示: 工作手册1:客户表Excel 从最近联系日期返回的客户状态,excel,excel-formula,Excel,Excel Formula,我有一份客户名单和一份电子表格,记录每次与他们见面的情况。示例表如下所示: 工作手册1:客户表 +------------+----------------+---------------------+ | Name | Current Status | Last Date Contacted | +------------+----------------+---------------------+ | Customer A | Active | 3/1/2018
+------------+----------------+---------------------+
| 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(如果(遇到[Name]=[@[Last Then First Name]],遇到[Date]))}
我想要一个公式,用于查找每个客户的最近日期,并返回与该日期关联的状态。有没有办法用公式做到这一点。请记住,即使要对工作表进行排序,公式也需要继续工作。谢谢 根据提供的图像,使用以下标准(非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, , ))
'G2
=指数(B:B,合计(15,7,第(A:A)行/((A$1:A$10=F2)*(C$1:C$10=H2)),1))
'H2
=最大值(指数(C$2:C$10-(A$2:A$10F2)*1E+99,)
假设您的客户表在表1(A列至C列)中,而您的遭遇列表在表2(A列至C列)中,并且您已经在表1的C列中列出了每位客户的最新遭遇日期,那么您可以在表1的单元格B2中输入以下公式(然后向下拖动到最后一位客户): 这允许您捕获每个客户的最新状态。但是,该公式会对Excel的计算效率造成很大的负担,因此您可以将引用范围更改为结构化表引用。请不要忘记使用
CONTROL+SHIFT+ENTER
返回公式
=INDEX(Sheet2!$B:$B,MATCH(1,(Sheet1!$A2=Sheet2!$A:$A)*(Sheet1!$C2=Sheet2!$C:$C),0))