从字符串中提取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))
但我正在努力获取 C
和 D
的 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+
捕获组有效地自动将这些匹配推送到相邻的单元格,只要存在有效数据,数组公式就会一直重复该公式。
我想从 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))
但我正在努力获取 C
和 D
谁能帮我看看这里的方法吗?
这是我得到的最远的,但我对颜色的长度有一个问题(黄色不起作用)。我的另一个问题是,无论我输入什么,我都只是收到 )
结果。
=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+
捕获组有效地自动将这些匹配推送到相邻的单元格,只要存在有效数据,数组公式就会一直重复该公式。