如何在Google工作表中找到第三个最常见的值

时间:2014-10-14 00:14:48

标签: google-sheets formulas

我试图在google工作表中找到第三个最常见的值。我看到了如何找到第二个和第一个,但我无法找到如何找到第三个和第三个。我需要知道如何计算第三,第四,第五,第六,第七和第八位。我正在为我工​​作的学校制定一个排行榜系统。 我知道这是如何找到第二个最常见的:

=ArrayFormula(MODE(IF((F1:F85=MODE(F1:F85)),"",F1:F85)))

这就是如何找到第一个:

=mode(F1:F65)

但我需要找到之后的所有内容。

3 个答案:

答案 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列保持为空,它应该可以工作)。

相关问题