1

Hi have something how this.

COLUMN_NAME
------------
NAME1
NAME2
NAME3
NAME1
NAME1
NAME4
NAME2

I want to get the most repeated value from this colum, on this case, NAME4, any can help me? I tried some query functions but I dont understand the correct logic for this :S

4

1 回答 1

0

首先,如果我在上面的示例中没有记错的话,重复次数最多的文本是“NAME1”,因为它出现了 3 次。

我确信这个问题有更好的解决方案,但我只是想出了这个:

=index(query(A1:B8,"select A,count(B) where B ='' group by A order by count(B) desc",1),2,1)

注意: B ='' 后的引号是两个单引号,不是双引号!!此时,我们将 B 列与空字符串进行比较。

假设:

  • 原始数据应位于 A2:A8 单元格(NAME1、NAME2、NAME3、...)
  • 我们使用了一个“额外”列,位于 A 旁边(B 列)。所有单元格都应为空。

上面的公式首先运行一个查询(请参阅里面的 QUERY 函数),在该查询中我们计算每个文本的出现次数,并按计数降序排列。我们会得到这样的东西:

列名计数

名称1 3

名称2 2

名称3 1

名称4 1

然后 - 使用索引函数 - 我们得到位于查询结果的第 2 行和第 1 列中的单元格值。这总是好的,因为我们总是按降序对查询结果进行排序(=order by)。因此,重复次数最多的文本将始终位于该位置。

所以这是一种解决方法,不是那么漂亮,但有效。

无论如何希望它有所帮助。

于 2014-04-25T18:26:12.150 回答