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

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* 并拥有一个仅包含可能对我有帮助的整数的数组?

我在这里搜索过,用谷歌搜索过并摆弄过电子表格来尝试找到一个解决方案,但要么我太愚蠢了,要么它不像我想象的那么微不足道。任何帮助将不胜感激。

您可以使用文本函数之一,例如 FINDMIDREGEXEXTRACT 更强大但更难使用。当您有子字符串时,使用 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)))

更改范围,使其适合您的实际数据范围,看看是否可行?