我的 Excel 中有 2 个单独的工作表。在工作表 1 上,我在 C 列(小时)中使用以下 if 语句从工作表 2 中的 D 列(小时)中提取数字。
=IF(ISERROR(VLOOKUP(A2,Sheet2!A:D,1,FALSE)),"N/A",VLOOKUP(B2,Sheet2!A:D,4,FALSE))
第一个 vlookup 验证第二张表上的项目编号,然后第二个 vlookup 验证团队名称并从第二张表中提取小时数。
问题是,当我将公式复制到列中时,同一团队名称的小时值会重复。有人有什么建议吗?
Sheet 1
columns
Proj_Number Team Name Hours
123456 R&D 26
123456 Dev 50
123456 QA 10
777777 R&D 26
Sheet 2
Proj_Number Team Name Organization Hours
777777 R&D AUTO 26
123456 DEV AUTO 50
123456 QA AUTO 10
123456 R&D AUTO 20
最佳答案
您要求 VLOOKUP 执行它无法执行的操作。 IF 公式中的第二个 VLOOKUP:
VLOOKUP(B2,Sheet2!A:D,4,FALSE)
被要求返回在工作表 2 上找到的第一个“团队名称”实例;它正在做的事情。
如果您想根据“团队名称”和“Proj_Number”返回小时数,则需要采取一些不同的做法。
一种方法是在 Sheet2 上创建另一列,可能称为“Proj_plus_Team”(插入到 C 列位置),用于连接“Proj_Number”和“Team Name”中的值。然后您可以使用以下公式搜索这个新列:
VLOOKUP(A2 & B2,Sheet2!C:E,3,FALSE)
此外,执行此操作时,请确保 Sheet2 上的数据按“Proj_plus_Team”列中的值的字母顺序排序。 VLOOKUP 要求搜索列按字母顺序排序,否则可能返回不准确的结果。
关于Excel:多个 Vlookup 提取 1 个数据元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889056/