Google sheets 在单个单元格中处理多个字符串和相应的整数

Google sheets 在单个单元格中处理多个字符串和相应的整数,google-sheets,Google Sheets,我有一个问题,关于我试图在谷歌电子表格中实现的目标。我有下表: | NAME | COUNTRY | -------------------------------------------------- | Alpha | GER*1, SWE*3 | -------------------------------------------------- | Beta

我有一个问题,关于我试图在谷歌电子表格中实现的目标。我有下表:

| NAME                    | COUNTRY              |
--------------------------------------------------
| Alpha                   | GER*1, SWE*3         |
--------------------------------------------------
| Beta                    | GER*5, SWE*1         |
--------------------------------------------------
| Gamma                   | SWE*5, GER*3         |
--------------------------------------------------
| Delta                   | SWE*2, GER*1         |
--------------------------------------------------
现在我想能够计算出伽马线中有多少SWE。我需要电子表格来返回一个整数值,在我的示例中,正确的值应该是5

但是,我也希望能够计算Alpha到Delta行中的GER总数,也作为整数值返回,在这种情况下,结果应该是1+5+3+1=10

正如你所看到的,我在一个单元格中处理字符串和整数。例如,如果可以创建一个包含所有GER*整数的数组,那么删除GER*并创建一个只包含可能对我有帮助的整数的数组


我在这里搜索,谷歌搜索,摆弄电子表格,试图找到一个解决方案,但要么我太傻了,要么它并不像我想象的那么琐碎。任何帮助都将不胜感激。

您可以使用其中一个文本函数,如FIND with MID。Regextract功能更强大,但更难使用。拥有子字符串后,使用VALUE从中获取数值

对于摘要,最简单的方法可能是创建一个额外的列,如上所述将GER值提取到其中,然后对该列求和


以下是Google电子表格的函数参考:

要计算Alpha到Delta行中的GER总数,假设您的数据从第2行延伸到第5行,请尝试:

=sum(ArrayFormula(iferror(regexextract(B2:B5, "GER\*(\d+)")+0,0)))
要计算伽马射线中有多少SWE,请尝试:

=sum(ArrayFormula(iferror(regexextract(filter(B2:B6, A2:A6="Gamma"), "SWE\*(\d+)")+0,0)))

更改范围,使其适合您的实际数据范围,然后查看是否有效?

这几乎可以完美地工作。非常感谢!当我要查找的字符串不在一行中时,会出现一个错误:与函数的文本不匹配。如果在那种情况下给我一个0,那就是了。如果我使用ISNA,如果为TRUE,则返回0?不过听起来有点太复杂了。试着用IFERROR捕捉错误。查看我的最新答案,并检查它是否有效。效果很好。我不得不对下划线做了一个小的调整,但这就是它现在的样子:=sumarrayformulaiferrorregextractlocation,GER\d++0,0非常感谢,非常有用!