Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6550|回复: 13

[已解决]一行数据中如果有两个最大值时返回各自的所在位置,如果只有一个最大值,则返回最....

[复制链接]
发表于 2017-3-28 11:32 | 显示全部楼层 |阅读模式
一行数据中如果有两个最大值时返回各自的所在位置,如果只有一个最大值,则返回最大值和第二大值所在位置。
比如有一行数据
     A   B   C   D   E   F   ......
1   3   2   5   5    4   3
2   1   2   5   3    4   4
:
:
:
第一行有两个最大值5 ,(或三个最大值),我想在G1输入公式,返回最大值的所在列,即返回3,(即C列,用3表示),在H1输入公式,返回4
如果没有两个最大值,即第二行的数据,返回前两个最大值,即在G1返回3,在H1返回5
这两行数据其实就是一行数据,本身有公式,会随着数据的变化而变,可能有时候只有一个最大值,有时候会有两个到三,四个最大值,但我只想要返回前两个最大的值所在的列号就可以了
这样可以实现吗?
最佳答案
2017-3-28 11:39
数组,三键结束,具体的位置自己修改,我只是随意模拟了下
  1. =SMALL(IF(MAX($A2:$G2)=$A2:$G2,COLUMN($A:$G)),COLUMN(A1))
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-3-28 11:39 | 显示全部楼层    本楼为最佳答案   
数组,三键结束,具体的位置自己修改,我只是随意模拟了下
  1. =SMALL(IF(MAX($A2:$G2)=$A2:$G2,COLUMN($A:$G)),COLUMN(A1))
复制代码
回复

使用道具 举报

 楼主| 发表于 2017-3-28 12:46 | 显示全部楼层
Excel学徒123 发表于 2017-3-28 11:39
数组,三键结束,具体的位置自己修改,我只是随意模拟了下

这个公式在有两个最大值的时候好像能行,当只有一个最大值的时候,第一个单元格能返回最大值的所在列号,第二大的值那个列好出不来啊?
还有, 能解释一下这个公式的含义吗?
回复

使用道具 举报

发表于 2017-3-28 12:47 | 显示全部楼层
本帖最后由 Excel学徒123 于 2017-3-28 12:49 编辑
lbport 发表于 2017-3-28 12:46
这个公式在有两个最大值的时候好像能行,当只有一个最大值的时候,第一个单元格能返回最大值的所在列号, ...

我不是说了么????三键结束  ctrl+shift+回车,你不会以为会在一个单元格里面显示吧
回复

使用道具 举报

 楼主| 发表于 2017-3-28 12:55 | 显示全部楼层
Excel学徒123 发表于 2017-3-28 12:47
我不是说了么????三键结束  ctrl+shift+回车,你不会以为会在一个单元格里面显示吧

我是三键结束,然后向右复制,当有两个最大值的时候第一格显示的是最大值的列号,第二格也能显示第二个最大值的列号,但是当最大值只有一个,就只有第一格能返回列号,第二格没有内容啊,显示
#NUM!

回复

使用道具 举报

发表于 2017-3-28 12:55 | 显示全部楼层
lbport 发表于 2017-3-28 12:55
我是三键结束,然后向右复制,当有两个最大值的时候第一格显示的是最大值的列号,第二格也能显示第二个最 ...

只能帮你到这,再多自己想吧,
QQ图片20170328125545.png
回复

使用道具 举报

发表于 2017-3-28 12:56 | 显示全部楼层
lbport 发表于 2017-3-28 12:55
我是三键结束,然后向右复制,当有两个最大值的时候第一格显示的是最大值的列号,第二格也能显示第二个最 ...

最大值只有1个的时候,不就是显示1个???你还想显示几个?
回复

使用道具 举报

 楼主| 发表于 2017-3-28 12:58 | 显示全部楼层
Excel学徒123 发表于 2017-3-28 12:56
最大值只有1个的时候,不就是显示1个???你还想显示几个?

我想显示第二大值的列号啊
回复

使用道具 举报

 楼主| 发表于 2017-3-28 13:02 | 显示全部楼层
Excel学徒123 发表于 2017-3-28 12:56
最大值只有1个的时候,不就是显示1个???你还想显示几个?

还有,我的数据只有一行啊。这一行数据根据公式变化会出现有时候有一个或两个或N个最大值的情况,但只取两个所在列号就行了,但当只有一个最大值的时候,第一格返回最大值列号,第二格希望能返回第二大值的列号,第二大值
回复

使用道具 举报

 楼主| 发表于 2017-3-28 13:32 | 显示全部楼层
Excel学徒123 发表于 2017-3-28 12:56
最大值只有1个的时候,不就是显示1个???你还想显示几个?

解决了,我在另一个单元格B4,写=MATCH(LARGE($A$1:$G$1,2),A1:G1,0)就是返回第二大的值,再用一个单元格写=IF(ISNUMBER(B3),B3,B4)就可以引用了,B3就是数组的第二个单元格,谢谢了,有帮助~!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 08:41 , Processed in 3.049843 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表