IFERROR(INDEX($I$7:$I,MATCH(LARGE(FREQUENCY($I$7:$I,$I$7:$I),2),$I$7:$I,0)),"No data")
使用此公式可以计算最常见的文本值,现在需要获取第二个最常见的文本值。
列 I 内容:
苹果
橙子
苹果
苹果
橙子
在这个例子中,需要获取橙子。如何实现呢?请参考以上公式。
IFERROR(INDEX($I$7:$I,MATCH(LARGE(FREQUENCY($I$7:$I,$I$7:$I),2),$I$7:$I,0)),"No data")
使用此公式可以计算最常见的文本值,现在需要获取第二个最常见的文本值。
列 I 内容:
苹果
橙子
苹果
苹果
橙子
在这个例子中,需要获取橙子。如何实现呢?请参考以上公式。
=INDEX(MyList,MATCH(MAX(COUNTIF(MyList,MyList)),COUNTIF(MyList,MyList),0))
MyList
。但是,如果您愿意,可以将名称替换为类似于$I$7:$I$1000的内容。=INDEX(MyList,MATCH(LARGE(COUNTIF(MyList,MyList),MAX(COUNTIF(MyList,MyList))+1),COUNTIF(MyList,MyList),0))
MAX(COUNTIF(MyList,MyList))+1)
。通过相同的方法可以提取第三个排名。=INDEX(MyList,MATCH(LARGE(COUNTIF(MyList,MyList),MAX(COUNTIF(MyList,MyList))+1),COUNTIF(MyList,MyList),0))
将 +1 改为 +2 并不能返回第三个最频繁的值,它仍然返回第二个最频繁的值。 - ek4134901503915你可以尝试将所有内容绑定在单个公式中,但在电子表格环境中,将问题分解成几个独立的步骤会更简单和灵活。
取一个你想要计算/排名的数值列 - 在下面的示例中我将称其为 RankList。
如果你没有设置命名范围(建议使用命名范围),你需要将其设定为你的列范围 - 即 A:A
现在,在另一列中使用以下公式:
=unique(RankList)
这是您独特值的列表,现在我们只需要计算原始RankList中每个独特值的实例数 - 这很简单 - 在下一列中只需使用
=countif(RankList,B1)
B1代表公式相邻的单元格,无论它在您的工作表上的位置如何。现在使用相对单元格值自动填充公式中的每个项目。现在,所有项目都按实例计数。
现在我们想按值从高到低对它们进行排序。创建另一个命名范围,选择包含刚刚创建的=unique(RankList)和=countif(RankList,B1)公式的两列,我将称其为UniqueCount
使用以下内容:
=sort(UniqueCount, 2, false)
就是这样。你可以像上面的例子一样堆叠公式来完成这个任务,但实际上我发现你不知道以后会想要对数据/工作表做什么额外的操作。像这样将其分解为离散步骤使得调整变得更加容易。
单元格___公式'请注意,单元格为B2、D2、E2。列C为空白
B2 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=COUNTIF($A$2:$A$100,A2),COUNTIF($A$2:$A$100,A2)+(ROW()/1000),""))
D2 =IF(ROWS($1:1)>COUNT(B:B),"",INDEX(A:A,MATCH(LARGE(B:B,ROWS($1:1)),B:B,0)))
E2 =IF(D2="","",COUNTIF($A$2:$A$100,D2))<br><br>
结果
___ A ________ B ___C ___D _________E
1 数据集:___助手 ____ 名字 ____ 出现次数
2 哈蒙 _____________ 威廉姆斯 ______4
3 史密斯 _______________ 史密斯 ________3
4 史密斯 _______________ 哈蒙 ______2
5 哈蒙_____ 2.005
6 威廉姆斯
7 威廉姆斯
8 史密斯 _______3.008
9 威廉姆斯
10 威廉姆斯 ____4.010