最常见的每排观察有两个排名的断路器

时间:2018-05-16 13:51:36

标签: excel excel-formula

我在Excel中有一个数据集,我想要一个公式来找到每行最常见的观察(从B列到F列)。但是,如果有任何关系,则有两个打破平局,按以下顺序排列:第一个打破平局,如果数字4被绑定为任何行中最频繁的观察,则该行中的结果应为4第二个打破平局是,如果存在平局(其中4与最频繁的观察无关),则应在G列中显示该值。

在下面的图片中,我已经(左边)粗略地描绘了我现在拥有的数据和(右边)我想要的结果。

数据集图片:

我需要写什么公式才能得到我想要的结果?

提前致谢,

的Anders

2 个答案:

答案 0 :(得分:0)

看看这是否适合你:

=IF(ISNA(MODE.MULT(MyData)),IF(ISNA(MATCH(4,MyData,0)),Fruit,4),IF(ISERR(INDEX(MODE.MULT(MyData),2)),MODE.MULT(MyData),IF(ISNA(MATCH(4,MODE.MULT(MyData),0)),Fruit,4)))

以数组公式CTRL-SHIFT-ENTER输入。

此处MyData是一行数据的占位符。在您的示例中,MyData将是B-F列的单行;对于案例A,MyData = {1,1,1,1,2}。 Fruit是占位符与G列中的对应值。您可以将MyData替换为B2:F2,将Fruit替换为G2,然后复制并粘贴到其他位置。< / p>

以下是它的工作原理。该公式使用Excel的MULT.MODE函数,该函数返回与数据中一样多的模式值。

MULT.MODE中没有重复元素时,

N/A会返回MyData。这就是你的案例D和E的情况。这意味着存在N路并列,所以我们需要应用平局规则。这是通过使用MATCH函数来查看MyData中是否找到4来完成的。如果是,则返回4,否则返回Fruit

如果MyData重复元素,MULT.MODE将返回包含找到的模式的数组。如果没有平局,MULT.MODE将返回单个元素,否则该数组将至少包含两个元素。为了测试关系,我们尝试使用INDEX(MULT.MODE(MyData),2)访问数组的第二个元素。如果没有平局,这将抛出错误。

如果没有平局,请使用ISERR检测结果错误。如果没有平局,我们会返回MULT.MODE的结果。

如果有平局,则不会发生错误。在这种情况下,我们使用MATCHMULT.MODE的结果中查找4。如果找到4,我们返回4;如果没有返回Fruit

希望有所帮助。

答案 1 :(得分:0)

@xidgel:这是一个很好的答案,但您还必须考虑所有观察结果相同的情况。

CTRL-SHIFT-ENTER.

以数组公式<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/<code>?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

输入