从字符串中提取3条信息

Extract 3 pieces of information from a string

我想从 Google 表格中的粘贴字符串中提取信息。 例如,用户将粘贴类似 Blue (010,110) 的内容 我的专栏是这样的

     A                 B         C      D
1    String            Colour    X      Y
2    Blue (010,110)    Blue      010    110
3    Cyan (011,111)    Cyan      011    111

我对颜色 B 没有问题,如图所示

=IF(ISBLANK(A2),"",LEFT(A2,LEN(A2)-9))

但我正在努力获取 CD

的 X 和 Y 值

谁能帮我看看这里的方法吗?

这是我得到的最远的,但我对颜色的长度有一个问题(黄色不起作用)。我的另一个问题是,无论我输入什么,我都只是收到 ) 结果。 =IF(ISBLANK(A11),"",MID(A11,(LEFT(LEN(A11),3)),3))

单元格 C2 的公式应为

=IF(ISBLANK(A2),"",MID(A2,LEN(A2)-7,3))

D2 应该是

=IF(ISBLANK(A2),"",MID(A2,LEN(A2)-3,3))

你也可以做一个单一的公式,实际上也是一个数组公式,所以你只需要添加一次:

=arrayformula(if(istext(F3:F),REGEXEXTRACT(F3:F,"(\w+)\D+(\d+),(\d+)"),))

这基本上围绕模式创建了捕获组,因此 \w+ 表示单词(从技术上讲,它表示任何字母数字字符),后跟任何 non-digit,即 \D+,然后是 2数字捕获组:\d+

捕获组有效地自动将这些匹配推送到相邻的单元格,只要存在有效数据,数组公式就会一直重复该公式。