Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 从最近联系日期返回的客户状态_Excel_Excel Formula - Fatal编程技术网

Excel 从最近联系日期返回的客户状态

Excel 从最近联系日期返回的客户状态,excel,excel-formula,Excel,Excel Formula,我有一份客户名单和一份电子表格,记录每次与他们见面的情况。示例表如下所示: 工作手册1:客户表 +------------+----------------+---------------------+ | Name | Current Status | Last Date Contacted | +------------+----------------+---------------------+ | Customer A | Active | 3/1/2018

我有一份客户名单和一份电子表格,记录每次与他们见面的情况。示例表如下所示:

工作手册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(如果(遇到[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))