Excel精英培训网

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

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

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

QUOTE:
以下是引用爱疯在2010-3-24 13:37:00的发言:


Function cf(rng As Range, x)
    Dim r, s

    For Each r In rng
        If r = x Then
            r = x
            s = s + 1
        End If
    Next
    cf = s
End Function

显然,只能达到countif的很少部分功能。问题是,你干嘛要研究这个,在有现成的countfi时 ....

[em11]

我是想知道如何去判断各种条件.这个代码只能在等于的时候才生效,我想知道更多种类的条件处理的方法.

工作中是有些能用的到,想自定义一个函数,虽然工作里也只是用到"等于",可是想做的完善些.

回复

使用道具 举报

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

不如看看你的实际问题?

这么归纳,心都碎了

[em19]
回复

使用道具 举报

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

使用道具 举报

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

aok1waGV.rar (5.53 KB, 下载次数: 4)
回复

使用道具 举报

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

附件中的问题,能解决的话应该就离答案不远了
回复

使用道具 举报

发表于 2010-3-24 15:08 | 显示全部楼层

你的问题,是不是说,当>、<、>= 。。。。。。等各种情况时,都要可以?
回复

使用道具 举报

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

QUOTE:
以下是引用爱疯在2010-3-24 15:08:00的发言:
你的问题,是不是说,当>、<、>= 。。。。。。等各种情况时,都要可以?

对的,而且我希望是一种算法就可以搞定,类似于宏表函数中的Execute,可又要强于Execute,因为不输入"等于号"的时候还要自动能判断为"等于号",并且还得能支持通配符.

不知道源码中是否是用很简单的方法搞定的..或者是逐一判断?我不相信要逐一判断...太麻烦

回复

使用道具 举报

发表于 2010-3-24 15:16 | 显示全部楼层

想到一个绝招(我不会) --- 用个


Function myFunction(Rng As Range, Str As String)

    Call tmp(rng2, str2) '建造临时函数
   
    'myFunction=求出要的值
   
    '删除tmp
   
End Function

回复

使用道具 举报

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

这个tmp,是你用代码生成的,

第1行如何如何,

第2行如何如何,

...

第n行如何如何。

写完,求出结果。最后删除它。

 

[em04]
回复

使用道具 举报

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

有没有感到 。。。。。光明?

[em04]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-6 10:06 , Processed in 0.267842 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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