Excel:多个 Vlookup 提取 1 个数据元素

标签 excel excel-2007

我的 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/

相关文章:

.net - 从 Excel 中删除功能区

c# - 如何使用 ASP.NET C# 将 Excel 数据导入到 SQL Server,其中表的数据不从第一行开始?

excel-2007 - Excel 2007 - 条件格式 - 比较同一列中的两个单元格?

python - XLWT 多种款式

Excel weeknum 函数返回错误的周

excel - 将 Excel 文件发送给使用 Chrome 和 IE 但不使用 firefox 的用户(获取没有扩展名的文件)

vba - Range.SpecialCells 具有不同的结果

excel - 如何永久允许受信任工作表使用宏?

excel - 自动筛选与显示所有数据

excel - VBA 如何如果不是并转到下一页