Excel 输入姓名时用于定位客户ID的索引函数

Excel 输入姓名时用于定位客户ID的索引函数,excel,vba,Excel,Vba,我最近开始使用Excel,因为我现在正在经营自己的业务。与我所做的任何事情一样,我希望我的日志实用、高效,最重要的是工作正常。到目前为止,我对自己所获得的几乎满意,但我似乎不知道如何让Excel查找客户ID 基本上我想要的是: 在第一张表中,我在B列中按姓名添加了一个客户,其分配的客户ID在a列中 在表2中,我在E列中键入客户的姓名,我希望Excel在表1中查找该姓氏,然后在A列的表2中添加相关的客户ID 这是因为我有回头客,我不希望他们有新的客户ID,我希望他们拥有与以前相同的ID,而不需

我最近开始使用Excel,因为我现在正在经营自己的业务。与我所做的任何事情一样,我希望我的日志实用、高效,最重要的是工作正常。到目前为止,我对自己所获得的几乎满意,但我似乎不知道如何让Excel查找客户ID

基本上我想要的是:

  • 在第一张表中,我在B列中按姓名添加了一个客户,其分配的客户ID在a列中
  • 在表2中,我在E列中键入客户的姓名,我希望Excel在表1中查找该姓氏,然后在A列的表2中添加相关的客户ID
这是因为我有回头客,我不希望他们有新的客户ID,我希望他们拥有与以前相同的ID,而不需要通过我的所有客户查看他们是否是回头客,如果是,他们的客户ID是什么

我一直在玩索引函数,因为它似乎是用于这类东西的函数,但我就是搞不懂

我期待着听到你的提示和技巧在这个问题上,提前感谢

第2页A2中的Marc

=INDEX(Sheet1!A:A,MATCH(E2,Sheet1!B:B,0),1)
假设Sheet1将ID存储在A中,名称存储在B中,并且您的第二张工作表让您在E中键入名称,则此答案适用于您

需要注意的是,基于类型化名称的匹配极易出错,它必须是精确匹配。也许在中期考虑使用数据验证或更稳健的解决方案。在表2中A/P>P>A2

=INDEX(Sheet1!A:A,MATCH(E2,Sheet1!B:B,0),1)
假设Sheet1将ID存储在A中,名称存储在B中,并且您的第二张工作表让您在E中键入名称,则此答案适用于您


需要注意的是,基于类型化名称的匹配极易出错,它必须是精确匹配。也许考虑在中期使用数据验证或更稳健的解决方案。

我会使用电话号码或其他数字搜索作为文本可以有打字和它将不匹配。我会使用电话号码或其他数字搜索作为文本可以有打字,它将不匹配。1不需要,因为您只引用了第一个条件中的一列。出于某种原因,它返回a#N/a,这就是我在这里发布的原因,因为我在来到这里之前尝试了类似的函数。@Narc#N/a表示无法将名称与第一页上的记录匹配,正如我们所说的,基于名称的匹配是一个糟糕的开始,因为键入错误如下。这就是为什么ID字段通常是数字和唯一的,以避免重复,并且对于客户永远不会更改。如果您继续使用名称作为ID,名称更改或拼写错误首先会破坏任何链接。我仔细检查了名称的拼写是否相同。但我明白你的意思,把它转过来怎么样?当我输入客户ID时,让Excel填写名称,你会说这样行吗?@Zerk好吧,所以基本上我知道我做错了什么,这是一个函数错误类型,而不是名称中的错误类型。无论采用哪种方式,是否可以向其添加IF函数,以便在未输入任何内容(空行中尚未包含客户)时,它不显示任何内容而不是“N/a”?FWIW不需要
,1
,因为您只引用了第一个条件中的一列。出于某种原因,它返回一个“N/a”,这就是我之所以在这里发布的原因,因为我在来这里之前尝试过类似的函数。@Narc#N/A表示无法将名称与第一页上的记录进行匹配,正如我们所说的,由于这样的键入错误,基于名称的匹配是一个糟糕的开始。这就是为什么ID字段通常是数字和唯一的,以避免重复,并且对于客户永远不会更改。如果您继续使用名称作为ID,名称更改或拼写错误首先会破坏任何链接。我仔细检查了名称的拼写是否相同。但我明白你的意思,把它转过来怎么样?当我输入客户ID时,让Excel填写名称,你会说这样行吗?@Zerk好吧,所以基本上我知道我做错了什么,这是一个函数错误类型,而不是名称中的错误类型。无论采用哪种方式,是否可以向其添加IF函数,以便在未输入任何内容时(空行中尚未包含客户)不显示任何内容而不是“N/a”?