从其他表中获得某些年份

在工作中,我们有一个工作表(40-50)的工作表。 每个工作表代表一个特定的研究。 姓名,学习开始(date),生日等等,每个表上有几个人。我们有一个概述的工作表。 (工作表学习1,工作表学习2,工作表学习3)。

有没有什么办法,我可以在概述中放置一个专栏,并筛选参与研究的人员。 (所有在2016年join研究的人,而不是那些没有join研究的人)。我有一个研究开始date的专栏,但是研究开始后,人们可以join研究。

我已经尝试过使用一个filter,并尝试了一些与数据validation的东西,但我没有接近一个解决scheme。 有没有人能让我走上正轨?

我在这里做一些假设:

  • 我假设每个研究的工作表都是相同的格式
  • 研究中的人(你想要的数据)在每张纸上的标准位置

一个解决scheme是在VBA中做一些代码。 你可以遍历每一个工作表(显然不称为“Overview”),并为variables指定想要检查的细节的范围,然后迭代该范围内的每个单元格,并将数组中的名称任何符合条件的人

例如,如果您的每个研究工作表都有这样的参与者列表 : 参与者列表

您可以将范围variables定义为[Worksheet] .Range(“A5:A12”),然后说:

For Each <cell> in <range>.Cells If Year(<Worksheet>.Cells(<cell>.Row, <cell>.column + 1).Value) = 2017 Then <assign the contents of <cell> to an Array> Next <cell> 

一旦您完成了每个工作表,数组的内容就可以输出到任何所需的位置,无论是在“概览”表格还是其他地方。 这将是一个办法的基本思路。 我会强调,尽pipe你的数据听起来就像是一个MS Access数据库将是理想的事情(但是我从个人经验知道,有些公司/部门害怕任何不是Excel的东西,所以我感到你的痛苦!)