COUNTIF和VLOOKUP功能跨多个页面

时间:2015-10-25 09:08:49

标签: excel vba vlookup countif

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

我正在计算名单上的轮班 我有12个工作表 - 每个月一个 在每个工作表B1至AF1上是该月的日期 在每个工作表A2到A10上都有人的名字(这些名称在不同的工作表上有所改变) 在某个人的名字右侧(整月),他们有班次名称,让他们称之为S1,S2,S3和S4。

在工作表13上,我需要计算一个人完成每个不同轮班名称的次数。因此,所有人的姓名都按字母顺序列在页面下方,顶部是不同的班次名称,单元格需要填写其他工作表中的计数。

如果需要,很高兴使用VBA,或者甚至可能使用公式。

2 个答案:

答案 0 :(得分:1)

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

将AG到AJ(假设四个班次)的列分别添加到班次S1,S2,S3和S4的总计中,其公式如下:

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

适应" S2'在下一栏中,......等。

然后,为了减少事情的复杂性,您必须确保12个工作表中的每个工作表具有相同的顺序列在A列中的相同名称。如果人们在三月份中途加入劳动力队伍,那么还要在1月和2月的表格中添加他们的名字。离开的人也一样:在所有月份留下他们的名字。您最好只在A列的第一个工作表中输入名称,并在从第一个工作表中选取此名称的所有其他工作表中使用公式。也在第13页中这样做。

然后在第13页中,下一列将再次专注于轮班。现在假设您的其他工作表名称类似于" 1月和#34;到" 12月和#34;,您可以按如下方式对它们进行汇总(在单元格B1中):

=SUM(January:December!AG1)

答案 1 :(得分:0)

我对Trincot的建议做了类似的处理。 在每个月末我添加了各种班次类型并进行了计数(在这种情况下,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)

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