我在excel中有两个不同的工作表,在所有第1行单元格中都有相同的标题(a1 = id,b1 = name,c1 = price)。我的问题是,有没有办法将数据(如名称)从1个工作表导入到另一个工作表中“id”相同的另一个工作表。
eg.
sheet 1 sheet2
ID Name Price ID Name Price
xyz Bag 20 abc 15
abc jacket 15 xyz 20
那么有没有办法在表格1中将“名称”添加到表格2中的“名称”,其中表格1中的“ID”=表2中的“ID”?
当然没有应对和粘贴 感谢
答案 0 :(得分:9)
<强> VLOOKUP 强>
您可以使用简单的VLOOKUP公式来完成。我将数据放在同一张表中,但您也可以引用不同的工作表。对于价格列,只需将最后一个值从2更改为3,因为您正在引用矩阵“A2:C4”的第三列。
外部参考
要引用相同工作簿的单元格,请使用以下模式:
<Sheetname>!<Cell>
示例:强>
Table1!A1
要引用不同工作簿的单元格,请使用以下模式:
[<Workbook_name>]<Sheetname>!<Cell>
示例:强>
[MyWorkbook]Table1!A1
答案 1 :(得分:6)
在寻找其他东西时看到这个帖子,我知道它已经超级老了,但我想加上我的2美分。
永远不要使用VLOOKUP。它是excel中性能最差的公式之一。改为使用索引匹配。它甚至可以在没有排序数据的情况下工作,除非你在匹配公式的末尾有一个-1或1(在下面有更多解释)
这是一个link,其中包含适当的公式。
Sheet 2公式为:= IF(A2 =“”,“”,INDEX(Sheet1!B:B,MATCH($ A2,Sheet1!$ A:$ A,0)))
有关Index/Match公式
的更多信息其他有趣的事实:$表示公式中的绝对值。因此,如果在向下填充公式时指定$ B $ 1,则保持相同的值。如果超过$ B1,则公式中的B保持不变,但如果填写,则1会随着行数的增加而增加。同样,如果您使用B $ 1,则向右填充将增加B,但保留第1行的引用。
我还在第二部分中包括使用间接。间接的作用是允许您使用公式中另一个单元格的文本。因为我创建了一个命名范围sheet1!A:A = ID,sheet1!B:B = Name,而sheet1!C:C = Price,我可以使用列名具有完全相同的公式,但它使用列标题更改搜索条件。
祝你好运!希望这会有所帮助。