Excel精英培训网

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

[已解决]如何进行对部分单元格0~9出现的次数由低到高排序放在一个单元格内

[复制链接]
发表于 2013-3-27 10:35 | 显示全部楼层 |阅读模式
本帖最后由 gdgmwhs 于 2013-3-27 12:01 编辑

如何进行对部分单元格0~9出现的次数由低到高排序放在一个单元格内
比如是统计:A1:D8
最佳答案
2013-3-28 16:27
gdgmwhs 发表于 2013-3-28 15:24
是我想得不周到,现在要求描述完了,谢谢!

排序测试文件.rar (9.99 KB, 下载次数: 72)

排序测试文件.rar

4.48 KB, 下载次数: 5

发表于 2013-3-27 11:15 | 显示全部楼层
每个单元格有什么内容,是一位数,还是几位数,结果是怎么摆放,做一个测试文件,模拟正确结果
回复

使用道具 举报

 楼主| 发表于 2013-3-27 11:22 | 显示全部楼层
本帖最后由 gdgmwhs 于 2013-3-27 12:02 编辑

1~7位由0123456789组成的数字

排序测试文件.rar

4.48 KB, 下载次数: 2

回复

使用道具 举报

 楼主| 发表于 2013-3-27 15:18 | 显示全部楼层
cbg2008 发表于 2013-3-27 11:15
每个单元格有什么内容,是一位数,还是几位数,结果是怎么摆放,做一个测试文件,模拟正确结果

1~7位由0123456789组成的数字

排序测试文件.rar

4.48 KB, 下载次数: 6

回复

使用道具 举报

发表于 2013-3-27 15:56 | 显示全部楼层
gdgmwhs 发表于 2013-3-27 15:18
1~7位由0123456789组成的数字
  1. Sub TONGJI()
  2.     Dim Arr_Source
  3.     Dim Arr_Target(1 To 10)
  4.     Dim i%, j%, k%, Trg$
  5.     Dim D As Object
  6.     Set D = CreateObject("Scripting.Dictionary")

  7.     Arr_Source = Sheets(1).Range("a1").CurrentRegion
  8.     For i = 1 To UBound(Arr_Source)
  9.         For j = 1 To UBound(Arr_Source, 2)
  10.             For k = 1 To Len(Arr_Source(i, j))
  11.                 D(Mid(Arr_Source(i, j), k, 1)) = D(Mid(Arr_Source(i, j), k, 1)) + 1
  12.             Next
  13.         Next
  14.     Next
  15.     For i = 0 To 9
  16.         D(i & "") = D(i & "") * 10 + i
  17.     Next
  18.     For i = 1 To 10
  19.         Arr_Target(i) = VBA.Right(WorksheetFunction.Small(D.items, i), 1)
  20.     Next
  21.     Trg = Join(Arr_Target, "")
  22.     Sheets(1).Range("F11") = Trg
  23. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-3-28 09:55 | 显示全部楼层
本帖最后由 gdgmwhs 于 2013-3-28 10:12 编辑
cbg2008 发表于 2013-3-27 15:56


谢谢了!可以算了。但有个问题,我在一个表中要固定选择一部分来计算,比如要选择A1:D6算一个,放在E6,A7:D11又算一个,放在E11,我又怎么做好呢?其实我在一个表要算好几个这样的排序。设好后,我去更换计算样本,排序结果能自动算出来最好。
回复

使用道具 举报

发表于 2013-3-28 10:18 | 显示全部楼层
gdgmwhs 发表于 2013-3-28 09:55
谢谢了!可以算了。但有个问题,我在一个表中要固定选择一部分来计算,比如要选择A1:D6算一个,放在E6 ...

你要把话一次说完,不能这样做完了新加条件
回复

使用道具 举报

 楼主| 发表于 2013-3-28 15:24 | 显示全部楼层
cbg2008 发表于 2013-3-28 10:18
你要把话一次说完,不能这样做完了新加条件

是我想得不周到,现在要求描述完了,谢谢!
回复

使用道具 举报

发表于 2013-3-28 16:27 | 显示全部楼层    本楼为最佳答案   
gdgmwhs 发表于 2013-3-28 15:24
是我想得不周到,现在要求描述完了,谢谢!

排序测试文件.rar (9.99 KB, 下载次数: 72)
回复

使用道具 举报

 楼主| 发表于 2013-3-29 08:51 | 显示全部楼层
cbg2008 发表于 2013-3-28 16:27

我用了,太好用了,就是高手,太谢谢你了!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 21:58 , Processed in 0.305300 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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