Excel中的字数统计–如何检查字数

伊莱尼亚·马格尼(Ilenia Magoni)

Excel没有其自己的工具,该工具可以让您简单地查看文档中的单词数(就像Word一样)。但是仍然有可能找到答案吗?

是的,但确实有点麻烦,而且一次也只能在一个单元上使用。不过请放心-我们将在最后看到如何使它在一组单元格上工作。让我们探讨一下如何在Excel中对单词进行计数。

我们将用来计算字符的Excel函数

我们需要学习大约三个Excel函数,LEN()TRIM()SUBSTITUTE(),才可以在公式中使用它们。

如何LEN()在Excel中使用功能

LEN()函数获取具有文本内容的单元格,并返回该单元格中的字符数。

例如,如果我们The horse under the three在一个单元格中书写,然后使用该LEN()函数计算另一个单元格中该句子中的字符数,我们将得到25。您可以在这里查看其工作方式:

Excel中的字数统计–如何检查字数

通过指定我们想要LEN()单元格B1(LEN(B1)在上面的单元格B2中),Excel会为我们执行此计算。

注意:我将解释为什么在下面包含拼写错误(“ 3”而不是“ tree”)。

如何TRIM()在Excel中使用功能

TRIM()函数获取具有文本内容的单元格,并返回相同的文本,开头或结尾没有任何空格。

例如,假设我们有一个像这样的单元格:(       The horse under the three  文本前有7个空格,末尾有2个空格。它的总长度为34个字符,包括空格。

TRIM()函数将返回给我们The horse under the three(仅包含原始的25个字符),开头或结尾没有空格。看起来是这样的:

Excel中的字数统计–如何检查字数

您可以看到,类似于上面的示例LEN(),当我们将TRIM()指令放入单元格B4中时,Excel将在单元格B5中计算正确的值。

如何SUBSTITUTE()在Excel中使用功能

SUBSTITUTE()功能将用另一段文字替换一段文字。例如,我们一直在使用文本有拼写错误(而不是tree我们three)。我们可以使用SUBSTITUTE()功能对其进行修复。

语法为SUBSTITUTE(text, old_text, new_text, [instance_num]),随着text文本的更改,我们将对其进行更改。在这种情况下,我们将拥有要更改的文本old_text以及要更改的(和three)部分(),将其替换为new_texttree)。

完整的公式是SUBSTITUTE(B4, "three", "tree")。请注意,公式中的文本始终需要用引号引起来。运作方式如下:

Excel中的字数统计–如何检查字数

万一您需要知道,它instance_num是一个可选参数,以防old_text文本中有多个实例并且您只想更改其中一个实例。但是我们在这里不使用它。

如何在Excel中计算字数

我们已经学习了如何使用上述单个函数,现在我们需要以某种复杂的方式将它们一起使用。

在将它们组合在一起之前,让我们尝试了解我们如何使用它们,然后我们将一起构建完整的公式。

Excel中的字数统计如何工作

Excel没有合适的字数统计工具或公式,但是正如我们上面所学到的,我们可以计数一件事,那就是字符。具体来说,我们将计算字符串内部的空格数。然后,我们将得出仅将1加到空格数的单词数。

当我们看示例时,我们可以看到该字符串The horse under the tree有四个空格。如果加一,便得到五个,即句子中的单词总数。

计数空间也不是一件容易的事。由于没有特定的工具或公式可以只计算空格,因此我们需要有所创新。

我们要做的是计算字符串中的字符数,然后在删除空格后计算字符串中的字符数(我们可以使用SUBSTITUTE(text, " ", "")它)。然后,我们将采用两者之间的区别。

The horse under the tree有24个字符,而Thehorseunderthetree有20个字符。差异为4,这是原始字符串中的空格数。如果我们加1,我们得到5,即字数。

Excel中的字数统计–如何检查字数

付诸实践

