在Microsoft Excel中统计字数的5种方法

在Microsoft Excel中统计字数的5种方法

您是否需要计算 Excel 工作簿中单元格或单元格范围内的单词数量?

出于多种原因,您可能需要计算文本数据中的单词数。也许您有逗号分隔的列表,并且需要计算每个列表中的项目数。

不幸的是,Excel 没有内置的单词计数方法。但是有一些巧妙的方法可以得到你需要的结果。

这篇文章将向您展示如何计算 Excel 中文本数据中的单词数。

推荐:在Microsoft Excel中将单元格向下移动的8种方法

使用 LEN 和 SUBSTITUTE 函数统计单词数

第一种方法将使用 代替 函数来确定文本字符串中的空格字符的数量。

每个单词之间都有空格隔开,因此知道空格的数量后加 1 就可以得到单词的数量。

在Microsoft Excel中统计字数的5种方法
在Microsoft Excel中统计字数的5种方法
= LEN ( B3 ) - LEN ( SUBSTITUTE ( B3, " ", "" ) ) + 1

上述公式将返回单元格中的单词数 B3

SUBSTITUTE(B3," ","") 将获取单元格中的文本 B3 并将所有空格字符替换为空字符。这将删除文本中的所有空格。

函数将返回文本字符串中的字符总数。然后您可以使用它来获取原始文本中的字符数 LEN(B3) 以及删除空格后的文本中的字符数 LEN(SUBSTITUTE(B3," ",""))

将它们相减,就得到了文本中的空格总数。然后加 1,这就是单词总数。

⚠️ 警告:您的文本中每个单词之间可能并不总是只有一个空格。如果是这种情况,则上述方法将无法计算字数。

您可以先使用 修剪 函数可确保您的文本没有多余的空格。它还将删除文本中的任何前导或尾随空格。

这将保证基于空格数的字数统计是准确的。

= LEN ( TRIM ( B3 ) ) - LEN ( SUBSTITUTE ( TRIM ( B3 ), " ", "" ) ) + 1

上述公式将首先从文本中删除多余的空格,然后根据单词之间的空格返回字数。

使用 TEXTSPLIT 和 COUNTA 函数统计单词数

计算文本中单词数量的另一种公式方法是先将文本拆分为单独的单元格,然后计算由此产生的单元格数量。

您可以使用名为 文本分割。这允许您根据任何分隔符拆分文本。

您可以使用此功能根据空格字符拆分文本。然后您可以使用 康塔 函数用于计算单个单词的分割值的数量。

这意味着您实际上不需要将文本拆分到工作簿中。它们仅在内存中的公式计算期间被拆分。

= COUNTA ( TEXTSPLIT ( B3, " ",, TRUE ) )

上述公式将返回单元格中文本的字数 B3

TEXTSPLIT(B3," ",,TRUE) 部分将根据空格字符分割文本。

这里 TRUE 参数会跳过在拆分过程中由于文本中可能存在多余空格而产生的任何空白值。这将帮助您根据空格获得准确的字数。

现在您可以使用 COUNTA 函数来计算拆分结果。这给出了单词计数。

推荐:文档知识库教育WordPress主题Manual 

使用 Power Query 统计字数

Power Query 是获取字数的另一种可能方法。

如果您已经从外部来源导入数据或执行其他数据转换,这可能是理想的选择。

  1. 选择您的数据表。
  2. 前往 数据 标签。
  3. 选择 来自表/范围 选项。

这将打开 Power Query 编辑器,您可以在此处添加字数。

  1. 前往 添加列 选项卡。
  2. 选择 自定义列 选项。

这将打开 自定义列 公式编辑器。

  1. 为新列命名。
List.Count(Text.PositionOf([Text]," ",Occurrence.All))+1
  1. 将上述公式代入 自定义列公式 输入区域 [Text] 是要统计单词的文本列。
  2. 好的 按钮。

这将创建一个包含字数统计结果的新列。

