如果值在不同工作表上匹配,则将数据从工作表1复制到其他工作表

时间:2016-05-23 15:20:47

标签: excel vba excel-vba excel-formula

我有Sheet1Sheet2Sheet3Sheet4

我想要公式,即如果我在列E中的Sheet2,Sheet3,Sheet4中输入任何值,那么它应该与Sheet1A匹配该值,以防有价值匹配,sheet1的数据值应该复制到所有其他工作表。

EG: - 在sheet1中,我有以下提到的数据。

(A Column    /         B Column    /    C Column)
(Product Value   /      Cost       /    Packing)
(200          /          100       /       50)
(150          /          70        /       20)
(300          /          120       /       50)
(500          /          300       /       100)

为了说明,如果在Sheet2,列E中,如果我输入值150,那么公式应该在Sheet1,列A中扫描该值,并在第2行中找到它的匹配,然后它应该将列B(即70)的数据复制到Sheet2列N,同样将Sheet1列C(即20)复制到Sheet2列O

如果我输入Sheet2,Sheet3,Sheet4,Sheet5的值,那么公式应仅扫描Sheet1中的值并将数据复制到前面段落中描述的相应位置。

1 个答案:

答案 0 :(得分:3)

这对vlookup来说相对简单直接。
我假设查找的值在单元格E2中(无论表格如何)

对Sheet2,3,4,5等的N2列使用以下公式,然后根据需要向下拖动到多少行:

  

= VLOOKUP(E2,工作表Sheet $ A $ 2:$ C $ 5,2,FALSE)

对Sheet2,3,4,5等的列O2使用以下公式,然后根据需要向下拖动到多少行:

  

= VLOOKUP(E2,工作表Sheet $ A $ 2:$ C $ 5,3,FALSE)

调整" $ A $ 2:$ C $ 5"公式部分匹配Sheet1表中的适当范围。或者更换" 5"与Sheet1中的产品数据的行数。您也可以使用" Sheet1!A:C"只搜索所有行。

这个公式没有"复制"将数据发送到其他工作表,它只显示基于E列中查找值的值。

VLOOKUP的第一个参数是Lookup值("产品值")。我们想引用E列中的单元格。 (我使用了Cell E2,因为我假设你在E1中有一个列标题。)

VLOOKUP的第二个参数是Table数组(Sheet1!$ A $ 2:$ C $ 5)。这是我们想要从列E中查找值的位置。请记住,vlookup只搜索第一列中的条件值。美元符号($)确保查找表引用保持静态,如果您尝试自动填充列中所有行的公式,则不会更改。

VLOOKUP的第三个参数是列索引。当它在第一列中找到匹配项时,此整数将告诉vlookup返回哪一列。 1返回第1列,2返回第2列,依此类推。

" FALSE"参数告诉公式只找到完全匹配。如果设置为" TRUE"并且你的列表没有按升序排序,你会遇到问题,vlookup试图找到最接近的匹配而不是完全匹配。