Office中国论坛/Access中国论坛

标题: 难度题:在有重复项的数据中找第三大或第三小 [打印本页]

作者: 夜雨留香    时间: 2007-1-24 05:48
标题: 难度题:在有重复项的数据中找第三大或第三小
具体数据和希望实现的目的等见附件!急盼高手解答!!!![attach]22795[/attach]

作者: 情比金坚    时间: 2007-1-24 07:06
用vba不难,用手工多搭两次桥也不难,一次性用公式搞掂,~~~~~~~`目前还不会
作者: 夜雨留香    时间: 2007-1-24 17:05
我希望大家帮忙的就是通过一个公式搞定。

Excel中的large函数并不能解决有重复项的问题。

还是谢谢二楼的,希望大家接着关注这个问题。
作者: cola    时间: 2007-1-24 19:54
我也在其他论坛中求助,可以得到第三大的值

=LARGE((MATCH(A2:A17,A2:A17,)=ROW(A2:A17)-1)*A2:A17,3)
作者: cola    时间: 2007-1-24 19:57
第三小的值

=SMALL((MATCH(A2:A17,A2:A17,)=ROW(A2:A17)-1)*A2:A17,SUM(1/COUNTIF($A$2A$17,$A$2A$17))+3)

以上二个公式均为数组公式.

[此贴子已经被作者于2007-1-24 11:57:20编辑过]


作者: 夜雨留香    时间: 2007-1-24 21:58
感谢cola

好像4楼的公式是可以的,但5楼的不行啊???

能否验证后再赐教啊????
作者: cola    时间: 2007-1-24 22:15
是数组公式,应该是可行的.4楼的是人家写出来的,5楼是我照着写出来的.
作者: 夜雨留香    时间: 2007-2-2 23:18
非常感谢!
作者: syqtq    时间: 2007-2-8 06:51
以下是引用cola在2007-1-24 11:57:00的发言:


第三小的值

=SMALL((MATCH(A2:A17,A2:A17,)=ROW(A2:A17)-1)*A2:A17,SUM(1/COUNTIF($A$2A$17,$A$2A$17))+3)

以上二个公式均为数组公式.

修改一下就可以了(红色部分)

=SMALL((MATCH(A2:A17,A2:A17,)=ROW(A2:A17)-1)*A2:A17,COUNT($A$2A$17)-SUM(1/COUNTIF($A$2:$A$17,$A$2:$A$17))+3)


[此贴子已经被作者于2007-2-7 22:51:48编辑过]


作者: ASDFGHJ123    时间: 2007-2-19 16:29
好像不用那么复杂吧?再说,这也算不得什么难度题

第N大,数组公式:=LARGE(IF(FREQUENCY(A2:A17,A2:A17),A2:A17),N)

其中的N就是名次

而如果想得到第N小的,把上面的LARGE改为SMALL就可以了。




[此贴子已经被作者于2007-2-19 8:29:48编辑过]






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3