【问题标题】:How to match names in two sheets?如何匹配两张纸上的名字?
【发布时间】:2014-08-28 16:16:01
【问题描述】:

我正在使用 excel 来跟踪出勤率,但我发现这非常困难。有没有办法/公式?

问题。 表 1 列 A1-30 将显示第 1 天的人员列表。包含名称列表(仅限姓氏、名字) 表 2 列 J1-3000 还包含一个名称列表,但其中包含中间名(姓氏,名字中间名)

我怎样才能匹配两张表来创建第三张表来显示谁参加了第 1 天?

非常感谢。

【问题讨论】:

  • 您在匹配或处理中间名方面需要帮助吗?
  • 感谢您的回复。我需要处理中间名,我猜(?)我找不到一种方法来匹配两张表上的名称,而表 2 的列表很长(编辑了我的问题)。第三张表应该比较表 1 和表 2,并且只显示表 1 中的人名,如果不是,则显示错误。

标签: excel excel-formula


【解决方案1】:

使用vlookup 函数来匹配值 阅读:http://chandoo.org/wp/2012/03/30/comprehensive-guide-excel-vlookup/

使用以下公式去除中间名(其格式如下:(Lname,Fname,Mname)

=TRIM(LEFT(A1,(FIND(",",A1,1)-1)))&", "&TRIM(LEFT(MID(A1,FIND(",",A1)+1,100),FIND(",",MID(A1,FIND(",",A1)+1,100))-1))

***请注意,它在 fname 和 lastname 之间添加了空格 John,Smith,Midname -> John, Smith*

或者,正如@Craig Q 建议的那样,使用=LEFT(A1,FIND(",",A1,FIND(",",A1)+1)-1

因此。

  • 第 1 步:在 Sheet2(列出中间名的工作表)上创建一个新列
  • Step2:使用公式去除所有行的中间名
  • Step3:手动测试Sheet2和Sheet1新列中的几个项目,并使用此公式=A1=Sheet2!A1确保它们匹配(请在测试条目时手动在两张表上找到相同的记录!!! !!)
  • 第 4 步:当您确定两张表上的条目匹配时(#3 中的公式必须返回 TRUE
  • 第 5 步:在 Sheet1 的记录中使用第 2 步中的值使用 vlookup

【讨论】:

  • 要去掉中间名,为什么不直接找到第二个逗号并截断呢? =LEFT(A1,FIND(",",A1,FIND(",",A1)+1)-1)
  • @CraigW,我不确定;如果它会提供匹配,那么是的;你100%正确。我不确定第一个工作表名称的格式(它们是否有空格)。用户维护的数据总是一团糟,我更喜欢将其拆分到源并再次重建以保证匹配...
  • Sheet 1 名称的格式如下(Last Name, First Name)Sheet 2(Last Names, First Name Middle Name)名字和中间名用空格分隔。
  • @Andrew 谢谢!感谢所有的帮助! :)
  • @CraigW 非常感谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-02
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
  • 2015-01-19
  • 1970-01-01
相关资源
最近更新 更多