我对这个公式有一些困难,我希望有人能提供帮助。 我在所有我能想到的地方都进行了广泛的搜索,但找不到与这个问题直接相关的答案。 我在电子表格表中有跟踪员工分配任务的数据,并专注于三个字段:员工姓名(员工姓名)、为员工分配任务的日期(员工分配日期)以及为员工分配任务的月份和年份(任务月年)。
我正在尝试确定给定员工在给定月份/年份中的唯一分配日期。 因此,在下面的示例中,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 列匹配的重复项,为您提供每个员工、每月/每年组合的唯一分配日期列表。