我试图根据学生的身份证号码创建一个按周计算学生出勤率的公式。基本上,我希望它查找学生ID,然后输出一定数周的出勤总和。这就是我提出的,但它无法正常工作。我每个月都需要这个。
=sumifs(index(Attendance!$A:$Z,MATCH('Attendance by Week'!A5,Attendance!$A:$A,0),0), Attendance!$F$6:$Z$6,Attendance!$F$4:$Z$4,">=" &'Attendance by Week'!F$4,Attendance!$F$4:$Z$4,"<"&'Attendance by Week'!F$4+7)
按周工作表出席: 日期是一周的开始(每个星期天)
出勤工作表: 每个&#34; 1&#34;意味着学生在场
感谢任何帮助!
答案 0 :(得分:0)
对于这种类型的挑战,我会完全跳过公式,并使用基于数据透视表的解决方案,因为它们不仅可以在不需要复杂公式的情况下聚合,而且还可以按天数对事物进行分组。
您唯一的障碍是您的数据目前是交叉表,而数据透视表并不喜欢它们。因此,您需要将数据输入布局更改为平面文件,即:
...或者使用我在convert cross table to list to make pivot table概述的方法之一将您的交叉表转换为平面文件。 (我使用的是PowerQuery,它内置于Excel 2016或更高版本,可作为Excel 2010或2013的免费插件使用)。
但是一旦你完成了这个,你就可以创建一个自动完成所有分组和求和的数据透视表,如下所示:
...使用分组功能: