比较重复值的唯一值后如何在excel中创建新列表

Posted

技术标签:

【中文标题】比较重复值的唯一值后如何在excel中创建新列表【英文标题】:how to create new list in excel after comparing duplicates for unique values 【发布时间】:2014-03-04 05:29:51 【问题描述】:

我有一个 excel 问题一直在绞尽脑汁。

我有一个主列表 (ML) 上的 1740 个学生姓名和 956 个学生姓名 (PT) 的列表,他们拍摄了他们的年鉴照片。我需要将两者进行比较以形成一个新列表 (NL),我可以将其导出到文本文件中以导入到 InDesign 文件中以获得无图片列表。

此外,J 和 K 中的名称不是并排的,但在某些区域可能会发生变化。它们在不同的情况下也有一个是上的,另一个是适当的。它们也是全名 [First Last]。

我尝试过使用 if 和 countif 函数,但无济于事。

我想这样做:

       (ML)    (PT)    (NL)
       J       K       M
1      Alex    James   Alex
2      James   Alex    John
3      John    Jason   Jamie
4      Lexie   Lexie   
5      Jamie   Austin
6      Austin
7      Alex

我至少需要一个解决方案,它可以给我一个新的列表,如果它需要更多的步骤,那么最终可以按他们的姓氏按字母顺序排列,但是如果它可以在单个函数中实现,那就太好了。

【问题讨论】:

Alex 是故意的,我们的记录部门有时会在他们给我们的列表中出现差异,或者有人只是在没有参加的拍照日出现。 【参考方案1】:

解决最终要求的单一公式可能是可能的,但它确实是一个讨厌的公式。几个简单的公式和简短的工作流程就足够了:

在空白列中,例如M2写公式

=VLOOKUP(J2,K:K,1,FALSE)

并填写J列中的值。结果将是#N/A 任何没有匹配的地方——这些是没有照片的人。 VLOOKUP 将忽略大小写差异,并且公式不关心匹配的名称是否在不同的行上。

由于您想按姓氏订购,您需要一种方法从[First Last] 格式中获取该信息。在另一个空白列中,写公式

=MID(J2,FIND(" ",J2,1)+1,30)

然后再次填写。

现在可以按两个键对整个内容进行排序:VLOOKUP 列的主键和 surname 列的辅助键。 #N/A 人将排序到列表的底部,使全名易于复制以进行进一步处理。


编辑:在图片中:

第 1 步:我添加了姓氏,因为这是真正的用例。请注意,有两个不同的人名为“Alex”。现在添加我上面给出的公式(此处以红色显示):

第 2 步:如上所述对范围进行排序。

第 3 步:绿色阴影中的人不在 PT 列中。我们知道这一点是因为查找列返回了#N/A。此外,他们的名字按姓氏排序。

希望这有助于澄清。

【讨论】:

我不确定我是否了解这些解决方案的工作原理。 @pnuts 我猜 OP 有两个不同的人,名叫“Alex”,姓氏不同。示例 NL 看起来像是真实数据和示例数据之间的脱节。

以上是关于比较重复值的唯一值后如何在excel中创建新列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在R中的空数据框中创建新列[重复]

如何使用apache poi在已存在的excel文件中创建新工作表

如何从列表中创建唯一的非重复对组合

如何避免在数据库中创建新列

如何将熊猫中的一列列表转换为Python中唯一值的稀疏DataFrame [重复]

如何在 R 中创建新的日期(月、年)数据