COUNTIF和VLOOKUPfunction跨多个页面

我想计算(计数)在多个工作表中出现在别人姓名右侧的条目的次数(名称将显示在不同工作表上的不同行上)。

我正在计算名单上的轮换。
我有十二张工作表 – 每个月一张。
在每个工作表B1到AF1是每月的几天。
在每个工作表上,A2到A10是人名(不同工作表上的这些更改顺序)。
在别人的名字右边(他们的月份)他们有名字,我们称他们为S1,S2,S3和S4。

在工作表13上,我需要计算一个人完成每个不同class次名称的次数。 所以所有人的名字都是按照字母顺序排列在页面上的,顶部是不同的class次名称,单元格需要从其他工作表中填充计数。

如果需要的话可以使用VBA,或者甚至可以使用公式。

一个想法是首先在每张纸上进行计数:

在AJ列(分别为四class)中,分别加上S1,S2,S3和S4的换算总和,用这样一个公式:

=COUNTIF($B1:$AF1; "S1") 

适应下一栏的“S2”…等

然后,为了减less事情的复杂性,必须确保12张表中的每一张在列A中列出的名称相同,顺序相同。 如果在三月份中途join劳动力,那么还要在一月和二月份的表格中加上他们的名字。 离开的人也一样:每个月都要留下他们的名字。 您只能在列A中的第一张表格中input名称,并使用所有其他表格中的公式来从第一张表格中选取该名称。 在第13张纸上也是这样做的。

然后在第十三张表中,下一列将再次用于轮class。 现在假设你的其他表名是像“一月”到“十二月”,你可以像下面一样在单元格B1中进行SUM:

 =SUM(January:December!AG1) 

我已经完成了Trincotbuild议的类似方法。 在每个月的月底,我添加了我的各种class次types并进行了计数(在这种情况下,AG $ 1表示S1,我也为S2等做了相同的处理)

  =COUNTIF($B2:$AF2,AG$1) 

在我的结果页面(工作表13)中,我已经列出了每个人的名字,并使用下面的公式。

 =VLOOKUP($A3,lu_Jan,33,FALSE)+VLOOKUP($A3,lu_Feb,33,FALSE)+VLOOKUP($A3,lu_Mar,33,FALSE) 

通过这样做,我不必确保每个名称在每个其他工作表中以相同的顺序列出。