Excel精英培训网

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

[已解决]如何用公式表达一定区域内0~9十个自然数的个数进行排序

[复制链接]
发表于 2014-4-12 21:10 | 显示全部楼层 |阅读模式
本帖最后由 甜无舌 于 2014-4-13 15:21 编辑

排序.JPG

如上图,如何用公式表示A1:C10区域内自然数的个数进行从少到多排序显示在F4:O4区域?从多到少排序公式又如何表达?
望各位大神帮忙小弟解答,多谢,不要用数组公式,因为数组公式计算较慢且文件较大。
最佳答案
2014-4-12 22:16
本帖最后由 chinaman_86 于 2014-4-12 22:19 编辑

=MOD(SMALL(COUNTIF($A1:$C10,ROW($1:$10)-1)*100+(ROW($1:$10)-1),COLUMN()-COLUMN(E4)),100)
=MOD(LARGE(COUNTIF($A1:$C10,ROW($1:$10)-1)*100+(ROW($1:$10)-1),COLUMN()-COLUMN(E7)),100)
选取F4:O4,粘贴公式,三键,运算速度快而且文件小,不要下拉或右拉

如何用公式表达一定区域内的自然数个数排序.rar

8.12 KB, 下载次数: 29

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-4-12 21:21 | 显示全部楼层
本帖最后由 as0810114 于 2014-4-12 21:22 编辑

少到多
数组公式,右拉
  1. =MOD(SMALL(COUNTIF($A1:$C10,ROW(1:10)-1)/1%+ROW(1:10)-1,COLUMN(A1)),100)
复制代码
多到少
数组公式,右拉
  1. =MOD(LARGE(COUNTIF($A1:$C10,ROW(1:10)-1)/1%+ROW(1:10)-1,COLUMN(A1)),100)
复制代码

如何用公式表达一定区域内的自然数个数排序.zip

9.93 KB, 下载次数: 11

点评

换right  发表于 2014-4-13 10:01
回复

使用道具 举报

 楼主| 发表于 2014-4-12 21:32 | 显示全部楼层
as0810114 发表于 2014-4-12 21:21
少到多
数组公式,右拉多到少
数组公式,右拉

只能用数组公式才能表达吗?
我不想要数组公式,可以用其它公式表达吗?
回复

使用道具 举报

 楼主| 发表于 2014-4-12 21:37 | 显示全部楼层
数组公式另一种少到多
=MOD(SMALL(COUNTIF($A1:$C10,ROW($1:$10)-1)+(ROW($1:$10)-1)/100,COLUMN(A1)),1)*100


因为我还要用统计出来的结果进行另行统计,不知是何原因,再次用公式统计的结果有些条件格式不能显示,而且数组公式也造成文件较大。
回复

使用道具 举报

发表于 2014-4-12 21:38 | 显示全部楼层
甜无舌 发表于 2014-4-12 21:32
只能用数组公式才能表达吗?
我不想要数组公式,可以用其它公式表达吗?

谁说数组公式就计算慢呢。
回复

使用道具 举报

 楼主| 发表于 2014-4-12 21:42 | 显示全部楼层
我也不是很清楚,反正感觉比普通公式要慢,可能是我计算的区域大,因为有公式存在,修改文件时挺慢的。
回复

使用道具 举报

发表于 2014-4-12 21:54 | 显示全部楼层
甜无舌 发表于 2014-4-12 21:42
我也不是很清楚,反正感觉比普通公式要慢,可能是我计算的区域大,因为有公式存在,修改文件时挺慢的。

数据多的话可以考虑VBa了
公式并不是万能的,特别是数据量大的话速度上是问题
回复

使用道具 举报

发表于 2014-4-12 21:56 | 显示全部楼层
数据量大时,不论啥公式都慢。
回复

使用道具 举报

 楼主| 发表于 2014-4-12 22:08 | 显示全部楼层
tgydslr 发表于 2014-4-12 21:54
数据多的话可以考虑VBa了
公式并不是万能的,特别是数据量大的话速度上是问题

不懂VBA,也不知道怎么使用,能指教一下吗?
关键是在数组公式计算后的结果上再计算的话有些条件格式显示不出来,这点麻烦。慢也有原因是因为电脑配置并不高的。
回复

使用道具 举报

发表于 2014-4-12 22:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 chinaman_86 于 2014-4-12 22:19 编辑

=MOD(SMALL(COUNTIF($A1:$C10,ROW($1:$10)-1)*100+(ROW($1:$10)-1),COLUMN()-COLUMN(E4)),100)
=MOD(LARGE(COUNTIF($A1:$C10,ROW($1:$10)-1)*100+(ROW($1:$10)-1),COLUMN()-COLUMN(E7)),100)
选取F4:O4,粘贴公式,三键,运算速度快而且文件小,不要下拉或右拉
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 11:38 , Processed in 0.354917 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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