如何在 Excel 中用相应的姓名替换所有员工编号?

ert*_*lin 2 worksheet-function microsoft-excel microsoft-excel-2010

我有一个工作簿,其中的工作表格式如下:

| 1234 | Name 1 |
| 2345 | Name 2 |
| 3456 | Name 3 |
Run Code Online (Sandbox Code Playgroud)

然后是另一张包含如下数据的表格:

| Hours | Employee ID |
| 18    | 1234        |
| 8     | 2345        |
| 2     | 3456        |
Run Code Online (Sandbox Code Playgroud)

Excel 中是否有一种自动方法可以自动将第二张工作表中的所有员工 ID 号替换为其相应的姓名?像“1234”->“名称1”。

小智 9

执行您正在查看的操作的最简单方法是在工作表中添加一个额外的列,其中包含小时数和员工 ID,然后在新列中执行 VLookup。Microsoft 在http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx上有关于 VLookup 的帮助

需要注意的几个重要事项 - 第一张表上的列表必须按 ID 排序(当您点击下一个值时,您作为 VLookup 查找的值将停止)。

您的案例的公式大约是(假设列彼此相邻并从 A 列开始,第 1 行有标题)

=vlookup(B2,Sheet1!A1:B200,2)

  • B2 是您要查找的字段(ID)

  • Sheet1!A1:B200 是包含数据的其他工作表上的单元格 - 排除标题

  • 2 是另一个工作表中的第二列。

  • FALSE 的第 4 个参数肯定应该设置,不仅仅是为了避免排序,而是因为否则它将返回“最接近的匹配”。由于您仅尝试替换完全匹配,因此如果在没有完全匹配的情况下返回完全无关的人,则会导致混淆。使用 FALSE 将导致它返回 `#N/A`,因此您可以识别不匹配的条目。 (3认同)
  • 附带说明一下,如果将 =VLOOKUP= 的第四个参数设置为 =FALSE=,则不需要对表进行排序,因为它执行的是精确匹配而不是范围查找。 (2认同)