从字符串

时间:2017-02-08 01:08:54

标签: excel google-sheets formula spreadsheet

我希望从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))

2 个答案:

答案 0 :(得分:2)

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

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

enter image description here

这基本上会在模式周围创建捕获组,因此\w+表示单词(技术上它表示任何字母数字字符),然后是non-digit \D+,然后是2位数捕获小组:\d+

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

答案 1 :(得分:1)

单元格C2的公式应为

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

对于D2,它应该是

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