处理单个单元格中的多个字符串和相应的整数
Dealing with multiple strings and corresponding integers in a single cell
我对我试图在 Google 电子表格中实现的目标有疑问。我有以下 table:
| NAME | COUNTRY |
--------------------------------------------------
| Alpha | GER*1, SWE*3 |
--------------------------------------------------
| Beta | GER*5, SWE*1 |
--------------------------------------------------
| Gamma | SWE*5, GER*3 |
--------------------------------------------------
| Delta | SWE*2, GER*1 |
--------------------------------------------------
现在我希望能够计算出在 Gamma 线上有多少 SWE。我需要电子表格来 return 一个整数值,在我的例子中正确的是 5.
不过,我还希望能够计算出 Alpha 到 Delta 行中的 GER 总数,也 returned 作为整数值,在这种情况下,结果应该是 1+5 +3+1 = 10.
如您所见,我在一个单元格中同时处理字符串和整数。例如,如果可以创建一个包含所有 GER*(INTEGER) 的数组,然后删除 GER* 并拥有一个仅包含可能对我有帮助的整数的数组?
我在这里搜索过,用谷歌搜索过并摆弄过电子表格来尝试找到一个解决方案,但要么我太愚蠢了,要么它不像我想象的那么微不足道。任何帮助将不胜感激。
您可以使用文本函数之一,例如 FIND
和 MID
。 REGEXEXTRACT
更强大但更难使用。当您有子字符串时,使用 VALUE
从中获取数值。
对于摘要,最简单的方法可能是创建一个额外的列,如上所述将 GER 值提取到其中,然后 SUM
该列。
这是 Google 电子表格的函数参考:https://support.google.com/docs/table/25273?hl=en
要计算 Alpha 到 Delta 行中的 GER 总数(假设您的数据从第 2 行延伸到第 5 行),尝试:
=sum(ArrayFormula(iferror(regexextract(B2:B5, "GER\*(\d+)")+0,0)))
要计算 Gamma 线中有多少 SWE,请尝试:
=sum(ArrayFormula(iferror(regexextract(filter(B2:B6, A2:A6="Gamma"), "SWE\*(\d+)")+0,0)))
更改范围,使其适合您的实际数据范围,看看是否可行?
我对我试图在 Google 电子表格中实现的目标有疑问。我有以下 table:
| NAME | COUNTRY |
--------------------------------------------------
| Alpha | GER*1, SWE*3 |
--------------------------------------------------
| Beta | GER*5, SWE*1 |
--------------------------------------------------
| Gamma | SWE*5, GER*3 |
--------------------------------------------------
| Delta | SWE*2, GER*1 |
--------------------------------------------------
现在我希望能够计算出在 Gamma 线上有多少 SWE。我需要电子表格来 return 一个整数值,在我的例子中正确的是 5.
不过,我还希望能够计算出 Alpha 到 Delta 行中的 GER 总数,也 returned 作为整数值,在这种情况下,结果应该是 1+5 +3+1 = 10.
如您所见,我在一个单元格中同时处理字符串和整数。例如,如果可以创建一个包含所有 GER*(INTEGER) 的数组,然后删除 GER* 并拥有一个仅包含可能对我有帮助的整数的数组?
我在这里搜索过,用谷歌搜索过并摆弄过电子表格来尝试找到一个解决方案,但要么我太愚蠢了,要么它不像我想象的那么微不足道。任何帮助将不胜感激。
您可以使用文本函数之一,例如 FIND
和 MID
。 REGEXEXTRACT
更强大但更难使用。当您有子字符串时,使用 VALUE
从中获取数值。
对于摘要,最简单的方法可能是创建一个额外的列,如上所述将 GER 值提取到其中,然后 SUM
该列。
这是 Google 电子表格的函数参考:https://support.google.com/docs/table/25273?hl=en
要计算 Alpha 到 Delta 行中的 GER 总数(假设您的数据从第 2 行延伸到第 5 行),尝试:
=sum(ArrayFormula(iferror(regexextract(B2:B5, "GER\*(\d+)")+0,0)))
要计算 Gamma 线中有多少 SWE,请尝试:
=sum(ArrayFormula(iferror(regexextract(filter(B2:B6, A2:A6="Gamma"), "SWE\*(\d+)")+0,0)))
更改范围,使其适合您的实际数据范围,看看是否可行?