用于在 Excel 中计算文本、字符和单词出现次数的公式说明

摘要

本文包含并描述了计算以下内容的公式:

  • 文本字符串在单元格区域中出现的次数。
  • 字符在一个单元格中出现的次数。
  • 字符在单元格区域中出现的次数。
  • 单元格中由字符分隔的单词(或文本字符串)的数量。

更多信息

用于计算文本字符串在某个区域内出现次数的公式

=SUM(LEN(range)-LEN(SUBSTITUTE(range,"text","")))/LEN("text")

其中,range 是所论的单元格区域,“text”将替换为要计数的特定文本字符串。

注意

上述公式必须作为数组公式输入。 若要在 Excel for Windows 中以数组形式输入公式,请按 CTRL+SHIFT+ENTER。 若要在 Excel for Macintosh 中以数组形式输入公式,请按 COMMAND+RETURN。

公式必须除以文本字符串的长度,因为区域的字符长度的总和将按文本字符串出现次数的倍数减少。 除了用于计算单元格中单词数的公式之外,此公式可以替换本文后面的所有其他公式。

示例 1:计算文本字符串在某个区域中出现的次数

  1. 启动 Excel,然后打开一个新工作簿。

  2. 在 sheet1 上键入以下内容:

    A1: Fruit
    A2: apple,apple
    A3: orange
    A4: apple,orange
    A5: grape
    A6: orange,grape
    A7: grape, apple
    A8: =SUM(LEN(A2:A7)-LEN(SUBSTITUTE(A2:A7,"apple","")))/LEN("apple")
    

    单元格 A8 的值为 4,因为文本“apple”在区域内出现四次。

用于计算单个字符在一个单元格中出现次数的公式

=LEN(cell_ref)-LEN(SUBSTITUTE(cell_ref,"a",""))

其中 cell_ref 为单元格引用,“a”将替换为要计数的字符。

注意

此公式不需要作为数组公式输入。

示例 2:计算字符在一个单元格中出现的次数

使用上例中的相同数据;假设你要计算字符“p”在 A7 中出现的次数。 在单元格 A9 中键入以下公式:

A9: =LEN(A7)-LEN(SUBSTITUTE(A7,"p",""))

单元格 A9 的值为 3,因为字符 “p” 在 A7 中出现三次。

计算单个字符在某个区域内出现次数的公式

=SUM(LEN(range)-LEN(SUBSTITUTE(range,"a","")))

其中,range 是所论的单元格区域,“a”将替换为要计数的字符。

注意

上述公式必须作为数组公式输入。 若要在 Excel 中以数组公式的形式输入公式,请按 CTRL+SHIFT+ENTER。

示例 3:计算字符在区域内出现的次数

使用上例中的相同数据;假设你要计算字符“p”在 A2:A7 中出现的次数。 在单元格 A10 中键入以下公式:

A10: =SUM(LEN(A2:A7)-LEN(SUBSTITUTE(A2:A7,"p","")))

注意

上述公式必须作为数组公式输入。 若要在 Excel 中以数组公式的形式输入公式,请按 CTRL+SHIFT+ENTER。

单元格 A10 的值为 11,因为字符 “p” 在 A2:A7 中出现 11 次。

用于计算单元格中由字符分隔的单词数的公式

=IF(LEN(TRIM(cell_ref))=0,0,LEN(cell_ref)-LEN(SUBSTITUTE(cell_ref,char,""))+1)

其中,cell_ref 是单元格引用,char 是分隔单词的字符。

注意

上述公式中没有空格;使用多行仅为了使公式适合本文档。 在单元格中键入时,不要包含任何空格。 此公式不需要作为数组公式输入。

示例 4:计算单元格中用空格分隔的单词数

若要计算单元格中由空格字符分隔的单词数,请执行以下步骤:

  1. 启动 Excel,然后打开一个新工作簿。

  2. 在 sheet1 上键入以下内容:

    A1: The car drove fast
    A2: =IF(LEN(TRIM(A1))=0,0,LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1)
    

单元格 A2 中的公式返回值 4,以反映字符串包含四个以空格分隔的单词。 单词是否由多个空格分隔或者单词是否以空格开头或结尾并不重要。 TRIM 函数将删除单元格文本中的多余空格字符以及开头和结尾空格字符。

在 Excel 中,还可以使用宏计算特定字符在单元格或单元格区域中出现的次数。

参考

有关计算文本出现次数的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

89794 如何使用 Visual Basic for Applications 计算字符在 Excel 的选定区域中出现的次数