我想首先说,我确实看到了类似的问题;但是,如果它包含部分字符串,它们会对单元格进行计数。我不足以翻转那个版本的公式。
我用它做什么用的?我会有一个类似于这个的excel页面:
Classroom 1
32523
24634
67457
43636
35467
Classroom 2
34563
64746
79877
23456
Classroom 3
23777
36434
23526
68997
36346
34634
74567
58867
这里的目标是两件事。一,我想要计算本专栏中不包含“课堂”一词的所有项目,以及我想要完成的第二件事(如果可能,这可能太多了),如果我可以分别计算每个教室。我的意思是,这些专栏的大小各不相同,每个月都会发给我一份新文件。我真的想要一个可以返回的公式:Classroom 1 = 5,Classroom 2 = 4等。我有80多个教室,不能继续每个班级使用一个公式,因为重新调整范围是非常耗时的。 (因为范围大小不一,我还没有找到更好的方法)。
有人可以帮忙吗?我已经结束了。
答案 0 :(得分:2)
总计:
=COUNT(A:A)
对于每个教室,列出一个列表,使它们出现在A列中,然后在第一个教室旁边的第一个单元格中使用它并复制下来。不需要辅助列。
=COUNT(INDEX(A:A,MATCH(C3,A:A,0)+1):INDEX(A:A,IFERROR(MATCH(C4,A:A,0)-1,MATCH(1E+99,A:A))))
答案 1 :(得分:1)
将此作为答案,因为你有一个2部分的问题而且很难将所有这些都纳入评论
第1部分:一,我想要计算此列中不包含“课堂”一词的所有项目
这部分非常简单。这会计算所有非课堂教学的内容:
=SUMPRODUCT(--(LEFT(A1:A22, LEN("Classroom")) <> "Classroom"))
但是,它将计算空白(因此您的示例数据将为19)。如果不想要计算空白:
=SUMPRODUCT(--(LEFT(A1:A22, LEN("Classroom")) <> "Classroom") * (A1:A22 <> ""))
这将返回17.
基本上,这两个公式通过获取您给出的数组,然后比较每个值来查看它是否等于课堂或空白。它将其计为0,将其他任何值计为1,然后将得到的0和1的数组相加。
接下来,第2部分:我真的想要一个会返回的公式:Classroom 1 = 5,Classroom 2 = 4
最简单的方法是添加辅助列。假设您的数据在A2中开始,请使用以下内容:
=IF(OR(LEFT(A2,9)="Classroom", A2 = ""), "",LOOKUP(2,1/(LEFT(A$1:A2, 9)="Classroom"),A$1:A2))
这个公式只是通过检查它上面或上面的所有内容,并创建一个TRUE / FALSE(1/0)数组来判断它是否是一个教室。然后,当你到达终点时,你会尝试在1和0的数组中找到2。显然你不能,所以默认为最后一个值小于它自己。这是最后一个(最后一个教室)。然后索引给出该教室记录的位置并打印出来。
然后,您可以在帮助列上使用countif,因此我们可以将其计入教室分区。假设您在f1中有教室1,在f2中有教室2,依此类推 -
=COUNTIF($B$2:$B$22, F1)
下面的截图,虽然由于某种原因我无法将其嵌入为链接
答案 2 :(得分:0)