首页 > 解决方案 > 根据提交日期删除重复项?

问题描述

我有一个包含员工记录的电子表格,我有 150,000 行。AD 列有员工信息(员工 ID、名字、姓氏、职位)

Column E是雇用日期,Column F包含文本字符串。

假设第 2-5 行都来自同一员工,不同的雇用日期,但 F 列中的每一行 =Negative

是否有一个Countif公式可以将字符串“保留”放在该员工最早雇用日期的行中,并为该员工的重复行放置“删除”?

=IF(COUNTIFS(A$2:A2,A2,D$2:D2,D2)>1,"Mark","")

我用来在比较两列时仅查找重复项,并想知道是否可以重新调整它的用途以满足这些需求。

类似的东西,=IF(COUNTIFS(A$1:A1,A1,D$1:D1,D1)>1,"Keep","Remove")但还添加了一个功能,以最早的日期为基础,这样它就知道要保留什么。也许这可以通过按 az 订购日期来完成?

标签: excel

解决方案


MIN vs MATCH

在任何解决方案中,将 21 替换为最后一行编号,例如 150000。

最小解决方案

对于第二行中的单元格,将以下数组公式复制到公式栏中并按住LEFT CTRL SHIFT并按ENTER

=IF(MIN((A$2:A$21=A2)*B$2:B$21)=B2,"Keep","Remove")

并抄下来。

在此处输入图像描述


MATCH 解决方案(“部分排序”)

如果每个员工的员工 ID 是唯一的,并且列表按雇用日期“部分排序”,即员工的第一次出现包含最低日期,则在第二行中您可以使用公式:

=IF(ISNUMBER(MATCH(A2,A$1:A1,0)),"Remove","Keep")

并抄下来。

在此处输入图像描述


推荐阅读