calc:从单元格范围中提取字符串


1

我试图找出一种易于理解的方法来从一系列单元格中提取字符串(即在一系列单元格中)...

这是我必须寻找特定字符串的细胞范围(在一系列可能性中)

A1
BRANCO POLIESTER (25X40CM) - UNIART

COLORIDO POLIESTER (42X42CM) - UNIART

TRIO LOSANGO 125X65 ARTESANAL  - MARROM - UNIART

ARTESANAL 30X130 - VERMELHO - UNIART

VERMELHO IMPRESSAO DIGITAL 30X30 - VERMELHO - UNIART

AQUARELADO TRIO 40X60 ARTESANAL - COLORIDO - UNIART

ALMOFADA TNT BRANCA 45X45CM - UNIART

TULIPAS 60X130 ARTESANAL - MARROM - UNIART

在描述中有尺寸(我们在另一个细胞范围内找到)

B1

size

25X40

42X42

125X65

30X130

30X30

40X60

45X45

60X130

70X100

70X120

20x60

50x80

我想要的 - 一个大小与Product_description中的大小匹配的colum

C1

BRANCO POLIESTER (25X40CM) - UNIART              25x40

COLORIDO POLIESTER (42X42CM) - UNIART            42x42

等等

谢谢你的帮助


B列是否隔离了每条记录的大小信息,还是一个单独的表格,它只是标准大小的列表?您是否希望在列C中创建单个条目,将大小与描述连接起来,还是列C和D?
fixer1234 2014年

Answers:


0

此解决方案取决于您具有工具►选项►OpenOfficeCalc►计算►在公式CHECKED中使用正则表达式。如果未启用此选项,您将获得#VALUE!错误。

使用SEARCH正则表达式掩码可以删除所需的文本,并且一些文本操作可以从条带操作中删除不需要的剩余部分。

        从字符串中剥离数字X号

B1中的标准(非数组)公式是,

=TRIM(LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(UPPER(A1); SEARCH("([:digit:]([:alpha:]|[:digit:]))"; A1); 9); "CM"; " "); ")"; " "); " "; REPT(" "; 9)); 9))

  1. SEARCH函数定位<number> <by> <number>模式并返回序号位置。
  2. 该位置MID作为起点传递给函数。MID从起点总共需要9个字符。
  3. 结束括号和CM文本将转换为单个空格。
  4. 单个空格转换为9个空格。
  5. 提取最左边的9个字符并TRIM应用于删除尾随空格。

必要时填写。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.