Excel. Cadena de texto. Dos mayúsculas seguidas.

Tengo un listado de personas en el que el nombre está en minúscula, excepto la inicial, claro, y el apellido en mayúsculas, y me gustaría separarlo en dos campos distintos.

Si fueran siempre dos palabras para nombre y apellido lo haría con ENCONTRAR(" ";celda) y allí ya los separaría de acuerdo con el valor que nos dé, pero el problema está cuando hay un nombre compuesto (ej. MiGuél Angel). Por eso sería perfecto para mi encontrar la posición de la primera mayúscula seguida de otra mayúscula, porque me indicaría la posición de inicio del apellido.

1 respuesta

Respuesta
1

[Hola

Sugiero que en un archivo coloques ocho o diez ejemplo diversos de lo que tienes, incluyendo casos como el mencionado, y que "a mano" escribas en las columnas de al lado tal cual quieres que quede. Para compartirlo coloca el archivo en algún Drive y envías por aquí el enlace.

Abraham Valencia

Muchas gracias Abraham.

Aquí está el archivo.

Como ves, el nombre está en minúsculas y el apellido en mayúsculas. Con ENCONTRAR puedo hallar la posición del espacio y allí "separar", como hago en el ejemplo, pero el problema surge al tratarse de nombres compuestos.

Por ello había pensado que encontrando la posición de la primera mayúscula seguida de otra mayúscula (inicio del apellido) me facilitaría esa labor. En todo caso, estoy abierto a cualquier otra posibilidad.

Muchas gracias de nuevo.

Carlos.

[Hola

Todos los nombres de la columna A tienen un espacio en blanco al final ¿es casual o así están tus datos reales? Es importante saberlo para saber realmente cuántos espacios en blanco hay realmente en cada celda.

Abraham Valencia

Lo del espacio en blanco viene de los datos originales. Me di cuenta tras elaborar el archivo. No lo tengas en cuenta...

Gracias.

Carlos.

[Hola nuevamente

Mira las fórmulas, hay que hacer algunos ajustes para mejorarlas y no olvides que están hechas en base a los nombres tal cual con esos espacios de más:

https://drive.google.com/file/d/13QqbYfYqrOcYSKRCAtEiwRlTRAWF5mxF/view?usp=sharing

Comentas

Muchas gracias Abraham por tu interés.

He estado intentando adaptar las fórmulas a los nombres sin el espacio a la derecha pero, si bien lo he conseguido con los nombres, no con los apellidos. Como ves en el archivo, cuando hay más de un espacio me falta el último carácter.

Por otra parte, y también en las palabras con más de un espacio, veo que el apellido te sale con un espacio inicial. De todas formas, eso se corrige fácilmente (en azul).

En todo caso, y si bien con tus formulas solvento el 95% de los casos, he añadido abajo (en amarillo) dos ejemplos para los que no valdría lo anterior. De ahí que te preguntara lo de hallar la posición de dos mayúsculas consecutivas.

Muchas gracias de nuevo.

Carlos.

[Hola estimado

En el archivo que has colocado ahora, solo hay fórmulas con Derecha e izquierda, creo que te equivocaste de archivo.

Perdón. Por error puse un archivo previo al que inicialmente compartí. Aquí está el correcto.

Un saludo.

Carlos.

[Hola

Ya vi tu nuevo archivo. Yo casi desde el inicio de comenté lo de los espacios para que la fórmula se adapte a tus datos, si vas a optar por eliminar esos espacios, debes adaptar la fórmula propuesta, pero antes que nada pues entenderla (por eso también coloque hay que hacer algunos ajustes para mejorarlas y no olvides que están hechas en base a los nombres tal cual con esos espacios de más) . Ah, antes que nada, para que no aparezca el espacio antes de los apellidos:

=SI(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))=2;EXTRAE(A1;(ENCONTRAR(" ";A1)-1)+2;LARGO(A1)-(ENCONTRAR(" ";A1)-1));EXTRAE(A1;(ENCONTRAR(" ";A1;ENCONTRAR(" ";A1)+1))+1;LARGO(A1)-ENCONTRAR(" ";A1;ENCONTRAR(" ";A1)+1)))

Era cosa de sumar un uno. Sobre el dilema de los nombres compuestos de tres partes o el caso de tres apellidos, la cosa cambia un montón ¿son muchos nombres así? ¿sería mucho trabajo que esos sí los hagas "a mano"?  

Sobre una macro que detecte dos mayúsculas seguidas, para después de eso separar nombres y apellidos por los espacios existentes, la verdad tomaría más tiempo del que algunos nos damos para ayudar en los foros, no olvides que nuestras intervenciones aquí son ad honorem.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas