excel - 根据提交日期删除重复项?
问题描述
我有一个包含员工记录的电子表格,我有 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 订购日期来完成?
解决方案
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")
并抄下来。
推荐阅读
- go - 将整数传递给golang中的查询
- websocket - 收到错误“采样器错误:意外的帧类型。” 使用带有 JMeter 和 JMeter Websocket 插件的 Single Read Sampler 读取帧时
- after-effects - After Effects - 脚本层播放头控制
- reactjs - 访问 inputValue in
- java - Java 8 - 带有对象和原始包装器的流
- java - 在Java中交换字符串中的字符
- mariadb - maria db galera 集群 - 安装后缺少 wsrep 提供程序
- php - 如何在 HostGator cpanel 上的 codeigniter 中设置 cron 作业 url
- javascript - 仅提交填充的文本框值并丢弃空文本框 ih form php
- tensorflow - 当层的权重不是正态分布时是什么意思