
Aquí hay un extracto de mi hoja de cálculo:
Tenga en cuenta: este es sólo un ejemplo simplificado. Mi hoja de cálculo completa tiene muchas columnas y más de 10.000 filas.
En mi hoja de cálculo, frecuentemente tengo filas que tienen texto entre corchetes que comienzan con LIT:
(Como en la imagen).
¿Es posible extraer automáticamente este texto y colocarlo en una columna separada en la hoja de cálculo?
(Por ejemplo, en el ejemplo anterior, [Lit: Next of hotel]
iría en una columna separada, pero permanecería en la misma fila).
Nota: Como se muestra en el ejemplo, no todas las filas tienen un ejemplo [Iluminado:].
Actualmente estoy usando páginas de Apple. Pero estoy feliz de probar Google Docs u Open Office si puede hacerlo, u otro paquete.
Respuesta1
Sus ejemplos son contradictorios sobre si la cadena que desea comienza con [LIT:
o [Lit:
. He asumido que las mayúsculas [LIT:
.
En LibreOffice (y presumiblemente en otros equivalentes de Excel, aunque no tengo idea acerca de Apple Pages o Google Docs), la FIND()
función le permite ubicar una subcadena dentro de un campo de texto, pero devuelve un error si no se encuentra la subcadena, por lo que necesita utilizar IFERROR()
también.
Consideraré primero el ejemplo simple en el que cualquier [LIT:
campo siempre está al final de la cadena, con ]
el carácter final. Si los datos están en la columna A
, comenzando en A1
, entonces la siguiente fórmula hará lo que desee:
=IFERROR(MID(A1,FIND("[LIT:",A1),LEN(A1)),"")
Aquí, si FIND()
devuelve un valor, entonces se devuelve la subcadena desde esa posición hasta el final de la cadena; de lo FIND()
contrario , MID()
generará un error y se devolverá una cadena en blanco.
En el caso más complejo, donde el [LIT:
campo puede aparecer en medio de la cadena, se debe elaborar la fórmula:
=IFERROR(MID(A1,FIND("[LIT:",A1),FIND("]",MID(A1,FIND("[LIT:",A1),LEN(A1)))),"")
[LIT:
En este caso se encuentra la subcadena hasta el final de la cadena, pero el número de caracteres generados a partir de la celda original está limitado por la posición ]
dentro de la subcadena; Nuevamente, cualquier error generará una cadena en blanco.
Cualquiera que sea la fórmula que utilice, copie la celda en la que se encuentra y péguela en el resto de la columna. Si necesita manejar [LIT:
o [Lit:
, reemplácelo FIND("[LIT:",A1)
por SEARCH("\[L[Ii][Tt]:",A1)
: mientras que FIND()
busca una coincidencia literal que distinga entre mayúsculas y minúsculas, SEARCH()
utiliza la coincidencia de expresiones regulares.
Si necesita eliminar la [LIT:
subcadena de la columna original A
, coloque el [LIT:
campo extraído en la columna C
y colóquelo en B1
:
=SUBSTITUTE(A1,C1,"",1)
Ahora copie esto en el resto de la columna B
y oculte la columna A
. Por supuesto, se podrían utilizar cualquier columna y fila inicial; Para mis ejemplos he usado columnas adyacentes sin filas de encabezado.
Tenga en cuenta que =SUBSTITUTE()
no genera errores, por lo que no es necesario utilizar IFERROR()
.