EXCEL - 匹配一张纸到另一张纸的值,然后粘贴结果

时间:2017-04-21 17:20:46

标签: excel

我试图制作用户友好的excel电子表格。此电子表格采用用户为客户端输入的名称,有时是名字,有时是第一个和最后一个。我有另一张表,其中包含客户名单,名字和姓氏。

我需要做的是查看用户输入,将该名称与客户端列表表匹配,然后将其粘贴到原始工作表中。

实施例:

用户页

       A           
1    Jane
2    Helen Smith
3    John 

客户名单

       A         B
1   Johnson     Jane
2    Smith      Helen
3    Brown      John

我需要用户表看起来像

       A                 B
1    Jane           Johnson, Jane
2    Helen Smith    Smith, Helen
3    John           Brown, John

我知道这可能是一个复杂的公式,我试图编写一大堆不同的公式,但它们都没有真正做我需要它们。

大多数问题是我需要与我合作的其他人,他们不知道如何使用excel,有时候无法写出全名,能够一旦我在其中有通用公式,就使用此电子表格,而所有需要更改的都是客户列表表。

希望我在这里提供了足够的细节。感谢你提前给我的任何帮助,超级欣赏它。如果我找到解决方案,我会发布它。

2 个答案:

答案 0 :(得分:0)

我有个主意。在您的客户工作表中,在第三列中构建一个结合了第一个和第一个的公式。姓氏,如:

=B1&" "&C1

然后选择名称范围(列A:C)和插入表格(不带标题)。您可以稍后输入标题标签:

enter image description here

从“公式”功能区中,打开“名称管理器”。定义一个名为" ClientNames"的新名称。并让它引用全名列(根据您的表名称和列标题名称修改引用公式):

enter image description here

然后,在“用户工作表”上,选择列A,然后从“数据”功能区“数据验证”中选择。允许"列表"并设置"来源"公式为=ClientNames

enter image description here

最后,指示您的用户从验证列表中选择客户端名称。这将防止他们做出错误的输入,并对“用户”#34;执行标准。工作表。

enter image description here

如果您仍然需要B列中格式化的LastName,FirstName,那么请执行以下公式:

=RIGHT(A1,LEN(A1)-FIND(" ",A1))&", "&LEFT(A1,FIND(" ",A1)-1)

enter image description here

答案 1 :(得分:0)

这个公式可能看起来太复杂但很简单,

在用户工作表的B列中使用它并拖动行。

=IFERROR(INDEX(Sheet2!A:B,MATCH(LEFT(A1,LEN(A1)-FIND(" ",A1)),Sheet2!B:B,0),1)&", "&INDEX(Sheet2!A:B,MATCH(LEFT(A1,LEN(A1)-FIND(" ",A1)),Sheet2!B:B,0),2),IFERROR(INDEX(Sheet2!A:B,MATCH(LEFT(A1,LEN(A1)-FIND(" ",A1)),Sheet2!A:A,0),1)&", "&INDEX(Sheet2!A:B,MATCH(LEFT(A1,LEN(A1)-FIND(" ",A1)),Sheet2!A:A,0),2),IFERROR(INDEX(Sheet2!A:B,MATCH(A1,Sheet2!B:B,0),1)&", "&INDEX(Sheet2!A:B,MATCH(A1,Sheet2!B:B,0),2),IFERROR(INDEX(Sheet2!A:B,MATCH(A1,Sheet2!A:A,0),1)&", "&INDEX(Sheet2!A:B,MATCH(A1,Sheet2!A:A,0),2),""))))

此公式适用于A1,如果您想从搜索A2开始,可以修改此公式。如果您需要帮助,请告诉我。这可能看起来很大,但对于拖动范围非常有用。