2016-10-27 72 views
0

我需要在一行中找到最频繁的词(分类文本,例如“T2”),但不是所有列中都找到。如果范围是连续我会尝试这样的:Excel:在非连续范围内最常见的值/字

=INDEX(B3;M3,MODE(MATCH(B3;M3,B3;M3,0))) 

但是,我这样做是多个变量,并且不希望为每一个独立的子集片/文件,所以希望这是可能的。我试图用下面的公式,但得到的是hightlights模态函数的错误消息:

=INDEX((B3;F3;J3),MODE(MATCH(B3;F3;J3,B3;F3;J3,0))) 

我的数据看起来是这样的:

person A      person B      person C    
ID Var1 Var2 Var3 Var4 Var1 Var2 Var3 Var4 Var1 Var2 Var3 Var4 
1 T2  C1  N  f  T2  C1  N  f  T4  C9  Y  e 
2 T4  C5  Y  b  T4  C1  Y  b  T2  C1  N  e 
3 T2  C2  N  g  T4  C5  Y  d  T2  C1  N  f 
4 T4  C9  Y  e  T4  C1  Y  b  T2  C1  N  e 
5 T1  C2  N  b  T2  C2  N  h  T2  C2  N  g 
6 T4  C9  Y  b  T4  C1  Y  b  T4  C9  Y  f 
7 V2  C1  Y  c  V6  C2  N  c  T2  C2  N  h 

Example

而结果我想要添加一列到最后,这给了我最常见的值/名称,exapmle为Var1:

ID Mode_Var1 
1 T2 
2 T4 
3 T2 
4 T4 
5 T2 
6 T4 
7 NA 

我在正确的轨道上吗?这可能使用索引,模式和匹配吗?如果这不起作用,还有另一种方法吗?谢谢你的帮助!

编辑:添加表(相同图像),在第一个例子中由范围对应于例如数据

+0

没有要复制/粘贴的数据,并且示例函数中的列与您的图像中的数据似乎不匹配,因此找出您要查找的内容有点困难。你能否提供少量的样本数据,你正在尝试的公式(仅在该数据中)以及你想要的结果? –

+0

试图修复,现在:) – Eva

回答

1

你会在INDEX/MATCH的阵列形式使用COUNTIF:

=INDEX(B2:M2,MATCH(MAX(IF(MOD(COLUMN(B2:M2),4)=2,COUNTIF(B2:M2,B2:M2))),IF(MOD(COLUMN(B2:M2),4)=2,COUNTIF(B2:M2,B2:M2)),0)) 

被在退出编辑模式时,需要使用Ctrl-Shift-Enter而不是Enter键确认数组公式。如果做得正确,Excel将在公式周围放置{}

把这个公式放在N2中,按下Ctrl-Shift-Enter,然后复制/下拉。

enter image description here

+0

再次尝试的示例数据,现在它的工作!只希望它也能用于实际的数据集... – Eva

+0

我不太明白这个公式是如何工作的,所以我想知道我是否可以问一个后续问题:公式中指定了哪一列?当我将它应用于我的实际数据时,它总结了列中最频繁的部分,而不是我想要的那一部分... 另外,在MOD部分中,为什么要除以4?那么= 2是什么意思? – Eva

+0

MOD()是告诉公式使用哪些列。您的数据每四列有一个模式。它返回余数,因此6/4等于1,余数为2.MOD将返回2.因此,2是余数和第一列,其中找到想要的数据。在这种情况下,它是B列或第二列。 –

0

给出如图所示的设置,使用此数组公式*在单元格B13并复制了上下:

=INDEX(INDEX($B$3:$M$9,MATCH($A13,$A$3:$A$9,),0),MODE(IFERROR(MATCH(INDEX($B$3:$M$9,MATCH($A13,$A$3:$A$9,),0),IF($B$2:$M$2=B$12,INDEX($B$3:$M$9,MATCH($A13,$A$3:$A$9,),0)),0),-COLUMN($B$3:$M$9)))) 

#N/A结果意味着,有因为没有最频繁的条目该ID和Var(所有三个都有不同的条目)。如果你想把其他东西放在那里,把公式包装在IFERROR中。

tigeravatar example for Eva

*数组公式必须按Ctrl ++输入,而不是仅仅输入确认。如果正确完成,公式将被大括号{=formula}包围,这些将自动添加,因此不要尝试手动添加它们。

+0

嗨!谢谢您的回复。尽管如此,我仍然无法实现。我收到一个循环引用警告,并且B13中的结果为0:/ 另外我注意到我们使用不同的分隔符(我的;是你的,我认为),并且我试图纠正但不知道是否可能是原因。 – Eva

+0

@Eva循环引用意味着你正在尝试在你的公式计算中包含活动单元格,这不应该是这种情况。验证您的范围,并将公式移至其他单元格以避免混淆。至于分隔符,就像你猜测的那样,简单地用''替换''''。 – tigeravatar