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非常感谢,非常有用!