calc: extrair string do intervalo de células

1

Estou tentando descobrir uma maneira fácil de entender como extrair uma string (que está em um intervalo de células) de um intervalo de células ...

Esse é o intervalo de células que eu tenho que procurar por uma string específica (em um intervalo de possibilidades)

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

Na descrição existe o tamanho (onde encontramos em outro intervalo de células)

B1

size

25X40

42X42

125X65

30X130

30X30

40X60

45X45

60X130

70X100

70X120

20x60

50x80

O que eu quero - uma coluna com o tamanho que corresponda ao tamanho na descrição do produto algo parecido com isto

C1

BRANCO POLIESTER (25X40CM) - UNIART              25x40

COLORIDO POLIESTER (42X42CM) - UNIART            42x42

E assim por diante

Obrigado por qualquer ajuda

    
por Antonio Vasconcelos 20.11.2014 / 13:33

1 resposta

0

Esta solução dependerá de você ter as Ferramentas ► Opções ► OpenOffice Calc ► Calcular ► Usar expressões regulares em fórmulas VERIFICADAS. Sem essa opção ativada, você receberá #VALUE! erros.

Usar SEARCH com uma máscara regex pode destacar o texto que você deseja e alguma manipulação de texto pode aparar sobras indesejadas da operação de strip.

Afórmulapadrão(não-array)emB1é

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

  1. A função SEARCH localiza o padrão < número > < número > e retorna a posição ordinal.
  2. Essa posição é passada para a função MID como ponto de partida. MID leva um total de 9 caracteres do ponto de partida.
  3. Os colchetes de fechamento e o texto CM são convertidos em espaços únicos.
  4. Espaços únicos são convertidos em 9 espaços.
  5. Os 9 caracteres mais à esquerda são extraídos e TRIM é aplicado para remover os espaços à direita.

Preencha conforme necessário.

    
por 24.12.2014 / 04:17