Table of contents
在这篇文章中,我将展示你如何能够 在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代码,同时完成所有任务
到目前为止,我们已经分别执行了四项任务。
- 计算包含文本的单元格的数量
- 然后计算不含文本的单元格的数量
- 计算包含文本但包括特定文本的单元格的数量
- 同时计算包含文本但不包括特定文本的单元格的数量
现在,我们将制定一个 宏观 使用一个 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中计算一个单元格是否包含文本,同时包括或排除一个特定的文本。 你还知道其他的方法吗? 或者你有什么问题吗? 欢迎向我们提问。