Excel精英培训网

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

[已解决]请帮助解决《查询整数范围》问题

[复制链接]
发表于 2013-1-2 15:21 | 显示全部楼层 |阅读模式
请帮助解决《查询整数范围》问题,谢谢!
查询整数范围.rar (13.71 KB, 下载次数: 15)
发表于 2013-1-2 20:57 | 显示全部楼层
本帖最后由 hoogle 于 2013-1-2 21:04 编辑

查询整数范围.zip (23.27 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2013-1-2 21:50 | 显示全部楼层    本楼为最佳答案   

耗时小于1S

本帖最后由 suye1010 于 2013-1-3 12:04 编辑

  1. <P>Sub Test()
  2. Dim d0, d1, i As Integer, j As Integer, k As Integer, l As Integer, arr, arr1(1 To 13, 1 To 6), ToNo, KC, t
  3. t = Timer
  4. On Error Resume Next
  5. arr = Range("F3:F" & Range("F65536").End(xlUp).Row)
  6. Set d0 = CreateObject("Scripting.Dictionary")
  7. Set d1 = CreateObject("Scripting.Dictionary")
  8. For j = 3 To 15
  9.     For i = 1 To UBound(arr) - j + 1
  10.         ToNo = 0
  11.         For l = 1 To j
  12.             ToNo = ToNo + arr(i + l - 1, 1)
  13.         Next l
  14.         temp = Round(IIf(ToNo / j >= 1, ToNo / j, 0), 0)
  15.                 d0(temp) = d0(temp) + 1
  16.     Next i
  17.     For Each KC In d0.Keys
  18.         d1.Add d0(KC) * 100 + KC, IIf(KC, "'" & KC - 1 & "-" & KC + 1, "'0-1")
  19.     Next
  20.     For k = 1 To 3
  21.         arr1(j - 2, 2 * k - 1) = d1(Application.Large(d1.Keys, k))
  22.         arr1(j - 2, 2 * k) = Application.Large(d1.Keys, k) \ 100
  23.     Next k
  24.     d0.RemoveAll
  25.     d1.RemoveAll
  26. Next j
  27. Cells(5, "Q").Resize(13, 6) = arr1
  28. MsgBox "总共耗时" & Timer - t & "s", vbInformation + vbOKOnly
  29. End Sub
  30. </P>
复制代码
查询整数范围-1.rar (25.41 KB, 下载次数: 3, 售价: 1 个金币)
回复

使用道具 举报

 楼主| 发表于 2013-1-2 22:33 | 显示全部楼层
suye1010 发表于 2013-1-2 21:50

妙,太好了,非常感谢suye1010 老师,再请教一下老师,能否加上各整数范围的次数,请老师费心了。
最好再加上次数.JPG

点评

已在原贴进行更新,请查看  发表于 2013-1-2 22:50
回复

使用道具 举报

 楼主| 发表于 2013-1-2 23:26 | 显示全部楼层
suye1010 发表于 2013-1-2 21:50

suye1010老师,可能是我没有说清楚,还是有点问题,请老师再看一下,修改了一下附件。
原来500多行不易看清楚,现在我改为11行,便于看的清楚,但实际用起来还是要500多行。
查询整数范围-1.rar (24.82 KB, 下载次数: 2)
回复

使用道具 举报

 楼主| 发表于 2013-1-3 12:01 | 显示全部楼层
suye1010 发表于 2013-1-2 21:50

非常好,感谢 suye1010 老师。
回复

使用道具 举报

 楼主| 发表于 2013-1-3 12:05 | 显示全部楼层
hoogle 发表于 2013-1-2 20:57

谢谢hoogle老师。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 04:31 , Processed in 0.601945 second(s), 18 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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