Excel大数据格式化:如何去除兄弟姐妹关系数据重复条目
兄弟姐妹关系表重复数据去重方法
问题场景
现有家庭成员数据表结构为:
- A列:主体人员姓名
- B列:对应人员的全部兄弟姐妹名单
当前数据存在大量冗余:同一组兄弟姐妹里,每个人作为A列主体时,B列都会把全组兄弟姐妹列一遍,比如A列是ammad时B列展示bilal、salman等所有兄弟姐妹,等A列换成bilal时B列又会重复展示ammad、sal曼等全部成员,循环产生大量重复记录,需要实现每个兄弟姐妹组仅保留1条记录的去重效果。
原始重复数据样例

去重后目标效果

操作步骤(以Excel为例,Python、SQL等工具逻辑完全通用)
核心思路:同一组兄弟姐妹属于同一个封闭集合,不管集合里谁作为A列主体,集合本身的成员是完全一致的,给每个集合生成唯一标记后按标记去重即可。
- 生成家族唯一标识
把每行的A列人员和B列所有人员拼接在一起,拆分出所有姓名后按固定规则(比如字母顺序)排序,再重新拼接成字符串,这串字符就是这个兄弟姐妹组的唯一ID——同一组人不管谁在A列,生成的ID完全一致。
如果使用Excel 365/2021及以上版本,直接在C2单元格(首行数据旁的空白列)输入以下公式,下拉填充所有行即可自动生成ID:=TEXTJOIN(",",TRUE,SORT(TRIM(TEXTSPLIT(A2&","&B2,",")))) - 按唯一ID去重
选中全量数据,使用「删除重复值」功能,选择以刚才生成ID的C列为判断依据,每个ID只保留第一条记录。 - 结果校验
检查生成的ID列有没有重复值,确认每个兄弟姐妹组只存在1条对应记录即可。
如果用Python处理pandas DataFrame,逻辑完全一致,给每行的姓名集合排序后生成元组作为去重键,调用drop_duplicates方法即可完成去重。
内容的提问来源于stack exchange,提问作者ammad aslam
相关产品推荐
相关产品推荐

