Table of contents
虽然谷歌表格中的字数和字符数是在极少数情况下使用的,但它仍然是我们中的一些人期望在菜单中就能看到的功能。 但与谷歌文档不同,对于谷歌表格来说,是LEN函数在做这件事。
尽管在电子表格中计算字符有许多不同的方法,但今天的博文将介绍LEN函数,因为它在表格中的主要作用是--嗯,计算 :) 然而,它几乎没有被单独使用过。 下面你将学习如何正确使用谷歌表格的LEN,并找到最需要的公式来计算电子表格中的字符。
谷歌表的LEN函数--用法和语法
LEN函数在Google Sheets中的主要和唯一目的是获得字符串的长度。 它是如此简单,甚至只需要一个参数。
=LEN(text)- 它可以接受双引号中的文本本身。
=LEN("Yggdrasil")
- 或对有兴趣的文本的单元格的引用。
=LEN(A2)
让我们看看在电子表格中使用该函数是否有什么特殊之处。
谷歌表格中的字符数
我将从最简单的操作开始:以最常见的方式在谷歌表格中进行字符计数--通过使用LEN函数引用带有文本的单元格。
我把公式输入到B2,然后把它复制到整列,以计算每一行的字符。
=LEN(A2)
注意:LEN函数计算所有字符:字母、数字、空格、标点符号等。
你可能会想,以类似的方式,你可以对整个单元格范围做一个字符计数,就像这样。 LEN(A2:A6)
但是,尽管很奇怪,它并不是简单地以这种方式运作。
要对几个单元格中的字符进行累加,你应该用SUMPRODUCT来包装你的LEN--这个函数可以对输入的范围内的数字进行统计。 在我的例子中,范围是由LEN函数返回。
=sumproduct(len(a2:a6))
当然,你可以用SUM函数来代替。 但Google Sheets中的SUM不能处理来自其他函数的数组。 为了使其发挥作用,你必须添加另一个函数--ArrayFormula。
=ArrayFormula(SUM(LEN(A2:A6)))
如何在谷歌表格中计算没有空格的字符
如上所述,谷歌表的LEN函数会计算它看到的每一个字符,包括空格。
但是,如果有错误添加的额外空格,而你不想考虑它们的结果,怎么办?
对于这样的情况,谷歌表格中有一个TRIM函数。 它检查文本的前导、后导和中间的重复空格。 当TRIM与LEN配对时,后者不会计算所有这些奇怪的空格。
这里有一个例子,我在A列的不同位置添加了空格,正如你所看到的,当它独立存在时,谷歌表的LEN都会计算它们。
=LEN(A2)
但只要你整合了TRIM,所有多余的空格都会被忽略。
=LEN(TRIM(A2))
你可以更进一步,使你的公式甚至不考虑单词之间的单个空格。 SUBSTITUTE函数将提供帮助。 虽然它的主要目的是用一个字符替换另一个字符,但有一个技巧可以使它完全减少空格。
=SUBSTITUTE(text_to_search, search_for, replace_with, [ occurrence_number])- 文本_to_search 是你工作的范围:A列,或 A2 确切地说。
- 搜索_for 应该是双引号中的空格字符。 " "
- 替换_与 如果你要忽略空格,你需要用字面上的任何东西(空字符串)替换它们。 ""
- 发生次数 通常用于指定要替换的实例。 但由于我正在描述如何计算没有所有空格的字符,我建议你省略这个参数,因为它是可选的。
现在试着把这些都集合到谷歌表的LEN中,你会发现没有考虑到空间。
=len(substitute(a2, " ", ""))
谷歌表格:计算特定字符
只要你需要计算特定的字符、字母或数字,就可以使用谷歌表的LEN和SUBSTITUTE的同样串联。
在我的例子中,我将找出字母 "s "的出现次数。 这一次,我将从一个现成的公式开始。
=LEN(A2)-LEN(SUBSTITUTE(A2, "s", "" ))
让我们把它分解成碎片来了解它是如何工作的。
- SUBSTITUTE(A2, "s", "" ) 在A2中查找字母's',并将所有出现的字母替换为 "nothing",或空字符串("")。
- LEN(SUBSTITUTE(A2, "s", "" ) 计算出A2中除's'以外的所有字符的数量。
- LEN(A2) 计入A2的所有字符。
- 最后,你用一个减去另一个。
结果差异显示单元格中有多少个's'。
注意:你可能想知道为什么B1说A2中只有1个 "s",而你却能看到3个?
问题是,SUBSTITUTE函数是区分大小写的。 我要求它把所有's'的实例都用小写,所以它就这样做了。
为了让它忽略文本大小写,并处理大小写字母,你必须再调用一个谷歌表函数来帮助:LOWER。
提示:查看其他改变谷歌表格中文本大小写的方法。
它和谷歌表的LEN和TRIM一样简单,因为它所需要的只是文本。
=LOWER(text)
而它所做的就是把整个文本字符串变成小写字母。 这一招正是你所需要的,可以让Google Sheets计算特定的字符,无论其文本大小写。
=LEN(A2)-LEN(SUBSTITUTE(LOWER(A2), "s", "" )
提示:和以前一样,要计算范围内特定字符的总数,用SUMPRODUCT包住你的LEN。
=SUMPRODUCT(LEN(A2:A7)-LEN(SUBSTITUTE(LOWER(A2:A7), "s", "" ))
在谷歌表格中计算单词
当单元格中有多个单词时,你有可能需要它们的编号,而不是谷歌表的字符串长度。
虽然有多种方法,但今天我将提到谷歌表的LEN是如何完成这项工作的。
还记得我在谷歌表格中用来计算特定字符的公式吗? 事实上,它在这里也会派上用场。 因为我不打算从字面上计算单词。 相反,我将计算单词之间的空格数,然后简单地加1。 看一看。
=len(a2)-len(substitute((a2), " ", "" ))+1
- LEN(A2) 计算单元格中所有字符的数量。
- len(substitute((a2)," ",")) 删除文本字符串中的所有空格并计算剩余的字符。
- 然后你用一个减去另一个,得到的差额就是单元格中的空格数。
- 因为在一个句子中,单词的数量总是比空格多一个,所以你要在句末加上1。
谷歌表格:计算具体字数
最后,我想分享一个谷歌表格的公式,你可以用它来计算特定的单词。
我这里有《爱丽丝梦游仙境》中的《模拟乌龟之歌》。
我想知道 "will "这个词在每一行中出现了多少次。 如果我告诉你,我需要的公式由之前的相同函数组成:谷歌表的LEN、SUBSTITUTE和LOWER,我相信你不会感到惊讶。
=(LEN(A2)-LEN(SUBSTITUTE(LOWER(A2), "will", "")))/LEN("will")
这个公式可能看起来很吓人,但我可以向你保证,它很容易理解,所以请忍耐一下 :)
- 由于文本大小写对我来说并不重要,我使用 下限(A2) 将所有内容转为小写。
- 然后是 SUBSTITUTE(LOWER(A2), "将",")) ) - 它通过用空字符串("")替换所有出现的 "will "来摆脱它们。
- 之后,我从字符串的总长度中减去没有 "will "这个词的字符数。 我得到的数字计算了每一行中所有出现的 "will "的所有字符。
因此,如果 "will "出现一次,数字就是4,因为这个词里有4个字母。 如果它出现两次,数字就是8,以此类推。
- 最后,我把这个数字除以单字 "将 "的长度。
提示:如果你想得到 "将 "字所有出现的总数,只需用SUMPRODUCT将整个公式括起来。
=SUMPRODUCT((LEN(A2:A7)-LEN(SUBSTITUTE(LOWER(A2:A7), "will", "")))/LEN("will")
正如你所看到的,所有这些字符数的情况都是通过谷歌表的相同函数模式来解决的:LEN、SUBSTITUTE、LOWER和SUMPRODUCT。
如果有些公式仍然让你感到困惑,或者你不确定如何将所有东西应用于你的特定任务,不要害羞,在下面的评论区问吧