有没有办法从单元格中提取特定的字符串?

时间:2019-09-02 00:24:29

标签: regex google-sheets array-formulas google-sheets-query google-query-language

我正在尝试提取某个子字符串的圆括号之间的值,该子字符串是用,分隔的字符串的一部分,然后将所有这些值相加。

例如:

Cell A1 : Text4(5),Text1(7)
Cell A2 : Text1(2)
Cell A3 : Text1(1),Text4(3),Text6(5)

提取Text1圆括号之间的所有值。那将是7、2和1,最后是10。

我已经尝试过使用单个文本(不用,分隔)。

例如:

Cell A1 : Text1(4)    Cell B1 : Text1
Cell A2 : Text3(2)
Cell A3 : Text1(6)

在这种情况下,通过搜索Text1,它将获得值4和6,并显示结果10。

=SUM(ARRAYFORMULA(VALUE(
    REGEXEXTRACT(
        SPLIT(
            QUERY(A1:A3,"select A where A contains '"&B1&"'")
        ,",")
    ,"[\[\(](.*)[\)\]]"))))

但是当字符串中有更多元素时,我不知道如何获取值。尝试了另一个查询,但是没有运气。

1 个答案:

答案 0 :(得分:0)

=ARRAYFORMULA(SUM(REGEXEXTRACT(QUERY(TRANSPOSE(SPLIT(TEXTJOIN(",", 1, A1:A), ",")), 
 "where Col1 contains 'Text1'", 0), "\((\d+)\)")*1))

0