计算Microsoft Excel表格中包含文本的单元格数量方法
您是否需要计算Microsoft Excel电子表格中包含文本的单元格数量?有几种方法可以做到!
您可能拥有一组混合的文本和数字数据,需要找出其中有多少是文本,以便更好地了解您的数据集。
在这篇博文中,您将看到计数包含文本数据的单元格的所有不同方法以及每种方法的优缺点。
通过上面的链接获取示例工作簿的副本,然后继续学习如何计算 Microsoft Excel 中包含文本的单元格数量!
推荐:如何在Windows 11上使用OneDrive释放磁盘空间
使用 COUNTIF 函数计算包含文本的单元格数量
计算文本数据的第一种方法是使用 计数 功能。
通常, 计数 用于计算满足特定条件的数据。但是,您可以以更通用的方式使用它来计算任何文本。
您可以使用 *
通配符来表示 计数 标准输入。
= COUNTIF ( B3:B14, "*" )
使用上述公式来计算某个范围内的所有文本值。 "*"
条件将计算范围内的任何内容 B3:B14 那是文本。
这 *
字符是通配符,在文本中搜索时可用于表示任意数量的文本字符。例如, "A*"
表示以 开头的任何文本 A 或者 "*A"
表示以以下结尾的任何文本 A。
使用 ISTEXT 函数计算包含文本的单元格数量
有时看起来像数字的数据实际上是以文本形式输入的。有几种 确定单元格是否确实包含文本数据的方法 如那个 伊斯泰克 功能。
= ISTEXT ( B3 )
上述公式将检查单元格的内容 B3 并返回 真的 如果单元格包含文本,并且 错误的 如果单元格包含非文本值。
然后您可以使用 伊斯泰克 函数来计算数据集中的文本值的数量。
= SUM ( --ISTEXT ( B3:B14 ) )
上述公式将返回范围内的文本值总数 B3:B14。
伊斯泰克 将测试 B3:B14 范围内的每个单元格并返回 真的 如果是文本,则为值 错误的 否则。
双重否定 --
将布尔值数组转换为 1或 0在哪里 1 是 真的 或者 0 是 错误的. 当你服用 和 这个数组 1‘沙 0您将获得文本值的数量!
使用 Power Query 计算包含文本的单元格数量
Excel 附带一个名为 power query 的工具,它允许您以几乎无限的方式清理和整理数据,您还可以使用它来计算数据集中的文本值。
Power Query 最适合用于 Excel 表中的数据,因此请务必 将数据添加到 Excel 表 第一的。
- 选择数据内的任意单元格。
- 前往 数据 标签。
- 按 来自表/范围 命令按钮。
这将打开电源查询编辑器,您可以在其中构建查询来转换数据。
您需要添加一个新的临时列来帮助在计算结果之前过滤掉非文本值。
- 前往 添加列 Power Query 编辑器中的选项卡。
- 选择 自定义列 命令。
这将打开自定义列菜单,您可以在其中定义新列的公式。
= Text.Length([Values])
- 将上述公式添加到 自定义列公式 输入。
- 按 好的 按钮。
新列将返回每个值的长度(以字符数表示)。这仅在值是文本时才有效。对于任何非文本值,这会导致 错误。
推荐:Elementor附加组件HT Mega Pro插件
然后你可以过滤掉 错误和空值来获取文本值的数量。
- 右键点击 在自定义列标题上。
- 选择 删除错误 从选项中。
接下来,你可以过滤掉任何 无效的 如果有的话,则显示值。如果源 Excel 数据中有任何空白单元格,则将显示这些值。
- 左键单击自定义列标题中的过滤器切换按钮。
- 取消选择 无效的 价值。
- 按 好的 按钮。
这将导致只剩下带有文本值的行。这些行的 风俗 柱子。
您现在可以计算自定义列中的值。
- 左键单击自定义列标题以选择它。
- 前往 转换 标签。
- 点击 统计数据 命令。
- 选择 计数值 選項中的。
这将导致数据预览中显示单个值,然后您可以在其他查询中使用该值或将其加载到 Excel 中。
- 前往 家 标签。
- 按 关闭并加载 按钮。
然后,这个单一值将被加载到您的 Excel 工作表的一个表格中!
以上所有步骤应创建以下内容 M 代码 幕后。
// Text Count
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Custom", each Text.Length([Values])),
#"Removed Errors" = Table.RemoveRowsWithErrors(#"Added Custom", {"Custom"}),
#"Filtered Rows" = Table.SelectRows(#"Removed Errors", each ([Custom] null)),
#"Calculated Count" = List.NonNullCount(#"Filtered Rows"[Custom])
in
#"Calculated Count"
关于电源查询的优点是,它会被保存为查询,当数据发生变化时可以轻松地再次运行。
前往 数据 标签并按下 刷新 按钮,查询将再次运行并提供最新的文本计数。
使用 VBA 计算包含文本的单元格数量
Visual Basic for Applications (VBA) 是 Excel 中的一种编程语言,可以帮助您自动化工作或为 Excel 添加功能。
单击按钮即可计算选定范围内的文本值。
按照以下步骤创建一个用于计算文本值的 VBA 脚本。
- 按 Alt + F11 打开 VBA 编辑器。您可以在此处编写 VBA 代码。
- 前往 插入 VBA 编辑器中的选项卡。
- 选择 模块 从菜单中。
Sub CountText()
Dim txtCount As Long
txtCount = Application.WorksheetFunction.CountIf(Selection, "*")
MsgBox "Found " & txtCount & " text value(s)"
End Sub
- 将上述代码粘贴到 VBA 模块中。
代码实际上使用 计数 工作表函数通过 Application.WorksheetFunction
VBA 方法。
您现在可以关闭 VBA 编辑器并返回 Excel 工作簿以使用宏脚本。
- 选择您想要计算文本数量的单元格范围。
- 按 Alt + F8 打开宏对话框。
- 选择 文本计数 宏。
- 按 跑步 按钮。
代码将运行并在一个小的弹出框中返回文本值的数量。
使用 Office 脚本计算包含文本的单元格数量
Excel 还提供了一项名为 Office Scripts 的功能,该功能允许用户通过创建和运行脚本来自动执行任务。Office Scripts 可用于执行各种任务,例如更新单元格、插入新数据或删除数据。
Office Scripts 是一种基于 JavaScript 的脚本语言,可在 Microsoft 365 商业计划的 Excel Online 中使用。它旨在成为老旧的 VBA 语言的继任者。
使用 Office 脚本可以帮助用户在电子表格中自动执行重复任务或创建新功能,从而节省时间并提高工作效率。
- 在以下位置打开 Excel 文件 Excel 在线。
- 前往 自动化 标签。
- 按 新脚本 命令。
function main(workbook: ExcelScript.Workbook) {
//Create a range object from selected range
let selectedRange = workbook.getSelectedRange();
//Create an array with the data types in the selected range
let selectedTypes = selectedRange.getValueTypes();
//Get dimensions of selected range
let rowHeight = selectedRange.getRowCount();
let colWidth = selectedRange.getColumnCount();
//Set text counter
let textCount = 0;
// Loop through each item in the selected range
for (let i = 0; i
这将打开脚本编辑器,您可以在其中编写代码。
- 将上述代码粘贴到编辑器中。
- 按 保存脚本 按钮。
此代码将循环遍历选定范围内的每个单元格并测试数据类型是否为字符串。
该脚本将持续计数包含文本的单元格数量,然后将最终计数放入选择内容下方的单元格中。
现在您将能够计算任意范围内的文本数据!
- 选择要计数的单元格范围。
- 按 跑步 脚本编辑器中的按钮。
将计算计数并将其添加到所选范围的正下方。
结论
概览数据是理解数据的重要步骤。计算列中的文本值是一种非常常见的总结方法,可帮助您获得有价值的见解。
Excel 中有多种方法可以计算文本值。
这 计数 函数可以与通配符组合来计算范围内的任意文本。Excel 还具有 伊斯泰克 函数可以与 SUM 结合来计算任何文本值。
根据情况,您还可以使用 Power Query、VBA 或 Office 脚本来计算文本值。
您知道在 Excel 中计数文本数据的其他方法吗?您更喜欢哪种方法?请在下面的评论中告诉我!