![根据不同工作表中的值查找要填充的数据](https://linux22.com/image/1584635/%E6%A0%B9%E6%8D%AE%E4%B8%8D%E5%90%8C%E5%B7%A5%E4%BD%9C%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%80%BC%E6%9F%A5%E6%89%BE%E8%A6%81%E5%A1%AB%E5%85%85%E7%9A%84%E6%95%B0%E6%8D%AE.png)
我需要 D 列中的值来从第二张工作表中查找 A 列,然后拉回工作表 2 中的人员列表,并将人员列表放在工作表 1 中每个 profile_id 的末尾。前两张照片是工作表 1 和 2 的照片。最后一张照片是我需要公式创建的。
答案1
如果您考虑手动复制并粘贴一个新行,并在每组数据下方添加公式(我假设您的行已经分组corporate_profile_id
),则可以使用下面的公式根据上一行进行查找。
=VLOOKUP(INDIRECT("D" & ROW() - 1), Sheet2!$A$2:$F$100, COLUMN(), FALSE)
警告:$F$100
复制粘贴前请进行相应调整。
我要做的是将上面的公式复制到 A9、B9、C9、D9、E9 和 F9 列中。然后我会复制第 9 行并将其粘贴到每组行下方corporate_profile_id
以获得最终输出(即复制到最终行 9、16、21 等)。我不介意粘贴整行而不做任何更改,因为这样通常非常快。
希望这对你有用。
corporate_profile_id
这是该函数的详细解释,它使用上一行进行查找。
=VLOOKUP(INDIRECT("D" & ROW() - 1), Sheet2!$A$2:$F$100, COLUMN(), FALSE)
该函数参数:
参数 1
INDIRECT("D" & ROW() - 1)
是要查找的值:"D"
是列ROW() - 1
是前一行- 该
INDIRECT
函数返回列中的值"D" & ROW() - 1
。如果此公式位于第 9 行,则该函数将变为INDIRECT("D8")
并返回值1。
参数 2是上的
Sheet2!$A$2:$F$100
查找表范围。可防止行和列引用在复制和粘贴时发生偏移。$A$2:$F$100
Sheet2
$
请$F$100
相应调整以覆盖整个查找表Sheet2
。参数 3
COLUMN()
是您要从查找表中检索值的列。COLUMN()
它本身返回公式所在的列号(例如列A返回值1, 柱子乙返回值2等)。由于每个公式的列与查找表的返回值列完全对齐,因此它将返回正确的值。因此列Aprofile_id
将返回, 列中的值乙将返回中的值profile_nme
,依此类推至列F返回 中的值employee_user_id
。参数 4
FALSE
告诉VLOOKUP
函数仅在完全匹配时进行匹配。