分享

如何查找单元格内特定文本出现的次数

 EXCEL分享 2022-04-14

前言

EXCEL可以使用COUNTIF函数来计算某个区域中满足给定条件的单元格的数目。如下图所示:

A列是项目编号,B列是项目类型,右图为不同项目类型的数量统计。

E2 =COUNTIF($B$2:$B$9,E$1)

其中:

$B$2:$B$9为区域范围,采用了绝对引用。

E$1为给定的条件

拖动单元格右下角小黑点,向右即可复制到F2G2单元格。

正文

那么如何统计一个单元格内,特定文本出现的次数呢?

这里提供两种思路:

第一种思路:利用标准的公式,进行组合嵌套,如下图所示:

B2=(LEN($A$2)-LEN(SUBSTITUTE($A$2,B1,"")))/LEN(B1)

分别解释如下:

LEN($A$2):单元格字符的个数

SUBSTITUTE($A$2,B1,""):将单元格中要搜索的字符串替换成空值

LEN($A$2)-LEN(SUBSTITUTE($A$2,B1,"")):计算字符替换前后的个数差值,也就是替换之后少了多少个字符

(LEN($A$2)-LEN(SUBSTITUTE($A$2,B1,"")))/LEN(B1):差值再除以要查找的字符串的字符个数就是该字符串重复的次数。

第二种思路:自定义公式

ALT+F11,打开VBA编辑器,插入模块,在编辑窗口输入以下代码

Function FINDC(Target, Source)

k = 0

n = Len(Source)

m = Len(Target)

For i = 1 To n

If Mid(Source, i, m) = Target Then

k = k + 1

End If

Next

FINDC = k

End Function

回到EXCEL主界面,输入公式,就可以啦!

B2=findC(B$1,$A$2)

总结

这个公式非常简单,不过需要你自定义,要有一定的VBA 基础才行。学会VBA,你可以定义你想要的任何公式,再也不用嵌套了。你学会了吗?欢迎在下方留言!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多