google-sheets - 谷歌表格/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"
但后来我在不同的行中有不同的公式,我很困惑。我需要一个一致的公式来获得这两个值。
请任何帮助将不胜感激。看,就像它应该是一个简单的问题。但我一直在绞尽脑汁。
解决方案
@Vadim,试试这个:
=FILTER($B$1:$F$1, B2:F2=INDEX($B2:$F2, MATCH (LARGE(B2:F2,1), B2:F2, 0)))
这个怎么运作
简而言之,FILTER在 B1:F1 中的所有条目中过滤,其中第 2 行中的相应值与第 2 行中的最大数匹配(无论有多少匹配项)。
推荐阅读
- php - 如果有分数,php只显示小数位
- regex - 排版检查中的正则表达式
- python - 如何在 django 中查看包含 count() 的基础查询
- jenkins - Jenkins 中没有 AWS Codedeploy 插件
- python - 如何使用pywinauto点击
- python - 根据我的列表输入重命名决赛
- swift - Cocoa Xcode:使用 Swift 4 for Mac 以编程方式从 AppDelegate 打开窗口控制器?
- docker - 使用与从主机发送请求相同的网络从 docker 容器发送 http 请求
- asp.net - 用于 asp.net 标志跨站点脚本的漏洞扫描程序
- python - 使用 Python 处理文件 - 打印每日价值总和