模式文本第2个最常见的文本值

时间:2017-11-24 11:54:05

标签: excel text formula mode

IFERROR(INDEX($I$7:$I,MODE(IF($I$7:$I<>"",MATCH($I$7:$I,$I$7:$I,0)))),"No data")

使用这个计算最常见文本值的公式,我需要有第二个最常见的。

第I栏内容:

  

苹果

     

     

苹果

     

苹果

     

在这个例子中,我需要橙色。怎么可能?我无法想象如何。

4 个答案:

答案 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)

数据透视表可能适合:

SO47472785 example

并应对排名的关系。

答案 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)

就是这样。同样,您可以通过像上面的示例中那样堆叠公式来完成此操作,但是实际上,我发现您不知道以后要对数据/工作表做些什么。像这样不连续地将其分解,可以很容易地进行调整。