关于excel:跨多个页面的COUNTIF和VLOOKUP函数

COUNTIF and VLOOKUP function across multiple pages

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

我正在计算名册上的班次。
我有十二个工作表-每个月一个。
在每个工作表B1到AF1上是一个月中的几天。
在每个工作表A2到A10上都有人的名字(这些更改顺序在不同的工作表上)。
在某人名称的右边(整个月),他们有班次名称,我们称它们为S1,S2,S3和S4。

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

愿意使用VBA,甚至可以使用公式。


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

将AG列添加到AJ(假设有四个班次),分别将班次S1,S2,S3和S4的总数加起来,如下所示:

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

在下一列中使用" S2 "进行适配,等等。

然后,为了使事情变得不那么复杂,您必须确保12张纸中的每张纸都具有相同的名称(以相同的顺序列在A列中)。如果人们在三月中旬加入工作队伍,则还要在工作表中添加一月和二月的姓名。对于离开的人也是如此:在所有月份中离开他们的名字。最好只在A列的第一张工作表中键入名称,并在所有其他工作表中使用从第一张工作表中选取此名称的公式。也请在第13页中执行此操作。

然后在第13张工作表中,下一列将再次用于说明班次。现在,假设您的其他工作表名称从" January "到" December ",您可以按如下所示对它们进行求和(在单元格B1中):

1
=SUM(January:December!AG1)


我对Trincot的建议采取了类似的方法。
在每个月末,我添加了各种班次类型并进行了计数(在这种情况下,AG $ 1说为S1,我对S2所做的操作也是如此,以此类推)

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

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

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

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