![当工作表 1 中的数据匹配时,Excel 公式会从另一张工作表复制文本](https://linux22.com/image/1340805/%E5%BD%93%E5%B7%A5%E4%BD%9C%E8%A1%A8%201%20%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8C%B9%E9%85%8D%E6%97%B6%EF%BC%8CExcel%20%E5%85%AC%E5%BC%8F%E4%BC%9A%E4%BB%8E%E5%8F%A6%E4%B8%80%E5%BC%A0%E5%B7%A5%E4%BD%9C%E8%A1%A8%E5%A4%8D%E5%88%B6%E6%96%87%E6%9C%AC.png)
我一直在尝试寻找一个公式或公式组合,当我在工作表 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 中的单元格编号。