Excel精英培训网

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

[已解决]如何统计数组中的指定字符的个数

[复制链接]
发表于 2010-11-29 18:26 | 显示全部楼层 |阅读模式

l7JgAEiU.rar (6.65 KB, 下载次数: 12)

发表于 2010-11-29 18:38 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2010-11-29 18:45 | 显示全部楼层
回复

使用道具 举报

发表于 2010-11-29 19:03 | 显示全部楼层

可调用工作表函数countif或遍历计数吧
回复

使用道具 举报

发表于 2010-11-29 19:34 | 显示全部楼层

可参考filter的用法。

当然循环计数也不错

回复

使用道具 举报

发表于 2010-11-29 21:02 | 显示全部楼层

数组+字典 基本无视运算时间呢

回复

使用道具 举报

发表于 2010-11-30 09:55 | 显示全部楼层    本楼为最佳答案   

按前面几位老师的思路做的,抛砖引玉。

Sub 单击()
Dim arr, i&, j&, s&
arr = Cells(1, 1).CurrentRegion.Value
s = 0
For i = 1 To UBound(arr, 1)
  For j = 1 To UBound(arr, 2)
    If arr(i, j) = "正常" Then
      s = s + 1
    End If
Next j, i
MsgBox "共有正常个数为:" & s
End Sub
Sub 单击1()
  MsgBox "共有正常个数为:" & Application.WorksheetFunction.CountIf(Cells(1, 1).CurrentRegion, "正常")
End Sub
Sub 单击2()
Dim arr, i&, arrt, s&
arr = Cells(1, 1).CurrentRegion.Value
s = 0
For i = 1 To UBound(arr, 2)
  arrt = Filter(Application.Transpose(Application.Index(arr, , i)), "正常")
  s = s + UBound(arrt) + 1
Next i
MsgBox "共有正常个数为:" & s
End Sub
Sub 单击3()
Dim arr, i&, j&, dic
Set dic = CreateObject("scripting.dictionary")
arr = Cells(1, 1).CurrentRegion.Value
For i = 1 To UBound(arr, 1)
  For j = 1 To UBound(arr, 2)
    If arr(i, j) <> "" Then
      If dic.exists(arr(i, j)) Then
        dic(arr(i, j)) = dic(arr(i, j)) + 1
        Else: dic.Add arr(i, j), 1
      End If
    End If
Next j, i
If dic.exists("正常") Then
  MsgBox "共有正常个数为:" & dic("正常")
  Else: MsgBox "未找到正常记录"
End If
Set dic = Nothing
End Sub
RVQg0ckD.rar (11.12 KB, 下载次数: 48)
回复

使用道具 举报

发表于 2010-11-30 11:08 | 显示全部楼层

Sub 单击()
    Dim arr, arr1(), i%, j%
    arr = Range("a1").CurrentRegion
    ReDim arr1(1 To UBound(arr), 1 To 2)
    For i = 1 To UBound(arr)
        For j = 1 To UBound(arr, 2)
            If arr(i, j) = "正常" Then
                arr1(i, 2) = arr1(i, 2) + 1
            End If
            arr1(i, 1) = "本行正常单元格个数:"
        Next
    Next
    Range("i1").Resize(UBound(arr), 2) = arr1
End Sub
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 05:42 , Processed in 0.318311 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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