现在我们需要放入上一段中看到的单个公式。此公式包含三个组成部分:

  • 句子的长度,在句子的开头或结尾都留有空格(我们只想计算单词之间的空格),因此我们将使用 LEN(TRIM(text))
  • 没有空格的字符串的长度,在这种情况下,TRIM()由于我们要删除所有空格,因此不需要使用LEN(SUBSTITUTE(text, " ", ""))
  • 然后我们添加1

完整的公式是:LEN(TRIM(text)) - LEN(SUBSTITUTE(text, " ", "")) + 1

Excel中的字数统计–如何检查字数

如何在Excel中创建自定义函数以对单词进行计数

我们已经学习了如何对单元格中的单词进行计数,但是也许我们不想每次都需要对单词数进行计数时都键入所有内容。

幸运的是,我们可以通过创建一个自定义函数来计数单词来解决此问题。我们还可以使用自定义函数来计算多个单元格中的单词总数。

如何使用Visual Basic为应用程序创建自定义函数

我们可以使用Alt + F11FN + Alt + F11对于Mac)打开VBA编辑器。然后,我们可以转到Insert> Module,我们可以编写函数了。

我们可以使用已经编写的内容作为起点,但是我们需要SUBSTITUTE使用REPLACE函数替换Visual Basic中不存在的函数(该函数在Visual Basic中不存在)。所以现在我们有了LEN(TRIM(text)) - LEN(REPLACE(text, " ", "")) + 1

让我们命名我们要创建的新函数。我选择了名称WORDCOUNT,但是您可以使用任何想要的名称。只需用您选择的名称在写的两个地方替换它即可。

Function WORDCOUNT(text)
   WORDCOUNT = LEN(TRIM(text)) - LEN(REPLACE(text, " ", "")) + 1
End Function

在编辑器中添加此代码后,便创建了该函数。现在,您可以关闭编辑器并享受您的新功能!但是请记住,它仅适用于此工作簿。

因此,现在让该功能使用多个单元格,然后我们也可以将其永久添加到Excel中。

如何建立一个自定义Excel函数以计算一组单元格中的单词总数

现在,我们将更新该函数以使其与一系列单元格一起使用,以使其更加有用。我们采用与上述相同的代码,并将其应用于范围内的每个单元格,将每个单元格中的单词数相加。

将我们之前编写的代码替换为以下代码:

Function WORDCOUNT(rng As Range)
    Count = 0
    For Each cl In rng
        thisCount = LEN(TRIM(cl.Value)) - LEN(REPLACE(cl.Value, " ", "")) + 1
        Count = Count + thisCount
    Next
    WORDCOUNT = Count
End Function

注意:此版本仅适用于单个单元格区域,并且所有选定的单元格都必须包含文本。如果愿意,您可以尝试制作自己的通用版本,只是自己探索VBA!

最后,我们要确保我们的功能在每个Excel工作簿中都可用。为此,我们必须关闭VBA编辑器并将我们正在处理的电子书保存为*.xlamExcel加载项文件类型。

为此,我们可以转到“文件”>“另存为”,给文件起一个可以让我们识别的名称,例如“ WordCount”,然后从下拉菜单中选择“ Excel加载项(* .xlam)”格式。不要更改保存文件的文件夹,因为该文件会自动设置为AddIns文件夹。

现在我们已经创建了文件,我们需要将其导入Excel。为此,请转到“文件”>“选项”>“加载项”。在窗口底部,从下拉菜单中选择“ Excel加载项”,然后单击“ Go …”。在新窗口中,使用“ Browse …”按钮,它应该打开AddIns文件夹,我们已经保存了文件。选择它,然后按确定,然后确定一次。现在,该WORDCOUNT()功能将在您每次使用Excel时可用。

点击阅读原文

本文来自投稿,不代表微擎百科立场,如若转载,请注明出处:https://www.w7.wiki/develop/5129.html

发表评论

登录后才能评论