Google 工作表 - 将单元格中的所有数字与文本相加,但不包括 URL's
Google sheets - sum all the numbers in a cell with text, but excluding URL's
我在 Google 表格电子表格中有一列包含文本和数字,还有 URL,我需要在另一列中汇总所有数字。由于这是客户想要使用的格式,因此不能将信息拆分为多个列。
因此,单元格(例如 A1)中的信息如下:
Facebook: 1500 followers
https://facebook.com/user/AccountName/
Twitter: 2000 followers
https://twitter.com/AccountName/
现在,在 B1 中我有来自 here
的公式
=SUM(SPLIT(AE4,CONCATENATE(SPLIT(A1,".0123456789"))))
效果很好,除非 URL 有任何数字。例如上面的代码给了我 3500,这是正确的。但是如果 URL 有数字,比如 https://linkedin.com/user/a4df65b1
,那么我会得到 3570,即 1500+2000+4+65+1。该公式将 URL 中的数字也相加。
我也尝试了以下代码:
=SUM(SPLIT(REGEXREPLACE(A1, "[^\d\.]+", "|"), "|"))
即使修改为仅包含空格之间的数字(因为在 URLs 中没有空格,我只想将空格之间的数字相加),如下所示:
=SUM(SPLIT(REGEXREPLACE(A1, "[^([:space:]\d[:space:])]", "|"), "|"))
两者都不起作用,因为它们在计算中也包含 URL 内的数字。
如何过滤掉 URL 或仅包含空格之间的数字?
假设文档中的 URL 一直到空格或字符串结尾,您可以使用
删除它们和带句点的非数字
=SUM(SPLIT(REGEXREPLACE(A1, "https?://\S*|[^\d.]", "|"), "|"))
参见regex demo。
详情
https?://\S*
- http
,一个可选的 s
,://
,然后是零个或多个非空白字符
|
- 或
[^\d.]
- 除数字和 .
. 以外的任何字符
在我看来你可以使用这个:
=SUM(SPLIT(A1," ")
您的字符串中的所有实数似乎在它们前后都有一个 space; SUM
.
将忽略任何非实数分组
我在 Google 表格电子表格中有一列包含文本和数字,还有 URL,我需要在另一列中汇总所有数字。由于这是客户想要使用的格式,因此不能将信息拆分为多个列。 因此,单元格(例如 A1)中的信息如下:
Facebook: 1500 followers
https://facebook.com/user/AccountName/
Twitter: 2000 followers
https://twitter.com/AccountName/
现在,在 B1 中我有来自 here
的公式=SUM(SPLIT(AE4,CONCATENATE(SPLIT(A1,".0123456789"))))
效果很好,除非 URL 有任何数字。例如上面的代码给了我 3500,这是正确的。但是如果 URL 有数字,比如 https://linkedin.com/user/a4df65b1
,那么我会得到 3570,即 1500+2000+4+65+1。该公式将 URL 中的数字也相加。
我也尝试了以下代码:
=SUM(SPLIT(REGEXREPLACE(A1, "[^\d\.]+", "|"), "|"))
即使修改为仅包含空格之间的数字(因为在 URLs 中没有空格,我只想将空格之间的数字相加),如下所示:
=SUM(SPLIT(REGEXREPLACE(A1, "[^([:space:]\d[:space:])]", "|"), "|"))
两者都不起作用,因为它们在计算中也包含 URL 内的数字。
如何过滤掉 URL 或仅包含空格之间的数字?
假设文档中的 URL 一直到空格或字符串结尾,您可以使用
删除它们和带句点的非数字=SUM(SPLIT(REGEXREPLACE(A1, "https?://\S*|[^\d.]", "|"), "|"))
参见regex demo。
详情
https?://\S*
-http
,一个可选的s
,://
,然后是零个或多个非空白字符|
- 或[^\d.]
- 除数字和.
. 以外的任何字符
在我看来你可以使用这个:
=SUM(SPLIT(A1," ")
您的字符串中的所有实数似乎在它们前后都有一个 space; SUM
.