如何在电子表格中输出最常见的值和该值的出现次数?

ric*_*ira 13 string excel text google-sheets

有一个列Values的数量Strings,然后显示最常见的值和该值的出现次数(即模式Strings).这是一个例子.

+--------+
| Values |
+--------+
|   AA   |
+--------+
|   BB   |
+--------+
|   AA   |
+--------+
|   AA   |
+--------+
|   GG   |
+--------+
|   DD   |
+--------+
|   DD   |
+--------+
|        |
+-----------------+--------+
|   Most Common   |   AA   |
+-----------------+--------+
| Number of times |   03   |
+-----------------+--------+
Run Code Online (Sandbox Code Playgroud)

这将在Google Spreadsheets中完成!有小费吗?

chi*_*NUT 27

对于您的具体示例,请将其设为A列,因此您有A1 ='AA',A2 ='BB',...,A7 ='DD'.

要查找max元素出现的次数,我们要计算每个唯一元素,然后返回最大计数,因此在单元格中使用公式

=MAX(COUNTIF(A1:A7,A1:A7))
Run Code Online (Sandbox Code Playgroud)

这是一个ARRAY公式,所以在excel中你必须按Ctrl + Shift + Enter才能使用它.要在Google电子表格中使用,请使用ARRAYFORMULA将其包围,以便它成为

=ARRAYFORMULA(MAX(COUNTIF(A1:A7,A1:A7)))
Run Code Online (Sandbox Code Playgroud)

说明:内部countif计算A1:A7的单元格,如果它们等于A1:A7中的每个值,则将它们放入列表中.Max返回该列表中的最大值.

现在,为了获得实际元素,我们有另一个ARRAY公式.我们可以进行索引/匹配查找以找出值,因此在函数内部,max查找具有最大计数的值,然后将其传递给index + match函数以查找原始列表中的值

=INDEX(A1:A7,MATCH(MAX(COUNTIF(A1:A7,A1:A7)),COUNTIF(A1:A7,A1:A7),0))
Run Code Online (Sandbox Code Playgroud)

所以谷歌电子表格

=ARRAYFORMULA(INDEX(A1:A7,MATCH(MAX(COUNTIF(A1:A7,A1:A7)),COUNTIF(A1:A7,A1:A7),0)))
Run Code Online (Sandbox Code Playgroud)

您将A1:A7的每个实例替换为您的数据的实际范围.

这篇文章很有帮助:http: //www.mrexcel.com/forum/excel-questions/34530-mode-text-strings.html

  • 优秀的男人!这正是我正在搜索的内容,要在 Google SpreadSheet 中工作,只需简单地将公式用 ARRAYFORMULA() 包围起来,然后取出“INDEX”和“MAX”的“=”字符 (2认同)