Necesito extraer todo lo que está entre paréntesis de "ORIGINAL COMBINADO" y colocarlo en la columna SPLIT A y colocar el resto en la columna SPLIT B. Por ejemplo:
Respuesta
¿Demasiados anuncios?Para llevar a cabo esta tarea, tenemos que utilizar una combinación de Text
funciones en nuestras fórmulas. Consulte la documentación de Apple para obtener más detalles sobre el uso de estas funciones.
TL;DR las fórmulas están debajo de la explicación.
Así que tenemos que identificar el (XX)
en cada cadena de texto. En una columna, muestra sólo los paréntesis y los números entre ellos, y en la otra columna, los omite. Para ello será necesario combinar varias funciones de texto en una sola fómula.
Columna "Split A
En la "cadena" original cada carácter tiene una posición que comienza en 1. Así, por ejemplo, en la siguiente cadena, el (
tiene una posición de 3.
1 (23) Large Broom
Así que lo que tenemos que determinar es en qué posición está (
y )
en cada cadena. Podemos utilizar Find()
para hacer esto.
FIND(search-string, source-string, start-pos)
Así que usando la cadena de ejemplo anterior:
=FIND("(", "1 (23) Large Broom")
devoluciones: 3
Entonces podemos utilizar FIND()
para obtener la posición de )
también. En este caso devuelve la posición de 6
. Ahora podemos usar esto con el MID()
para recuperar el número con paréntesis.
MID(A2,FIND("(",A2),FIND(")",A2,)
// Where A2 contains our original text
result: (23)
Ahora, si no hay ()
obtendremos un error, así que para manejar esto envolvemos toda la fórmula en el IFERROR()
función. Si hay un error devuelve una cadena vacía. (o cualquier cosa que desee)
IFERROR(MID(A2,FIND("(",A2),FIND(")",A2,),"")
Pegue esta fórmula en su columna "Dividir A".
Columna "Split B
Podemos utilizar el REPLACE()
para sustituir nuestro número entre paréntesis por una cadena vacía. Así que esto: (23)
se convierte en esto: ""
. (Las comillas no se ven.)
REPLACE(source-string, start-pos, replace-length, new-string)
Para eliminar el (23)
necesitamos añadir 1
a la posición de )
entonces resta la posición de (
. Así que en este caso 7 - 3
para conseguir 4
la longitud de nuestra cadena de números/pares.
REPLACE(A2,FIND("(",A2,),(FIND(")",A2,)+1FIND("(",A2,)),"")
Desglose:
REPLACE(
A2, the source string cell reference
FIND("(",A2,),
(FIND(")",A2,)+1FIND("(",A2,)), resulting in 4
"") replace with empty string
Envuelve esto también en un IFERROR()
y ahora el resultado es 1 Large Broom
(Obsérvese el espacio extra. Se puede eliminar si añadimos 2 en lugar de 1)
TL;DR - Así que aquí estamos. ¡Uf! las fórmulas con nuestras funciones anidadas para resolver esto:
Dividir A
IFERROR(MID(A2,FIND("(",A2),FIND(")",A2,),"")
Dividir B
IFERROR(REPLACE(A2,FIND("(",A2,),(FIND(")",A2,)+1FIND("(",A2,)),""),"")