如何根据特定条件将数据从多个工作表中提取到一个工作表

时间:2014-12-12 08:52:59

标签: database excel vba

我有四个excel表,一个显示本周的数据(Sheet1),第二个显示上周的数据(表2),第三个表包含所有记录(表3),可以在任何表中,即表1或表2和表4具有我们识别数据是否应来自当周或上周的数据(表4,也可作为范围表)。

例如如果" XXXX"第三张纸中提到的第4张纸张中提供,然后它将复制纸张1中的所有相关记录,否则记录应从纸张2中选取。

我尝试过使用vlookup;但是,工作表5中需要输出,问题是我需要在工作表5中为整个数据提供所有数量的记录(表3的所有记录,如果单个记录要三次,我应该有三行在表5中具有相同的数字)。我想让我的表格动态,并且觉得它只能使用宏代码完成。任何人都可以帮助我。

我认为这可以使用Autofilter,但我不知道我应该如何使用它,因为我有大约500条记录,我想要数据,每条记录在Sheet1或Sheet2中最多有五条相关记录。

1 个答案:

答案 0 :(得分:0)

您似乎需要查看数据架构。有一条不失败的黄金法则:

在一张纸上输入数据。

报告其他表格。

  
    

我有四张excel表,一张显示本周的数据(Sheet1),第二张显示上周的数据(第二张),第三张显示所有记录(第三张)

  

这不是好的数据架构。我建议您重新组织文件以遵循良好实践的电子表格设计,而不是创建可帮助您支持错误架构的VBA。

您无需复制数据,只需在报告中显示正确的数据即可。可以从数据输入表轻松创建报告。不需要VLookup。您可以在报告中使用过滤器显示“本周”或“上周”等时间范围。