IFERROR(INDEX($I$7:$I,MODE(IF($I$7:$I<>"",MATCH($I$7:$I,$I$7:$I,0)))),"No data")
使用这个计算最常见文本值的公式,我需要有第二个最常见的。
第I栏内容:
苹果
橙
苹果
苹果
橙
在这个例子中,我需要橙色。怎么可能?我无法想象如何。
答案 0 :(得分:0)
我在Excel先生上发现了这个
返回数组中最常见,第二常见,第三常见等文本字符串
电子表格公式
Cell ___ Formula'请注意,单元格为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 Harmon_____ 2.005
6威廉姆斯
7威廉姆斯
8史密斯_______ 3.008
9威廉姆斯
10威廉姆斯____ 4.010
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用数组公式提取列表中最常用的项目。
=INDEX(MyList,MATCH(MAX(COUNTIF(MyList,MyList)),COUNTIF(MyList,MyList),0))
请注意,必须使用Shift + Ctl + Enter确认数组公式,而不是常规公式所需的常规单数输入。错误输入时会显示#NUM!错误。
为简单起见,我在公式中使用了命名范围MyList
。但是,如果您愿意,可以将名称替换为$ I $ 7:$ I $ 1000。
要提取列表中第二常用的表达式,您可以使用与上述类似的公式。
=INDEX(MyList,MATCH(LARGE(COUNTIF(MyList,MyList),MAX(COUNTIF(MyList,MyList))+1),COUNTIF(MyList,MyList),0))
此公式建立在n等于最大出现次数的逻辑上。因此,第二高必须排在n + 1,在上面的公式中为MAX(COUNTIF(MyList,MyList))+1)
。通过相同的方法,可以提取排名第三的。
您可以将这些公式嵌入到IFERROR()函数中。
答案 3 :(得分:0)
您可以尝试将所有这些问题结合在一个公式中,但是在电子表格环境中,只需几个单独的步骤即可解决问题,这更加简单灵活。
采用您要计算/排名的给定值列-在下面的示例中,我将其称为 RankList 。
如果您未设置命名范围(请帮忙并使用命名范围),则希望它成为您的列范围-即A:A
现在在另一列中使用
=unique(RankList)
有您的唯一值列表,现在我们只需要计算原始 RankList 中每个唯一值的实例-这很简单-在下一栏中简单使用
=countif(RankList,B1)
上面的B1代表与公式相邻的单元格,无论它在工作表上的什么位置。现在,使用每个项目的相对单元格值自动填充公式。现在您的所有物品都是按实例计算的。
现在我们要按值对它们进行排序,从高到低。创建另一个命名范围,选择包含刚创建的= unique( RankList )和= countif( RankList ,B1)公式的两列,我将对其进行引用为 UniqueCount
使用以下内容
=sort(UniqueCount, 2, false)
就是这样。同样,您可以通过像上面的示例中那样堆叠公式来完成此操作,但是实际上,我发现您不知道以后要对数据/工作表做些什么。像这样不连续地将其分解,可以很容易地进行调整。