[操作技巧]如何判断一字符串在另一字符串出现的次数
(本技巧原创人:YBIL)
有时用户会需要判断某列的内容在另一列出现的次数,其实,我们利用Len函数和Substitute函数就可以实现;
请看下面的例子:
egd文件下载
公式解析:
表中[次数列]设置了这样的刷新公式:(Len([A])-Len(Substitute([A],[b],"")))/Len([b]),在解析这个公式之前,我们应该先了解Len函数和Substitute函数的功能:
Len函数:返回字符串的长度;
Substitute函数:在文本字符串中以新字符替换旧字符;
我们一步步分解上面的公式:
● Len([A]):返回当前行[A]中的字符串的长度;
(注释:假设[A]列内容为:aasdfggrwwqefgfh,那么这部分的公式的结果为“16”。)
● Substitute([A],[b],""):将[A]列中的字符串内出现的[b]列的内容用空白代替;
(注释:其实,可以理解为相当于删除了[A]列中包含的[B]列的内容;比如:[A]列内容为:aasdfggrwwqefgfh,[B]列内容为:f,那么这部分公式的结果为“aasdggrwwqegh”,大家注意看一下,实际上相当于删除了f。)
● Len(Substitute([A],[b],"")):返回删除了[A]里中字符串包含的[b]列的内容后的字符串的长度;
(注释:假设[A]、[B]列内容分别为:aasdfggrwwqefgfh、f,那么这部分的公式的结果为“13”。)
● Len([b]):返回当前行[b]中的字符串的长度;
(注释:假设[B]列内容为:f,那么这部分的公式的结果为“1”。)
¤ 综合一下上面的公式,实际上就是:(16-13)/1=3;
¤ 之所以要除以Len([b])就是考虑到[b]列不为单个字母的情况,比如演示文件中的第二行;