Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: Dj_soo

[已解决]Countif如果用自定义代码写..

[复制链接]
 楼主| 发表于 2010-3-24 16:35 | 显示全部楼层

QUOTE:
以下是引用上清宫主在2010-3-24 16:31:00的发言:

发现了。

看来得要判断cer是否为单元格,有没有这个函数呢?[em04]

嗯,实际上不是因为单元格的问题,是String整个类型的内部矛盾(如写作"a"这样代替单元格内容也是不行..)

这样的话,判断第二个参数中前面的字符是否为逻辑运算符应该是最重要的了.

而我现在也只能想到循环,可是一个函数光是判断参数就要循环我真有点接受不了.

回复

使用道具 举报

发表于 2010-3-24 17:22 | 显示全部楼层

高手们不是说,必要的时候,还是要用工作表函数吗?

苦海无边。。。

[em04]
回复

使用道具 举报

发表于 2010-3-24 18:03 | 显示全部楼层
回复

使用道具 举报

发表于 2010-3-24 18:37 | 显示全部楼层    本楼为最佳答案   

我不知道countig还有什么样的功能,先看看是不是这个意思

Mb7PjW9h.rar (7.01 KB, 下载次数: 8)

回复

使用道具 举报

发表于 2010-3-24 19:36 | 显示全部楼层

学习枯禅,

原来苦海不大

[em04]
回复

使用道具 举报

 楼主| 发表于 2010-3-24 20:22 | 显示全部楼层

谢谢枯禅,这种判断方式相当不错,另外个人感觉要对arr里的东西进行判断,等有时间我整理出来和大家交流下..
回复

使用道具 举报

发表于 2010-3-24 20:23 | 显示全部楼层

向枯禅学习!

同时再请思考一下:=myFunction(A1:A33,"<>"&A1)是要出错的

回复

使用道具 举报

发表于 2010-3-24 21:18 | 显示全部楼层

QUOTE:
以下是引用上清宫主在2010-3-24 20:23:00的发言:

向枯禅学习!

同时再请思考一下:=myFunction(A1:A33,"<>"&A1)是要出错的

是有这个情况,重改了一下,估计问题还是不少,奇怪比尔是要用什么代码写的,不会也不那么多判断吧

U7bZvFbQ.rar (7.73 KB, 下载次数: 1)
回复

使用道具 举报

 楼主| 发表于 2010-3-26 09:06 | 显示全部楼层


Function myFunction(rng As range, cer)
    Dim c As range
    Dim cer1 As String
    cer1 = Replace(cer, "<>", "")
    Application.Volatile
    For Each c In rng
        If c.Value Like CStr(cer1) Then
            myFunction = myFunction + 1
        Else
            If Not IsError(Evaluate(c & cer1)) Then
                If Evaluate(c & cer1) = True And IsNumeric(c.Value) Then
                    myFunction = myFunction + 1
                End If
            End If
        End If
    Next
    If Len(cer1) <> Len(cer) Then myFunction = rng.Count - myFunction
End Function

最后整理了一下,我想了半天只有一个问题需要再小心处理,所以添加了蓝色部分的代码.

这句代码为了防止前面rng区域内有类似于">5"这样的字符串,在对比数字的时候会有误算.

回复

使用道具 举报

 楼主| 发表于 2010-3-26 09:14 | 显示全部楼层

63J4ictm.rar (7.47 KB, 下载次数: 1)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-6 14:57 , Processed in 0.510544 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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