首页 > 解决方案 > 谷歌表格/excel在行中重复高值->索引列问题

问题描述

excel ....表格问题...在行中找到重复的高值并返回列标题我有下表:

_____苹果梨李子葡萄樱桃

爱丽丝 __5 ____0 ___5 ___3 ____1

鲍勃 ___2 ____1 ___0 ___1 ____2

辛迪 ___1 ____2 __3 ___6 _____4

我需要在行中找到重复的高值并返回列标题。否则返回最大值。

例如,对于“alice”行,2 个最高值为“5”,因此返回的 2 列将是“apple”和“plum”

对于“鲍勃”,它将是“苹果”和“樱桃”

对辛迪来说,因为只有“葡萄”

我尝试了以下公式: =index($B$1:$F$1, match (large(B2:F2,1),B2:F2,0))

它返回第一个最大值,但我无法获得第二个最大值: =index($B$1:$F$1, match (large(B2:F2,2),B2:F2,0))

因为它再次返回“apple”,因为“apple”被视为第一个和第二个最大值。

我尝试了以下公式来获得第一行中的第二个最大值:

=index($B$1:$F$1, match (large(B2:F2,2),B2:F2,-1)) 并且它可以为第一行返回“plum”,但对于第二行而不是返回“樱桃”它返回“苹果”。

=index($B$1:$F$1, match (large(B3:F3,1),B3:F3,-1)) 最终返回 "cherry"

但后来我在不同的行中有不同的公式,我很困惑。我需要一个一致的公式来获得这两个值。

请任何帮助将不胜感激。看,就像它应该是一个简单的问题。但我一直在绞尽脑汁。

标签: google-sheets

解决方案


@Vadim,试试这个:

=FILTER($B$1:$F$1, B2:F2=INDEX($B2:$F2, MATCH (LARGE(B2:F2,1), B2:F2, 0)))

这个怎么运作

简而言之,FILTER在 B1:F1 中的所有条目中过滤,其中第 2 行中的相应值与第 2 行中的最大数匹配(无论有多少匹配项)。


推荐阅读