我试图在google工作表中找到第三个最常见的值。我看到了如何找到第二个和第一个,但我无法找到如何找到第三个和第三个。我需要知道如何计算第三,第四,第五,第六,第七和第八位。我正在为我工作的学校制定一个排行榜系统。 我知道这是如何找到第二个最常见的:
=ArrayFormula(MODE(IF((F1:F85=MODE(F1:F85)),"",F1:F85)))
这就是如何找到第一个:
=mode(F1:F65)
但我需要找到之后的所有内容。
答案 0 :(得分:1)
我需要找到之后的所有内容。
避免嵌套IF的更具可扩展性的解决方案将是:
=ArrayFormula(QUERY({F1:F85,LEN(F1:F85)},"select Col1, count(Col2) where Col2 > 0 group by Col1 order by count(Col2) desc",0))
这会生成一个表格,其中包含每个数字及其相关频率,从最常见到最少排序。您可以使用INDEX:
从此表中检索特定值 =INDEX(QUERY({F1:F85,LEN(F1:F85)},"select Col1, count(Col2) where Col2 > 0 group by Col1 order by count(Col2) desc",0),n+1,1)
其中n是您需要的位置(1 =最常见,2 =次最频繁等)。
您的初始 This question指的是二维范围,这将会更复杂,但仍然可行。
答案 1 :(得分:0)
鉴于B1:B99为我们的范围,如果A1最常见,A2是第二常见的,等等:
A1 = ArrayFormula(MODE(B1:B99))
A2 = ArrayFormula(MODE(IF((B1:B99=A1),"",B1:B99)))
A3 = ArrayFormula(MODE(IF((B1:B99=A1),"",(IF((B1:B99=A2),"",B1:B99)))))
A4 = ArrayFormula(MODE(IF((B1:B99=A1),"",(IF((B1:B99=A2),"",(IF((B1:B99=A3),"",B1:B99)))))))
我很好奇是否有人有更好的解决方案。
答案 2 :(得分:0)
我很确定这个解决方案比其他答案更优雅。
尝试使用此Google Visualization API Query:
=query(A:B,"select A, count(B) group by A order by count(B) desc label count(B) 'Count' ",1)
这应该为您提供2列 - 第一列给出了A列中的不同值,第二列给出了每个值的出现次数(按降序排序)。
您应该注意,似乎不支持单列上的查询,因此我承认查询有点混乱(尽管如果您将B列保持为空,它应该可以工作)。