使用公式填充另一个工作表与另一个工作表中的数据符合某些标准

时间:2017-12-10 13:54:08

标签: excel excel-formula

以下是我在不使用VBA的情况下尝试在Excel中执行操作的说明:

假设您有一些数据,如下图Sheet1中所示。

Linke to Sheet1 image (Main Data)

如果上面的案例链接不起作用,这里是sheet1中的数据:

ProductionDate      ProductionLine    ProductCode    ProductName   ProductionQuantity  
1/5/2017            A                 805            AA            100  
1/5/2017            B                 912            BB            50  
13/6/17             A                 916            CC            250  
15/6/17             B                 805            AA            150  
23/6/17             B                 535            DD            50  
2/9/2017            B                 916            CC            200   
12/9/2017           A                 916            CC            200  
27/09/17            A                 805            AA            200

在Sheet2中,我需要按产品系列生产每种产品的数量,以及该项目的总生产数量(所有产品系列的生产数量总和)。这意味着我需要sheet2中的结果类似于下图。

Link to Sheet2 Image (Result I'm Looking for)

如果上述链接无效,以下是我在Sheet2中寻找的结果:

ProductCode     ProductName     ProductionLine  ProducedQuantityByLine  TotalQuanity
535             DD              B               50                      50
805             AA              A               300                     450
805             AA              B               150                     450
912             BB              B               50                      50
916             CC              A               450                     650
916             CC              B               200                     650

我真的需要知道如何做到这一点。我需要一些公式自动为Sheet2中的每个产品代码填充Sheet1。我无法手动输入Productode因为实数和范围很大(假设1000个产品代码)。

1 个答案:

答案 0 :(得分:0)

下面的代码粘贴在模块中,应该满足您的要求。但是,有些注意事项和注意事项适用。

  1. 代码假定两张名为“Sheet1”和“Sheet2”
  2. 的表格
  3. 代码假定要处理的数据位于“Sheet1”中并从单元格“A2”开始
  4. 代码假定结果写入“Sheet2”并以“A2”
  5. 开头
  6. 代码假定标题已存在于“Sheet2”
  7. 代码假定“Sheet2除了标题
  8. 之外没有数据
  9. 代码假定连续数据,即没有空行或空单元格的行(特别是在ProductionDate列中)。
  10. 此代码非常耗费资源,因为它会不断地与工作表本身进行交互,这意味着大型数据集需要很长时间。在我看来,一个更好的解决方案,但在我看来,一个更复杂的解决方案,是使用数组。这样代码只能读写一次。
  11. fibs

    在我原来的回答中,我注意到Sheet2上的TotalQuantity没有正确加起来。上面的代码已纠正该问题