使用引用(单元格值)同步其他工作表中的所有excel单元格值

时间:2015-12-31 10:34:09

标签: excel excel-vba excel-formula vba

我在Excel中有完整的产品列表,此列表包含有关我们产品的信息(名称,SKU,类别,库存量等),我有4个单独的Excel文件,其中包含SKU和库存量(为什么4个)不同的?:股票来自不同的部门。)

我想要什么? :将所有计算的库存金额合并到最终文件中。

假设有如下结构。

最终文件(final-stock-count.xls),stock-count1.xls文件,stock-count2.xls文件,stock-count3.xls文件,stock-count4.xls文件:

A列= SKU
B栏=产品名称
C栏=股票数量

注意:我可以将所有这些文件作为WorkSheets

放入一个文件中

我想要的是,Excel查看每个列表的SKU单元格(stock-count1 WorkSheet的A2单元格)并填写Stock Amounts单元格作为最终列表(最终库存计数工作单的C2单元格),如果SKU值相同且等等。因为我不知道确切的细胞参考(细胞A2,C2,......的顺序),所以应该通过公式或其他方式来完成。

enter image description here

注意:我不熟悉VBA,但如果你只是解释我应该在哪里编辑,我就可以做到。

2 个答案:

答案 0 :(得分:2)

此处VLOOKUP语句中不需要繁琐IFERROR嵌入SUMIF语句,因为C1可以正常工作,因为它会忽略任何不包含SKU的工作表。 (它还具有添加任何可能在多张纸上的库存的优势 - 如果是这种情况的话)。

如果您输入最终工作表的=SUMIF(stock-count1!A:A,A2,stock-count1!C:C)+SUMIF(stock-count2!A:A,A2,stock-count2!C:C)+SUMIF(stock-count3!A:A,A2,stock-count3!C:C) 并向下拖动,这将有效。

SUMIF

您可以根据需要继续为所有工作表添加SUM语句。

附加信息

如果您有多张工作表,则可以将工作表名称放在最终工作表的第1行(例如,从E列开始),然后将这个公式拖过列(并按每个SKU的行向下)得到每张纸的SKU计数,然后在C栏中写一个简单的=SUMIF(INDIRECT(E$1&"!A:A"),A2,INDIRECT(E$1&"!C:C")) 公式,得到每张纸的总数。

*:hover

答案 1 :(得分:0)

当您需要查找表中的内容或逐行查找内容时,请使用VLOOKUP(查找和引用函数之一)。

您可以将VLOOKUP与嵌套的IFERROR函数结合使用,以便在所有三个表中按顺序查找值。

例如,以下公式:

=IFERROR(VLOOKUP(A2,$F$2:$H$5,3,FALSE),IFERROR(VLOOKUP(A2,$I$2:$K$5,3,FALSE),VLOOKUP(A2,$L$2:$N$5,3,FALSE)))

逻辑是这样的:

  1. VLOOKUP值在F2:H5范围内(它会自动在第一列中查找以获得F-something)

  2. VLOOKUP返回该查找的第3列值(H-something),

  3. 如果返回ERROR(未找到值),请转到下一个查找:表I-K。

  4. 您的公式看起来像这样,三个范围将替换为您的外部工作表范围。

    =IFERROR(VLOOKUP(A2,[first range],3,FALSE),IFERROR(VLOOKUP(A2,[second range],3,FALSE),VLOOKUP(A2,[third range],3,FALSE)))
    

    有关VLOOKUP的更多信息,请参阅here