Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: lamborghni

如何根据数据区内数据出现的次数排列数据

  [复制链接]
发表于 2012-2-26 07:48 | 显示全部楼层
本帖最后由 雄鹰 于 2012-2-26 07:49 编辑

数组公式:
=RIGHT(SMALL(--((100-COUNTIF($A$1:$J$9,ROW($1:$79)))&TEXT(ROW($1:$79),"00")),ROW(A1)),2)*1
回复

使用道具 举报

发表于 2012-2-26 09:15 | 显示全部楼层
  1. =TEXT(MOD(MAX(IF(COUNTIF(K$1:K1,A$2:J$10),,COUNTIF(A$2:J$10,A$2:J$10)/1%%+A$2:J$10)),10^4),"00;;")
复制代码
Book1.zip (6.73 KB, 下载次数: 16)
回复

使用道具 举报

发表于 2012-2-26 09:32 | 显示全部楼层
如果是顶行的话公式可改为:
  1. =TEXT(MOD(MAX(IF(COUNTIF(INDIRECT("R[-"&ROW()-(ROW()>1)&"]C:R[-1]C",),A$1:J$9),,COUNTIF(A$1:J$9,A$1:J$9)/1%%+A$1:J$9)),10^4),"00;;")
复制代码
回复

使用道具 举报

发表于 2012-2-26 11:44 | 显示全部楼层
10楼和11楼公式结果正确,但未排除出现次数为0的数据。
12楼和13楼公式出现次数相同的未按要求小的数字排前面。
现根据10楼和11楼公式,再加上一个判断排除出现次数为0的数据修改如下:
=IF(ROW()>SUM(1/COUNTIF(A$1:J$9,A$1:J$9)),"",100-MOD(LARGE(FREQUENCY($A$1:$J$9,ROW($1:$98))*100-ROW($1:$99),ROW(A1)),100))
=IF(ROW()>SUM(1/COUNTIF(A$1:J$9,A$1:J$9)),"",MOD(-LARGE(-(((100-COUNTIF(A$1:J$9,ROW($1:$99)))/1%+ROW($1:$99))),ROW(A1)),100))
回复

使用道具 举报

 楼主| 发表于 2012-2-26 12:23 | 显示全部楼层
非常感谢各位,受教了
回复

使用道具 举报

发表于 2012-2-26 12:26 | 显示全部楼层
qinqh_yl 发表于 2012-2-26 11:44
10楼和11楼公式结果正确,但未排除出现次数为0的数据。
12楼和13楼公式出现次数相同的未按要求小的数字排前 ...

那你怎么不说,自己的公式取巧了呢?要是数字不是两位数呢?呵呵
回复

使用道具 举报

 楼主| 发表于 2012-2-26 12:29 | 显示全部楼层
对excel函数了解甚少,有了公式不知道怎么用?
回复

使用道具 举报

发表于 2012-2-26 12:31 | 显示全部楼层
lamborghni 发表于 2012-2-26 12:29
对excel函数了解甚少,有了公式不知道怎么用?

你挑一个你喜欢的公式,输完公式后:按ctrl+shift+回车三键结束,再说,上面也有附件!不懂就看附近,记得你喜欢的公式设个最佳!
回复

使用道具 举报

 楼主| 发表于 2012-2-26 13:27 | 显示全部楼层
我输入了这个公式
未命名.jpg
回复

使用道具 举报

 楼主| 发表于 2012-2-26 13:28 | 显示全部楼层
按ctrl+shift+回车三键结束
结果是这样的
00.jpg
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 02:04 , Processed in 0.391215 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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