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

时间:2015-04-06 10:25:47

标签: google-sheets

我对Google试图在Google电子表格中实现的目标提出了疑问。我有下表:

| NAME                    | COUNTRY              |
--------------------------------------------------
| Alpha                   | GER*1, SWE*3         |
--------------------------------------------------
| Beta                    | GER*5, SWE*1         |
--------------------------------------------------
| Gamma                   | SWE*5, GER*3         |
--------------------------------------------------
| Delta                   | SWE*2, GER*1         |
--------------------------------------------------

现在我希望能够计算线路Gamma中有多少SWE。我需要电子表格来返回一个整数值,在我的例子中,正确的值是5。

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

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

我在这里搜索过,用谷歌搜索并摆弄电子表格试图找到解决办法,但要么我太愚蠢,要么就像我想象的那样微不足道。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用其中一个文字功能,例如FINDMIDREGEXEXTRACT更强大但更难使用。如果您有子字符串,请使用VALUE从中获取数值。

对于摘要,最简单的可能是创建一个额外的列,如上所述将GER值提取到其中,并SUM该列。

以下是Google电子表格的功能参考:https://support.google.com/docs/table/25273?hl=en

答案 1 :(得分:0)

要计算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)))

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