我的电子表格数据字符串需要按“类型”计算,而不是实例。
A B C D
1 Lin 1 2 1
2 Tom 1 4 2
3 Sue 3 1 4
分配给教师1的学生的正确数额是3,而不是4.教师1在课程B中遇到Lin,D与计数无关。
我借用了一个在Excel中运行但不在Google表格中的公式,我和其他人需要保留和操纵数据。
F5=SUMPRODUCT(SIGN(COUNTIF(OFFSET(B$2:D$2, ROW($2:$4)-1, 0), E5)))
A B C D E
2 Lin 1 2 1
3 Tom 1 4 2
4 Sue 3 1 4
5 1 [exact string being searched for, ie a teacher name]
我不知道Google表格在该公式中没有理解的内容。有没有人知道要使用的正确表达式,或者是一种更有效的方法来获得我需要的准确计数,而不会在计算数量的行中重复?
答案 0 :(得分:1)
因此,这是一种愚蠢的方式,通过查找分配给教师1等的学生的行总数,然后查看总数大于0的总数。
=ArrayFormula(sum(--(mmult(n(B2:D4=E5),transpose(column(B2:D4)))>0)))
或
=ArrayFormula(sum(sign(mmult(n(B2:D4=E5),transpose(column(B2:D4))))))
如果在没有ArrayFormula包装的情况下作为数组公式输入,也适用于Excel。
特定的Google表格可能很短
=ArrayFormula(COUNTUNIQUE((B2:D4=E5)*row(B2:D4)))-1
计算包含匹配项的唯一行。
注意 - 我在上面的最后一个公式中减去1,因为我假设至少有一个零(不匹配)应该被忽略。如果所有班级的所有学生都被分配到同一位教师,那么这将失败,因此你有一个所有1的矩阵(例如)。这在理论上更正确:
=ArrayFormula(COUNTUNIQUE(if(B2:D4=E5,row(B2:D4),"")))