calc: Extrae una cadena del rango de celdas

1

Estoy tratando de encontrar una manera fácil de entender para extraer una cadena (que está en un rango de celdas) de un rango de celdas ...

Ese es el rango de celdas que tengo que buscar para una cadena específica (en un rango de posibilidades)

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

En la descripción está el tamaño (donde encontramos en otro rango de celdas)

B1

size

25X40

42X42

125X65

30X130

30X30

40X60

45X45

60X130

70X100

70X120

20x60

50x80

Lo que quiero: una columna con el tamaño que coincida con el tamaño en la descripción del producto más o menos así

C1

BRANCO POLIESTER (25X40CM) - UNIART              25x40

COLORIDO POLIESTER (42X42CM) - UNIART            42x42

Y así

Gracias por cualquier ayuda

Antonio Vasconcelos
fuente
¿La columna B aísla la información de tamaño para cada registro o es una tabla separada que es solo una lista de tamaños estándar? ¿Desea crear en la columna C entradas individuales que concatenan el tamaño de la descripción o son las columnas C y D?
Fixer1234

Respuestas:

0

Esta solución dependerá de que tenga las Herramientas ► Opciones ► OpenOffice Calc ► Calcular ► Usar expresiones regulares en fórmulas COMPROBADAS. Sin esta opción habilitada, obtendrá # ¡VALOR! errores

El uso SEARCHcon una máscara regex puede despegar el texto que desea y algunas manipulaciones de texto pueden recortar las sobras no deseadas de la operación de la tira.

        Despegue el número X número de la cadena

La fórmula estándar ( sin matriz ) en B1 es,

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

  1. La SEARCHfunción localiza el patrón <número> <por> <número> y devuelve la posición ordinal.
  2. Esa posición se pasa a la MIDfunción como punto de partida. MIDtoma un total de 9 caracteres desde el punto de partida.
  3. Los corchetes de cierre y el texto CM se convierten en espacios individuales.
  4. Los espacios individuales se convierten en 9 espacios.
  5. Los 9 caracteres más a la izquierda se extraen y TRIMse aplican para eliminar los espacios finales.

Rellene según sea necesario.

Jeeped
fuente