ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4219|回复: 16

[求助] 统计组合(重复)次数

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-4-30 17:46 | 显示全部楼层 |阅读模式
某区域同行都有3个个位数字,将其两两组合后,统计整个区域各组合出现次数。
统计组合次数.rar (10.67 KB, 下载次数: 77)
(用函数无法直接得到,只有求助VBA解决)

谢谢先!

TA的精华主题

TA的得分主题

发表于 2011-4-30 20:37 | 显示全部楼层
此题不错,谢谢提供!
函数可以做到
请见附件参考表!
公式修改下(原公式调整了第二参数后,不必加substitute函数了)
TEXT(SMALL(IF(FREQUENCY(SMALL(MMULT(--RIGHT(SMALL($B$3:$D$20+ROW($1:$18)*100,COLUMN($A:$C)+3*(ROW($1:$18)-1))),{10,10,0;1,0,10;0,1,1}),ROW($1:$54)),ROW($1:$98))=$A28,ROW($1:$99),4^8),COLUMN(A1)),"[>100]! ;[<100]00;;")

[ 本帖最后由 angellbxsc 于 2011-5-1 01:22 编辑 ]

统计组合次数(函数版).rar

14.23 KB, 下载次数: 99

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-4-30 21:16 | 显示全部楼层

回复 2楼 angellbxsc 的帖子

真是佩服至致I
天外天,人外人!!!
没想到现在函数运用这么好,开眼了!

谢谢angellbxsc 先生!

TA的精华主题

TA的得分主题

发表于 2011-4-30 21:37 | 显示全部楼层
呵呵,言过了!
只是我不会VBA,这方面帮不了你!
以后如学习的话,还要多讨教!

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-1 01:01 | 显示全部楼层
见识angellbxsc 先生的精妙公式,也很想见识一下迅捷VB方法。
不知路过的高手可否出招。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-1 10:25 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-1 10:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这是我在网上搜得的一段程序代码,几经改动也无法得到一楼全部诉求。
(只是可以得到数据结果,但无法将数据按要求排列)
排置统计结果.rar (19.76 KB, 下载次数: 31)

希望能有幸得到高人惠顾指点!

[ 本帖最后由 yyhhhbb 于 2011-5-1 10:43 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-5-1 11:12 | 显示全部楼层
  1. Sub yy()
  2. Dim Arr, i&, Brr, Arr1, aa
  3. Dim d, k, t, Crr(1 To 4)
  4. Arr = [c4].CurrentRegion
  5. [o4:ca7].ClearContents
  6. ReDim Brr(1 To UBound(Arr), 1 To 3)
  7. For i = 1 To UBound(Arr)
  8.     mx = Application.Max(Application.Index(Arr, i, 0))
  9.     mn = Application.Small(Application.Index(Arr, i, 0), 1)
  10.     de = Application.Small(Application.Index(Arr, i, 0), 2)
  11.     Brr(i, 1) = Format(mn & de, "00")
  12.     Brr(i, 2) = Format(mn & mx, "00")
  13.     Brr(i, 3) = Format(de & mx, "00")
  14. Next
  15. Set d = CreateObject("Scripting.Dictionary")
  16. For Each ar In Brr
  17.     d(ar) = d(ar) + 1
  18. Next
  19. k = d.keys
  20. t = d.items
  21. For i = 0 To UBound(k)
  22.     Select Case t(i)
  23.         Case 4
  24.             Crr(1) = Crr(1) & k(i) & ","
  25.         Case 3
  26.             Crr(2) = Crr(2) & k(i) & ","
  27.         Case 2
  28.             Crr(3) = Crr(3) & k(i) & ","
  29.         Case 1
  30.             Crr(4) = Crr(4) & k(i) & ","
  31.     End Select
  32. Next
  33. For i = 1 To 4
  34.     If InStr(Crr(i), ",") Then
  35.         Crr(i) = Left(Crr(i), Len(Crr(i)) - 1)
  36.         If InStr(Crr(i), ",") Then
  37.             aa = Split(Crr(i), ",")
  38.             Cells(i + 3, 15).Resize(1, UBound(aa) + 1) = aa
  39.             Cells(i + 3, 15).Resize(1, UBound(aa) + 1).Sort Key1:=Cells(i + 3, 15), Order1:=xlAscending, Header:=xlGuess, _
  40.                 OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
  41.                 :=xlPinYin, DataOption1:=xlSortTextAsNumbers
  42.         Else
  43.             Cells(i + 3, 15) = Crr(i)
  44.         End If
  45.     End If
  46. Next
  47. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2011-5-1 11:14 | 显示全部楼层
请见附件。

统计0501.rar

13.29 KB, 下载次数: 96

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-1 12:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 9楼 蓝桥玄霜 的帖子

原帖也是你写的。
又见蓝桥老师出手,喜出望外!!!
学了这么久的VBA,此等简单的问题还要求助真是惭愧。

无法形容的感激!
顺祝蓝桥老师节日愉快!!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-12 07:55 , Processed in 0.051445 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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