Excel精英培训网

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

[已解决]矩阵忽略空值

[复制链接]
发表于 2015-3-22 18:37 | 显示全部楼层 |阅读模式
本帖最后由 张雄友 于 2015-3-23 18:24 编辑

矩阵忽略空值,不是在一列中选取,而是在一个矩阵中选取。
最佳答案
2015-3-23 07:17
  1. Dim arr, brr, w, n%, s&, s2&
  2. Sub 忽略空值排列()
  3. Dim i&, j%
  4. arr = [b2:d7]: n = 6: s2 = 0: s = 0
  5. ReDim brr(1 To 60000, 1 To 6)
  6. ReDim w(1 To UBound(arr) * UBound(arr, 2))
  7. For j = 1 To UBound(arr, 2)
  8.     For i = 1 To UBound(arr)
  9.         If arr(i, j) <> "" Then s = s + 1: w(s) = arr(i, j)
  10.     Next
  11. Next
  12. pl "", 0, 0
  13. [g2:l65536].ClearContents
  14. Range("g2").Resize(s2, n) = brr
  15. End Sub
  16. Sub pl(p, t, t2)
  17. If t = n Then
  18.     s2 = s2 + 1
  19.     x = Split(Mid(p, 2), ",")
  20.     For j = 0 To UBound(x)
  21.         brr(s2, j + 1) = x(j)
  22.     Next
  23. Else
  24.     For i = 1 To s
  25.         If t2 < i Then pl p & "," & w(i), t + 1, i
  26.     Next
  27. End If
  28. End Sub
复制代码

矩阵忽略空值.rar

12.08 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-3-23 07:17 | 显示全部楼层    本楼为最佳答案   
  1. Dim arr, brr, w, n%, s&, s2&
  2. Sub 忽略空值排列()
  3. Dim i&, j%
  4. arr = [b2:d7]: n = 6: s2 = 0: s = 0
  5. ReDim brr(1 To 60000, 1 To 6)
  6. ReDim w(1 To UBound(arr) * UBound(arr, 2))
  7. For j = 1 To UBound(arr, 2)
  8.     For i = 1 To UBound(arr)
  9.         If arr(i, j) <> "" Then s = s + 1: w(s) = arr(i, j)
  10.     Next
  11. Next
  12. pl "", 0, 0
  13. [g2:l65536].ClearContents
  14. Range("g2").Resize(s2, n) = brr
  15. End Sub
  16. Sub pl(p, t, t2)
  17. If t = n Then
  18.     s2 = s2 + 1
  19.     x = Split(Mid(p, 2), ",")
  20.     For j = 0 To UBound(x)
  21.         brr(s2, j + 1) = x(j)
  22.     Next
  23. Else
  24.     For i = 1 To s
  25.         If t2 < i Then pl p & "," & w(i), t + 1, i
  26.     Next
  27. End If
  28. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-3-23 07:34 | 显示全部楼层
dsmch 发表于 2015-3-23 07:17

http://www.excelpx.com/forum.php ... id%3D256&page=2

比11 楼的速度慢了些,不同算法?

矩阵忽略空值.rar

14.67 KB, 下载次数: 3

点评

两者风马牛不相及,一是随机抽取随机数,一是排列  发表于 2015-3-23 14:57
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 08:57 , Processed in 0.458355 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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