文本的位置 函数将创建文本中每个空格字符位置的列表。 列表.计数 然后函数计算此列表以获得空格的总数,然后将该总数加 1 以获得字数。

现在您可以将其加载回 Excel。转到 编辑器选项卡,然后单击 关闭并加载 命令。然后选择 桌子 选项来自 导入数据 菜单并按下 好的 按钮。

这会将数据和新的字数列加载到您所选位置的新表中。

使用 VBA 统计单词数

Excel 没有专门用于计数单词的函数,但您可以使用 VBA 构建自己的自定义函数来实现此目的。

然后您将能够通过简单引用自定义函数来获取字数。

前往 开发人员 选项卡并点击 Visual Basic 选项位于 代码 部分。或者,您也可以按 Alt + F11 在键盘上打开 Visual Basic 编辑器。

Function WORDCOUNT(rng As Range)

Dim arrText() As String
Dim tempCount As Long
tempCount = 0

For Each c In rng
    arrText = Split(c.Value, " ")
    tempCount = tempCount + (UBound(arrText) + 1)
Next c
WORDCOUNT = tempCount

End Function

前往 插入 选项卡并选择 模块 选项添加一个新模块。然后将上述代码放入模块中。

代码创建一个名为 字数 它可以像 Excel 工作簿中的任何其他函数一样使用。

字数 函数采用范围引用,然后将范围内所有单元格的字数相加。

它通过循环遍历每个单元格并根据空格字符将文本拆分为一个数组来实现此目的。数组中的项目数加 1 就是该单元格的字数。

此代码将其添加到每个单元格,以便在循环遍历范围时创建字数的累计总数。

= WORDCOUNT ( B3:B7 )

现在可以在工作表中使用上述公式来计算范围内的单词数 B3:B7

推荐:如何修复Windows 11更新错误0x80248007

使用 Office 脚本统计单词数

您还可以使用 Office 脚本来获取字数统计。

您将能够选择一个范围,然后运行基于整个范围返回计数的脚本。

前往 自动化 选项卡并选择 新脚本 选项。

function main(workbook: ExcelScript.Workbook) {

    //getselected range
    let rng = workbook.getSelectedRange();
    let rows = rng.getRowCount();
    let cols = rng.getColumnCount();

    var wordCount = 0;

    //loop through selected cells
    for (let i = 0; i 

这开启了 代码编辑器 你可以粘贴上面的代码并按下 保存脚本 按钮。

代码将循环遍历选定范围内的每个单元格,并根据空格字符拆分文本。然后计算拆分项的数量并将其添加到累计总数中。

跑步 按钮,代码将计算选定范围内的单词并将结果写入代码编辑器日志中。

使用 Microsoft Word 统计字数

此方法允许您计算任何选定范围内的单词数,但也需要使用 Microsoft Word。

您可以从 Excel 复制数值范围,然后将其粘贴到 Word 中的新文档中。然后,您就可以使用 Word 中的字数统计功能。

这可能不是最优雅的解决方案,但对于那些一次性用例来说,它可以快速完成工作。

  1. 从 Excel 复制范围。
  2. 在 Microsoft Word 中打开一个新文档并粘贴 Excel 中的范围。
  3. 前往 审查 Word 中的选项卡。
  4. 点击 字数 命令 校样 部分。

这将向您显示一个弹出窗口,其中包含各种统计数据,包括文档的字数。

结论

Excel 没有字数统计功能,但您仍然可以通过其他一些方法获得相同的结果。

结合公式 代替 功能或 康塔文本分割 函数将获得所需的计数。

或者,您可以使用 VBA 构建自己的自定义函数,并在工作簿中的任何位置使用。这将有助于简化输入。

还可以使用其他高级选项,例如使用 Power Query 或 Office Scripts 进行计数。

您甚至可以使用其他应用程序通过复制和粘贴进行一次性字数统计。

推荐:计算Microsoft Excel表格中包含文本的单元格数量方法


发表评论