EXCEL 数据统计问题
请看附件,若对问题有疑问,我会尽快在问题补充中说明,谢谢您的参与。
总算看明白你的意图了,你的这个要求用函数+辅助列的方式可以解决,不过随着条件的增多,要使用的辅助列也会增多,增加了复杂性,我试着给你准备了一个自定义函数,请按如下方法操作: 1、“Alt+F11”或者“工具--》宏--》Visual Basic编辑器”,打开VBA编辑环境 2、插入--》模块,然后双击左侧工程资源框的“模块1”,在右侧的代码编辑框里插入如下代码: Function pinlv(rngArea As Range, strQuery As String) Dim intDatas As Integer '定义数据总数 Dim strTemp As String '定义临时字符串 pinlv = 0 '初始化函数返回值 strTemp = "" '初始化临时字符串 intDatas = rngArea。
EntireRow。Count '获取数据总数 For i = 1 To intDatas '循环读取数据,构建临时字符串 strTemp = strTemp & rngArea。Cells(i, 1) Next Dim j As Integer '定义循环计数器 j = 1 '初始化循环计数器 With Application '在VBA中调用工作表中的字符串处理函数 Do While Not IsError(。
Find(。Rept(strQuery, j), strTemp)) '循环判断以1,0组合连续出现的最高频率 pinlv = pinlv + 1 '赋值给函数返回值 j = j + 1 '循环计数器 Loop End With End Function 3、完成后返回工作表中你想得到结果的地方像使用普通公式一样输入: =pinlv(A2:A51,"10") 结果为4 代码中我做了注释,应该很好理解,如果你要求“1,2,0”组合出现的频率,修改公式为“=pinlv(A2:A51,"120")”即可。
注意: 1、自定义函数利用字符串匹配的原理设计,如果数据中存在有大于等于10的数字,计算结果可能不正确; 2、感觉你的这个需要挺独特的,不知道准备用在什么地方,是不是有其他变通或者简易的方法,呵呵,解决问题的思路比方法和手段重要得多,我个人是这样认为的。
祝君好运~~。
不知是不是你所要的效果。详见表。
你要做到什么样的效果,请告知,真的打开后看起来特别的复杂
好复杂,会了教教我们!
可惜我打不开
答:总算看明白你的意图了,你的这个要求用函数+辅助列的方式可以解决,不过随着条件的增多,要使用的辅助列也会增多,增加了复杂性,我试着给你准备了一个自定义函数,请按如...详情>>
问:谁知道成都微恒网络技术有限公司推出的微恒MEM教务管理系统是怎么收费的啊
答:这个应该是 暂时不收费的 切记 。详情>>
问:用友软件用友软件请问老师:用友财务软件在电脑不和网络连接的情况下能正常安装使用吗...
答:是U8财务套装吗? U861可以单机使用. 安装过程中不需要网络. 使用过程中可能有组件用到网络,但是不联网照样能用。 如果单机使用的话,那你只能用SERVER...详情>>