基于条件的COUNT列,其中一个条件为最新日期

时间:2018-09-06 14:02:37

标签: excel excel-formula

我正在尝试建立一种融洽的关系,以显示不同卖家在excel中获得的不同反应的数量

CustomerID  Respons Seller  Date
         1   YES    Jensen  08.08.2018
         1   NO     Chris   12.08.2018
         2   YES    Jensen  01.08.2018
         3   NO     Jensen  05.08.2018

如果我有此数据集,并执行了COUNT IFS函数,我将得到这个

Seller Yes NO
Jensen 2   1
Chris  0   1

但是,由于客户再次与我们联系,并将他的“是”更改为“否”,因此,应该取消“是”。

在我看来,这很容易解决,因为只有相同的客户再次与我们联系时,计数才计算最新的响应。

希望计数看起来像这样

Seller Yes NO
Jensen 1   1
Chris  0   1

但是我无法为我的一生解决这个问题。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

因此,我能弄清楚如何做的最简单方法是创建一个显示最新答案的帮助器列。

仅当日期在Excel中格式化为日期格式时,此公式才有效。

因此您可以使用以下公式创建第5列

 {=TEXTJOIN(",",TRUE,IF($A$2:$A$5=A2,IF($D$2:$D$5=MAX(IF($A$2:$A$5=A2,$D$2:$D$5,0)),$B$2:$B$5,""),""))}

这是一个数组公式,因此您应该将其输入到列表的第一个单元格中,然后按ctrl+shift+enter提交公式。然后,您可以将其复制并粘贴为列表下方的数组公式。

要解释该公式,

  1. MAX(IF($A$2:$A$5=A2,$D$2:$D$5,0)返回客户致电的所有日期的数组,然后选择最近的答案,如果为false,则返回0。
  2. IF($A$2:$A$5=A2,...仅返回相同的客户,如果为false,则返回空白
  3. TEXTJOIN(",",TRUE,....)删除数组的所有空白条目,仅保留最新答案。

拥有该帮助列之后,您只需要将第三条条件添加到您的COUNTIFS语句中。您的第一个条件应该是名称,第二个是记录的响应,第三个是最新的响应。这样,它将仅在记录的响应等于最终响应时计数。这意味着Chris将对他不利,而Jensen将不会对他负责。