如何将数据从一个工作表导入另一个工作表

Hip*_*ray 4 excel worksheet-function vlookup

我在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
Run Code Online (Sandbox Code Playgroud)

那么有没有办法在表格1中将"名称"添加到表2中的"名称"中,其中表1中的"ID"=表2中的"ID"?

没有应对和粘贴当然谢谢

das*_*zul 9

VLOOKUP

您可以使用简单的VLOOKUP公式来完成.我将数据放在同一张表中,但您也可以引用不同的工作表.对于价格列,只需将最后一个值从2更改为3,因为您正在引用矩阵"A2:C4"的第三列. VLOOKUP示例

外部参考

要引用同一工作簿的单元格,请使用以下模式:

<Sheetname>!<Cell>
Run Code Online (Sandbox Code Playgroud)

例:

Table1!A1
Run Code Online (Sandbox Code Playgroud)

要引用不同工作簿的单元格,请使用以下模式:

[<Workbook_name>]<Sheetname>!<Cell>
Run Code Online (Sandbox Code Playgroud)

例:

[MyWorkbook]Table1!A1
Run Code Online (Sandbox Code Playgroud)


小智 6

在寻找其他东西时看到这个帖子,我知道它已经超级老了,但我想加上我的2美分.

永远不要使用VLOOKUP.它是excel中性能最差的公式之一.改为使用索引匹配.它甚至可以在没有排序数据的情况下工作,除非你在匹配公式的末尾有一个-1或1(在下面有更多解释)

这是一个包含适当公式的链接.

Sheet 2公式为:= IF(A2 ="","",INDEX(Sheet1!B:B,MATCH($ A2,Sheet1!$ A:$ A,0)))

  • IF(A2 ="",""表示如果A2为空,则返回空白值
  • INDEX(Sheet1!B:B,表示INDEX B:B,其中B:B是您要返回的数据.IE是名称列.
  • 匹配(A2,表示匹配A2,这是您要为其返回名称的ID.
  • Sheet1!A:A,表示您要将A2与上一个工作表中的ID列匹配
  • ,0))指定您想要一个确切的值.0表示返回与A2完全匹配,-1表示返回最大值大于或等于A2,1表示返回小于或等于A2的最大值.请记住-1和1必须排序.

有关Index/Match公式的更多信息

其他有趣的事实:$表示公式中的绝对值.因此,如果在向下填充公式时指定$ B $ 1,则保持相同的值.如果超过$ B1,则公式中的B保持不变,但如果填写,则1会随着行数的增加而增加.同样,如果您使用B $ 1,则向右填充将增加B,但保留第1行的引用.

我还在第二部分中包括了间接的使用.间接的作用是允许您使用公式中另一个单元格的文本.由于我创建了一个命名范围sheet1!A:A = ID,sheet1!B:B = Name,而sheet1!C:C = Price,我可以使用列名具有完全相同的公式,但它使用列标题更改搜索条件.

祝好运!希望这可以帮助.