在Excel中计算单元格是否包含文本(5种简单方法)

  • Share This
Hugh West

在这篇文章中,我将展示你如何能够 在Excel中,如果一个单元格包含文本,则计数。 我将告诉你如何计算包含文本的单元格数量,以及包含文本但包括或不包括特定文本值的单元格数量。

下载实践工作手册

如果单元格中含有文本则计数.xlsm

在Excel中计算单元格是否包含文本的5种简单方法

这里我们有一个数据集,其中有 名称 的一些客户和他们的 联系地址 一家名为向日葵幼儿园的公司。

今天,我们的目标是计算在联系地址中,有多少地址是 电子邮件 地址。

这意味着如果一个地址是一个文本,而不是一个数字,我们将计算它。

1.在Excel中使用COUNTIF函数来计算单元格是否包含文本

你可以使用 COUNTIF功能 的Excel来计算包含文本的单元格的数量。

为了实现这一目标,使用一个 星号符号 (*) 作为 标准 的。 COUNTIF 功能 .

因此,计算总数的公式为 电子邮件 地址将是。

=countif(c4:c13, "*")

[ 这里 C4:C13 是我的联系地址范围,你可以根据你的需要插入] 。

看,它已经计算了文本地址的总数,也就是。 电子邮件 地址。

其结果是 7 .

阅读全文:如何在Excel中用不同的文本计算单元格(5种方法)

2.结合ISTEXT和SUMPRODUCT函数计算Excel中单元格是否包含文本

你也可以使用一个组合的 ISTEXT功能 SUMPRODUCT函数 计算细胞 含有Excel中的文本值。

要计算的数量 电子邮件 地址的方式,选择你的数据集中的任何单元格,并输入这个公式。

=sumproduct(--istext(c4:c13))

[ 这里 C4:C13 是我的联系地址范围,你可以根据你的需要插入] 。

看,我们再次成功地计算了文本地址的数量。 而这是 7 .

⧪ 公式的解释。

  • ISTEXT(C4:C13) 检查范围内的每个单元格 C4:C13 并返回一个 为真 如果该单元格包含一个文本,则返回一个 失败 .
  • 因此 ISTEXT(C4:C13) 返回一个布尔值的数组。 为真 失败 .
  • -istext(c4:c13) 转换了由 ISTEXT功能 变成一个1和0的数组。
  • 它转换了 为真 进入 1 失败 进入 0 .
  • 最后, SUMPRODUCT函数 返回总范围的总和,也就是说,它返回范围内1的数量。
  • 因此,该公式返回在该范围内包含文本值的单元格的数量。

3.在Excel中使用COUNTIF函数来计算单元格中是否包含特定的文本

到目前为止,我们已经计算了包含文本地址的单元格的数量,也就是。 电子邮件 地址。

你也可以使用 COUNTIF功能 计算包含文本值的单元格的数量,包括一个特定的文本。

例如,让我们试着计算一下使用的客户数量 Gmail 地址 .

为了实现这一目标,我们必须计算包含字符串的单元格的数量 "gmail" 在他们之中。

很简单,只要把文字包起来就行了 "gmail" 在一个 星号符号(*)。 内的 COUNTIF功能 作为 标准 .

该公式将是。

=COUNTIF(C4:C13,"*gmail*")

⧪ 备注。

  • 这里 C4:C13 是我的联系地址的范围。
  • 而且 "gmail" 是我们正在寻找的具体文本。
  • 你根据你的需要插入这些。

看,它已经成功地计算出了含有的细胞总数 Gmail 地址 .

而且它是 4 .

⧪ 公式的解释。

  • 这里的标准是 COUNTIF功能 "*gmail*" 它计算所有具有文本值的字符串。 "gmail" 在里面。
  • 因此。 COUNTIF(C4:C13, "*gmail*") 计算范围内的所有单元格 C4:C13 包含文本的 "gmail" .

阅读更多。 如何在Excel中计算一列中的特定字数(2种方法)

4.在Excel中使用COUNTIFS函数来计算单元格中是否包含不包括特定文本的文本

在上一节中,我们试图计算包含文本值的单元格的数量,包括一个特定的文本。

我们还可以计算包含不包括特定文本的单元格的数量。

你必须使用 COUNTIFS功能 而不是 COUNTIF 功能 对于这一点。

例如,让我们试着计算包含以下内容的单元格的数量 电子邮件 地址,但不是 Gmail 地址。

在这里,我们要计算包含文本值的单元格的数量,其中不包括字符串 "Gmail" .

选择任何合适的单元格并输入这个公式。

=COUNTIFS(C4:C13,"*",C4:C13,"*gmail*")

⧪ 废物。

  • 这里 C4:C13 是我的联系地址的范围。
  • 而且 "gmail" 是我们要排除的特定文本。
  • 你根据你的需要插入这些。

看,我们再次成功统计了 电子邮件 不是的地址 Gmail 地址。

它是 3 .

⧪ 公式的解释。

  • ǞǞǞ COUNTIFS 功能 首先计算所有保持第一条标准的单元格。
  • 然后它计算所有保持第二条标准的单元格,以此类推。
  • 这里,它首先计算范围内的所有单元格 C4:C13 属于文本值的( "*" ).
  • 然后,它再次计算所有不包括文本的单元格 "gmail" ( "*gmail*" ). 这里 "*gmail*" 表示 不等于 "*gmail* " .
  • 因此,该公式计算了所有包含文本值的单元格,但不包括 "gmail" .

