我有一本工作簿,其中的工作表格式如下:
| 1234 | Name 1 |
| 2345 | Name 2 |
| 3456 | Name 3 |
然后另一张表包含如下数据:
| Hours | Employee ID |
| 18 | 1234 |
| 8 | 2345 |
| 2 | 3456 |
Excel 中是否有一种自动化方法可以自动将第二张表中的所有员工 ID 号替换为其对应的姓名?例如“1234”->“姓名 1”。
答案1
执行您正在查看的操作的最简单方法是向工作表添加一个包含工作时间和员工 ID 的附加列,然后在新列中执行 VLookup。Microsoft 在以下位置提供了有关 VLookup 的帮助http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx
需要注意几个重要事项 - 第一张表上的列表必须按 ID 排序(当您找到下一个值时,您作为 VLookup 查找的值将停止)。
您的案例的公式大致如下(假设列彼此相邻并从 A 列开始,第 1 行有标题)
=vlookup(B2,Sheet1!A1:B200,2)
B2
是您要查找的字段 (ID)Sheet1!A1:B200
是包含数据的其他工作表上的单元格 - 排除标题2
是另一张表中的第二列。
答案2
我无法在这里发表评论,但除了对 Alain King 的回答的评论之外。
对于长期的 VLookup 解决方案,拥有包含实际范围的更大的一般范围会很有帮助。
在这种情况下我会这样做:
=vlookup(B2,Sheet1!A:B,2,FALSE)
在 Alain 的例子中,这将产生与他的公式完全相同的结果。唯一的区别是,如果在第 201 行或更远的行中添加了数据,公式也会自动搜索这些行。