楼主 xyh9999 |
一、用VBA法求一个字符串中包含另一个字符串的个数:
二、用工作表函数法求一个字符串中包含另一个字符串的个数:
ET发贴20100802B.rar |
2楼 xyh9999 |
辛苦版主了,我不太会用后,以后要有什么不规范的还请您多多包函. |
3楼 gouweicao78 |
公式的:
|
4楼 liuguansky |
两种方法得到的结果对重复文本默认设置是一样的: 比如查找aa在"?*aaaa*?"这样的文本中,两种方法的结果均只为2. 如果这个自定义函数能增加一个变量来设置是否对重复值的运算采用逐文本<即此例结果为3>还是舍文本<即例结果为2>判断就好了。 |
5楼 xyh9999 |
哈哈,没看太明白. |
6楼 xyh9999 |
那个逐文本的要求是不是附件中的这个意思? Lqc20100802B逐文本与否.rar |
7楼 xyh9999 |
哈哈,在VBA中用Range("B6")=""来判断B6是否为空比用Len(Range("B6"))=0来判断B6是否为空所用的时间更长,在工作表函数中还不知道 =IF(B6="",0,(LEN(C6)-LEN(SUBSTITUTE(C6,B6,"")))/LEN(B6)) 与 =IF(LEN(B6)=0,0,(LEN(C6)-LEN(SUBSTITUTE(C6,B6,"")))/LEN(B6)) 哪个运行时间更长,我还没学会怎么来测试。 |
8楼 hyl_2010 |
Public Function 计数(r As Range, rr As Range) ' m = r.Value i = rr.Value For c = 1 To Len(i) If InStr(m, Mid(i, c, 1)) Then c1 = c1 + 1 End If Next 计数 = c1 End Function |