爱问知识人 爱问教育 医院库

EXCEL 数据统计问题

首页

EXCEL 数据统计问题

请看附件,若对问题有疑问,我会尽快在问题补充中说明,谢谢您的参与。

请看附件,若对问题有……
提交回答
好评回答
  • 2007-09-02 14:24:12
      总算看明白你的意图了,你的这个要求用函数+辅助列的方式可以解决,不过随着条件的增多,要使用的辅助列也会增多,增加了复杂性,我试着给你准备了一个自定义函数,请按如下方法操作:
    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、感觉你的这个需要挺独特的,不知道准备用在什么地方,是不是有其他变通或者简易的方法,呵呵,解决问题的思路比方法和手段重要得多,我个人是这样认为的。
       祝君好运~~。

    è***

    2007-09-02 14:24:12

其他答案

类似问题

换一换
  • 办公软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):