5.运行VBA代码,同时完成所有任务

到目前为止,我们已经分别执行了四项任务。

  1. 计算包含文本的单元格的数量
  2. 然后计算不含文本的单元格的数量
  3. 计算包含文本但包括特定文本的单元格的数量
  4. 同时计算包含文本但不包括特定文本的单元格的数量

现在,我们将制定一个 宏观 使用一个 VBA代码 可以同时执行所有四项任务。

⧪ 步骤1。

新闻 ALT+F11 在你的键盘上。 VBA 窗口 将打开。

⧪ 步骤2。

转到 插入 中的选项卡。 VBA 窗口。

从可用的选项中,选择 模块 .

⧪ 步骤3。

一个新的模块窗口名为 "模块1" 将打开。

插入以下内容 VBA 编码 在该模块中。

⧪代码。

 Sub Count_If_Cell_Contains_Text() Dim Count As Integer Count = 0 Task = Int(InputBox("Enter 1 to Count Cells That Contain Texts: " + vbNewLine + "Enter 2 to Count Cells That don't Contain Texts: " + vbNewLine + "Enter 3 to Count Texts That Include a Specific Text: " + vbNewLine + "Enter 4 to Count Texts That Exclude a Specific Text: " ) If Task = 1 Then For i = 1 To Selection.Rows.Count如果VarType(Selection.Cells(i, 1)) = 8 那么Count = Count + 1 End If Next i MsgBox Count ElseIf Task = 2 那么For i = 1 To Selection.Rows.Count 如果VarType(Selection.Cells(i, 1)) 8 那么Count = Count + 1 End If Next i MsgBox Count ElseIf Task = 3 那么Text = LCase(InputBox("输入你想包括的文本:")For i = 1 To Selection.Rows.Count If VarType(Selection.Cells(i, 1)) = 8 Then For j = 1 To Len(Selection.Cells(i, 1)) If LCase(Mid(Selection.Cells(i, 1), j, Len(Text)) = Text Then Count = Count + 1 Exit For End If Next j End If Next i MsgBox Count ElseIf Task = 4 ThenText = LCase(InputBox("输入你想排除的文本:")) For i = 1 To Selection.Rows.Count If VarType(Selection.Cells(i, 1)) = 8 Then Dim Exclude As Integer Exclude = 0 For j = 1 To Len(Selection.Cells(i, 1) If LCase(Mid(Selection.Cells(i, 1), j, Len(Text)) = Text Then Exclude = Exclude + 1Exit For End If Next j If Exclude = 0 Then Count = Count + 1 End If End If Next i MsgBox Count Else MsgBox "请输入1到4之间的整数。" End If End Sub 

⧪ 备注。

  • 这段代码产生了一个 宏观 叫做 Count_If_Cell_Contains_Text .

⧪ 步骤4。

将工作簿保存为 Excel Macro-Enabled 工作簿 .

⧪ 步骤5。

➤ 返回到你的工作表。

选择单元格的范围 在你的数据集中,你想要计算文本的地方。

⧪ 步骤6。

➤ 然后按 ALT+F8 在你的键盘上。

➤ 一个名为 宏观 将打开,选择 Count_If_Cell_Contains_Text ( 的名称。 宏观 ) 并点击 运行 .

⧪ 步骤7。

一个 输入框 会出现要求你输入一个1到4之间的整数,每个整数代表那里提到的一个具体任务。

⧪ 步骤8。

➤ 如果要计算包含文本值的单元格,请输入 1 .然后点击 认可 .

➤ 你会得到一个信息框,显示包含文本的单元格的数量 ( 7 在这个例子中)。

⧪ 步骤9。

如果你想计算不包含文本值的单元格,请输入 2 .然后点击 认可 .

➤ 你会得到一个信息框,显示不包含文本的单元格的数量( 3 在这个例子中)。

⧪ 步骤10。

➤ 如果要计算包含文本值的单元格,但包括一个特定的文本,输入 3 .然后点击 认可 .

➤ 你会得到另一个 输入框 要求你输入具体的文本。 这里我输入了 "gmail" .

⧪ 注意。 这是不分大小写的。 这意味着,如果你输入了 "Gmail" 它还将包括 "gmail" .

➤ 然后点击 认可 .

➤ 你将得到一个信息框,显示包含文本的单元格的数量,但包括特定的文本( "gmail" 这里。 4 ).

⧪ 步骤11。

如果你想计算包含文本值的单元格,但不包括特定的文本,请输入 4 .然后点击 认可 .

➤ 你会得到另一个 输入框 在这里,我再次输入了 "gmail" .

⧪ 注意。 这也是不分大小写的。 这意味着,如果你输入了 "Gmail" ,它也能正常工作。

➤ 然后点击 认可 .

➤ 你会得到一个信息框,显示包含文本的单元格的数量,但不包括特定的文本( "gmail" 这里。 3 ).

阅读更多。 Excel VBA计算包含特定文本的单元格的数量

总结

使用这些方法,你可以在Excel中计算一个单元格是否包含文本,同时包括或排除一个特定的文本。 你还知道其他的方法吗? 或者你有什么问题吗? 欢迎向我们提问。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.