EXCEL如何用VBA统计符合条件的数字的个数,重复的不计算。急求谢谢!

首先定位到A列最后一行有“提取”这两个字的这一行,然后统计有这两个字的下一行的数字。重复的不计算,统计结果如右边黄色框内。如图要求那样。就是要解决三个问题:1、定位到A列... 首先定位到A列最后一行有“提取”这两个字的这一行,然后统计有这两个字的下一行的数字。重复的不计算,统计结果如右边黄色框内。如图要求那样。
就是要解决三个问题:1、定位到A列有字符的倒数第四行,关键字:A列有字符的倒数第四行。然后倒数第四行有“提取”二字,符合统计要求。数据不会只有三行,会有很多行。然后倒数第四行如何没有提取二字的话,则不处理。2、符合统计要求的统计它的下一行内容。只统计【】里的数字。3、统计的数字去重,只要求一次。谢谢了。急求!

这是我问的第四条了,到现在还没有一个能用的答案。。。我也很崩溃啊。。。
展开
 我来答
ExcelPower
2017-05-15 · 专业Excel公式图表数据分析VBA
ExcelPower
采纳数:4495 获赞数:11863

向TA提问 私信TA
展开全部

我的回答 被百度 坑了

=COUNTIF(OFFSET($A$1,MATCH("座",A:A)-4,,),"*提取*") *COUNTIF(OFFSET($A$1,MATCH("座",A:A)-3,,),"*【*"&B7&"*】*")-COUNTIF(OFFSET($A$1,MATCH("座",A:A)-4,,),"*提取*") *COUNTIF(OFFSET($A$1,MATCH("座",A:A)-3,,),"*】*"&B7&"*【*")

更多追问追答
追问
我试过你这条,没有用,不准确
追答

一般 写 个要收费的

Sub cal()
Set reg = CreateObject("vbscript.regexp")
Set dic = CreateObject("scripting.dictionary")
r = [a65536].End(xlUp).Row
If Cells(r - 3, "A") Like "*提取*" Then
  With reg
    .Pattern = "\【\d+\】"
    .Global = True
   If .test(Cells(r - 2, "a")) = True Then
     Set brr = .Execute(Cells(r - 2, "a").Text)
        For Each b In brr
         For n = 1 To Len(b)
          dic(Mid(b, n, 1)) = 1
        Next
      Next
   End If
  End With
End If
  Dim arr(1 To 10, 1 To 2)
   For i = 1 To 10
    arr(i, 1) = CStr(i - 1)
    If dic.exists(arr(i, 1)) Then arr(i, 2) = dic(arr(i, 1))
   Next
  [c4].Resize(10, 2) = arr
End Sub

cfzzj007
2017-05-15 · TA获得超过5365个赞
知道大有可为答主
回答量:7931
采纳率:78%
帮助的人:1547万
展开全部
倒数第四行,如果数据只有三行,怎么办?倒数第四行没有“提取”二字,如何处理?
更多追问追答
追问
数据不会只有三行,会有很多行。然后倒数第四行如何没有提取二字的话,则不处理。
追答
你的数据中间是不是有空行?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式