尝试使用 SUMPRODUCT 根据两个附加条件识别唯一值?



我对这个公式有一些困难,我希望有人能提供帮助。 我在所有我能想到的地方都进行了广泛的搜索,但找不到与这个问题直接相关的答案。 我在电子表格表中有跟踪员工分配任务的数据,并专注于三个字段:员工姓名(员工姓名)、为员工分配任务的日期(员工分配日期)以及为员工分配任务的月份和年份(任务月年)。

我正在尝试确定给定员工在给定月份/年份中的唯一分配日期。 因此,在下面的示例中,John Smith 将返回 2017 年 3 月的三个唯一日期,因为 03/05/2017 和 03/14/2017 重复。

Employee Name        Employee Assigned Date        Task Month Year
Paul Martin          03/01/2017                    March 2017
James Smith          03/05/2017                    March 2017
James Smith          03/05/2017                    March 2017
James Smith          03/06/2017                    March 2017
James Smith          03/14/2017                    March 2017
James Smith          03/14/2017                    March 2017

我想出的公式如下:

=SUMPRODUCT((Table2[Employee Name]=”James Smith”)*(Table2[Task Month Year]")=”March 2017”/(COUNTIF(Table2[Employee Assigned Date],Table2[Employee Assigned Date]&"")))

我已经删除了一些将月份日期转换为文本等的公式片段,因此问题不在于此。 如果我单独对员工姓名和任务月年部分求和,我会得到詹姆斯·史密斯分配的任务总数的正确答案,即五个。 如果我删除员工姓名部分,我会得到 2017 年 3 月所有员工的唯一日期的正确答案,四个。

对此的任何帮助将不胜感激,我假设我在做一些愚蠢的事情,但我已经为此工作了几个小时,似乎无法自己找到解决方案。

谢谢!

>COUNTIF将在建议的公式中返回错误的值,因为名称条件未包含在该部分中。一种解决方案是在扩展COUNTIFS中包含名称条件,如下所示:

=SUM(IFERROR((Table2[Task Month Year]="March 2017")/(Table2[Employee Name]="James Smith")/COUNTIFS(Table2[Employee Assigned Date],Table2[Employee Assigned Date],Table2[Employee Name],"James Smith"),0))

CTRL+SHIFT+ENTER确认

.....或者您可以依靠旧的FREQUENCY方法,即

=SUM(IF(FREQUENCY(IF(Table2[Task Month Year]="March 2017", IF(Table2[Employee Name]="James Smith",IF(Table2[Employee Assigned Date]<>"",MATCH(Table2[Employee Assigned Date],Table2[Employee Assigned Date],0)))),ROW(Table2[Employee Assigned Date])-MIN(ROW(Table2[Employee Assigned Date]))+1),1))

还要与CTRL+SHIFT+ENTER确认

两者都应该给出相同的答案

您可以通过删除重复项来执行此操作。如果您需要保留原始数据,那么当然要先将其复制并粘贴到新选项卡中。

在"数据"选项卡中,选择"删除重复项"。然后在弹出框中,确保从上面的布局中选择所有 3 列,大概是 A、B 和 C。这将确保删除与所有 3 列匹配的重复项,为您提供每个员工、每月/每年组合的唯一分配日期列表。

最新更新