当工作表 1 中的数据匹配时,Excel 公式会从另一张工作表复制文本

当工作表 1 中的数据匹配时,Excel 公式会从另一张工作表复制文本

我一直在尝试寻找一个公式或公式组合,当我在工作表 1 中输入名称时,它会从工作表 2 中复制一个值。

这是需要 ID 号的时间表。工作表 1 是用于工资单的时间表,其中 A 列是特定班次的员工姓名,B 列是他们的 ID 号。工作表 2 是一个表格,其中 A 列包含所有员工姓名,B 列包含他们的 ID 号。

我希望能够在工作表 1 的 A 列中输入员工姓名,然后公式会在工作表 2 的 A 列中查找匹配项,然后将他们的 ID 号从工作表 2 的 B 列返回到工作表 1 的 B 列。

答案1

在工作表 1 的 B 列中输入以下内容

=VLOOKUP(Sheet1!A2,Sheet2!A:B,2)

VLOOKUP 公式的基本含义如下:

VLOOKUP(X,Y,Z)

“在该公式存在的字段中,当 Y 范围的第一列的值与字段 X 中的值匹配时,返回 Y 范围的 Z 编号列中的内容。”

源(示例中的“Y”,即 Sheet2)必须按字段 X(即“Name”字段)排序,并且字段 X(“Name”)必须是 Y(Sheet2)中的第一个字段。当字段排序不正确或无法找到值时,VLOOKUP 也会返回最接近的匹配项,因此在盲目返回结果之前验证 X(“Name”)是否存在于 Y(Sheet2)集合中也是一个好主意,例如:

=IF(COUNTIF(Sheet2!A:A,Sheet1!A2) > 0, VLOOKUP(Sheet1!A2,Sheet2!A:B,2),"N/A")

现在,您要在运行 VLOOKUP 之前验证该值是否存在,这将避免错误返回弄乱您的 Sheet1 数据。(这可能会导致错误的人得到报酬,而其他人根本得不到报酬)

它还将返回找到的第一个匹配项,因此名称值需要不同。因此,值得做的额外检查可能是:

=IF(COUNTIF(Sheet2!A:A,Sheet1!A2) > 0, 
    IF(IF(COUNTIF(Sheet2!A:A,Sheet1!A2) > 1,
          "MORE THAN ONE MATCH",
          VLOOKUP(Sheet1!A2,Sheet2!A:B,2)
          ),
    "NAME NOT FOUND")

答案2

=SUMIF(sheet2!A8,"="&A8,Sheet2!G8)

你将在哪里@第 1 页

单击工作表 1 上的 B 列任意行,然后输入上述公式。

如果工作表 2 上的单元格 ((A8 (名称)) 等于当前工作表(我认为是工作表 1)上的单元格 ((A8 (名称)),则给出分配了 ID 号的工作表 2 中的单元格编号。

相关内容