大家早上好,
我需要使用一个巨大的电子表格,它有数百个不同的行标题。本质上,它是一个按讲师姓名排列的文件,显示他们在在线课程中向学生提供的评论。我需要查看有多少学生提交的内容正在接受讲师的反馈。我无论如何也想不出如何正确添加过滤器(将结果限制为每位讲师的已评分作业),以便不丢失行标题(教师姓名,报告中将其放在蓝色单元格中)。当我在工作表的最顶部添加过滤器时,单个行标题就会消失。我试过转到每一行并以这种方式添加过滤器,但似乎一次只能有一个活动行过滤器。你们这些超级明星能想出办法来解决这个问题吗?我的第二个问题是需要计算每位讲师的评论百分比(与无评论相比)。我想不出一种不手动计算就能为每位讲师计算的方法。 问题截图
有人能帮忙吗?非常感谢!
Excel 女士让我害怕
答案1
步骤 1:重新组织数据
第一个障碍是重新组织数据。您的数据行省略了理解列之间正确关系所需的大量数据。
如果可能的话,请修复您的数据,如果不行,则需要创建一个公式来关闭现有格式,以使数据对下一步有意义。
修复数据的示例公式
=VSTACK(
HSTACK( "Instructor", "Course", "Assignment", "Student", "Status", "Comments" ),
TEXTSPLIT(TEXTJOIN(";",TRUE, BYROW(A2:A500, LAMBDA(x,
LET(
head, $A$1, _row, ROW(head), _col, COLUMN(head),
student, INDIRECT(ADDRESS(ROW(x),_col+2)),
rng, INDIRECT(ADDRESS(_row,_col)&":"&ADDRESS(ROW(x),_col)),
rngInstr, FILTER(rng, (LEN(rng)>0)*(LEN(OFFSET(rng, 1, 0))>0)),
instructor, INDEX(rngInstr, COUNTA(rngInstr)),
rngSubj, FILTER(rng, rng<>""), subject, INDEX(rngSubj, COUNTA(rngSubj<>"")),
rngAsgn, FILTER(OFFSET(rng, 0, 1), OFFSET(rng, 0, 1)<>""),
assignment, INDEX(rngAsgn, COUNTA(rngAsgn<>"")),
status, IF(OFFSET(student,0,1)<>"",OFFSET(student,0,1),"-"),
comment, IF(OFFSET(student,0,2)<>"",OFFSET(student,0,2),"-"),
IF(student<>"", TEXTJOIN(",",TRUE, HSTACK(instructor, subject, assignment, student, status, comment)),"")
)
))),",",";",FALSE)
)