¿Cómo dividir texto en columnas independientes según cada letra mayúscula en Excel?
Al trabajar con datos en Excel, es posible que encuentre ocasionalmente celdas con varias palabras unidas, donde cada una comienza con mayúscula, como «FirstNameLastName» o «SalesMarchApril». Para facilitar la limpieza o el análisis de datos, puede necesitar dividir ese contenido en columnas independientes justo antes de cada letra mayúscula, tal como se muestra en la siguiente captura de pantalla. Sin embargo, Excel no incluye una función integrada específica para realizar esta división basada en letras mayúsculas. ¿Qué enfoques prácticos le permiten separar esas palabras en columnas individuales de forma rápida y precisa según las mayúsculas?
A continuación encontrará tres soluciones eficaces para este problema, cada una con su propio escenario de aplicación y ventajas:

Dividir texto en columnas independientes por letra mayúscula con fórmulas
Si sus datos están formados por valores de celda que contienen únicamente dos palabras unidas mediante letras mayúsculas, las fórmulas de Excel pueden ayudarle a dividir el contenido en columnas independientes. Esta solución es sencilla, no requiere código ni complementos, y resulta ideal para conjuntos de datos pequeños o necesidades de división menos complejas.
1. En una celda vacía adyacente a sus datos (por ejemplo, la celda C2), introduzca la siguiente fórmula matricial para extraer la primera palabra de la celda A2 (que contiene el texto que desea dividir):
=LEFT(A2,SMALL(FIND(CHAR(ROW(INDIRECT("65:90"))),A2&"ABCDEFGHIJKLMNOPQRSTUVWXYZ"),2)-1) Después de escribir la fórmula, asegúrese de pulsar Ctrl + Mayús + Intro simultáneamente. Esto es necesario para las fórmulas matriciales en algunas versiones de Excel. Si lo hace correctamente, aparecerán llaves {} alrededor de su fórmula en la Barra de fórmulas. Esta fórmula busca la segunda letra mayúscula en su celda y, a continuación, extrae todos los caracteres anteriores a esa posición, obteniendo así la primera palabra.

2. Para aplicar la fórmula a otras entradas, selecciona la celda C2 y arrastra el controlador de relleno hacia abajo para extender la fórmula al resto de celdas de la columna. ¡Las primeras palabras de cada fila se extraerán automáticamente!

3. A continuación, en la celda situada a la derecha (por ejemplo, D2), introduce la siguiente fórmula para extraer el resto del texto (la segunda palabra):
=REPLACE(A2,1,LEN(C2),"") Esta fórmula elimina la primera palabra extraída en el paso anterior, dejando únicamente la segunda palabra. Simplemente pulse Intro para confirmar.

4. De forma similar, seleccione la celda D2 y use el controlador de relleno para arrastrar la fórmula al resto de las filas. Así, el texto de cada celda del rango original se dividirá en dos columnas, separado por la posición de la letra mayúscula.


Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Dividir texto en columnas independientes por letra mayúscula con código VBA
El método basado en fórmulas anterior es ideal cuando solo necesitas separar dos palabras, pero no sirve para celdas con más de dos palabras concatenadas (por ejemplo, «FirstNameMiddleNameLastName»). En estos casos, puedes usar código VBA para insertar automáticamente un espacio delante de cada letra mayúscula, separando así las palabras. Después de añadir estos espacios, podrás utilizar la función integrada de Excel Texto en columnas para dividir el texto en columnas individuales.
En primer lugar, aplique código VBA para insertar espacios antes de las letras mayúsculas y separar así las palabras.
1. Pulse ALT + F11 para abrir la ventana del editor de Microsoft Visual Basic para Aplicaciones.
2. En el editor de VBA, haga clic en Insertar > Módulo y pegue el siguiente código en la nueva ventana del módulo.
Código VBA: Insertar espacios antes de cada letra mayúscula en una celda
Function SplitWords(ByVal Str As String) As String
'updateby Extendoffice 20151128
Dim I As Integer
SplitWords = Left(Str, 1)
For I = 2 To Len(Trim(Str))
If (Asc(Mid(Str, I, 1)) > 64) And _
(Asc(Mid(Str, I, 1)) < 91) And _
(Mid(Str, I - 1, 1) <> " ") Then _
SplitWords = SplitWords & " "
SplitWords = SplitWords & Mid(Str, I, 1)
Next
End Function
Después de escribir o pegar el código, cierre el editor de VBA para volver a la hoja de cálculo. Este código define una nueva función denominada splitwords que puede utilizar como una fórmula normal de hoja de cálculo. Tenga en cuenta que es posible que deba habilitar las macros para usar esta función y que debe guardar su libro como archivo .xlsm para conservar el código VBA.
3. En una celda vacía junto a sus datos, introduzca la siguiente fórmula para insertar espacios delante de cada letra mayúscula en la celda A2:
=splitwords(A2) Esta fórmula llama a la función definida por el usuario para procesar cada celda. Al pulsar Intro, verá su texto con espacios insertados antes de cada letra mayúscula, lo que resalta claramente las palabras individuales.

4. Copie esta fórmula a todas las celdas relevantes arrastrando el controlador de relleno, para que cada fila se procese correctamente.

5. En esta fase, las celdas contienen fórmulas. Es posible que quieras copiar y pegar solo los valores en otro lugar para conservar el texto procesado sin la vinculación a la fórmula. Para ello, selecciona las celdas procesadas, cópialas y, a continuación, haz clic con el botón derecho en la ubicación deseada y elige «Pegado especial» > «Valores».

En segundo lugar, aplique la función Texto en columnas para dividir el contenido de las celdas en columnas independientes utilizando el espacio como separador.
6. Ahora, seleccione las celdas que contienen espacios (los resultados del paso anterior). En la Cinta de opciones, vaya a Datos > Texto en columnas. Cuando aparezca el Asistente para convertir texto en columnas (Paso 1), elija la opción Delimitado en el botón de opción.

7. Haga clic en Siguiente y, en el Paso 2, seleccione la opción Espacio en Delimitadores. Esto indicará a Excel que use los espacios como puntos de separación para dividir los datos en columnas.

8. En el Paso 3, asegúrese de que esté seleccionado General como formato de los datos de la columna (o elija otro formato si es necesario) y seleccione la celda en la que desee que aparezcan los datos divididos haciendo clic en
. Asegúrese de que el rango de destino no sobrescriba datos existentes.

9. Haga clic en Finalizar y Excel separará el texto en varias columnas, representando cada una una palabra que originalmente estaba separada por una letra mayúscula.

Si detecta un error en el que algunas palabras no se dividen como esperaba, revise casos excepcionales como siglas (múltiples mayúsculas seguidas) o espacios al final. Considere ajustar su código VBA o volver a comprobar sus datos en busca de valores atípicos. Asimismo, recuerde guardar su trabajo con frecuencia al utilizar VBA o realizar operaciones masivas con datos.
Este método resulta especialmente útil al trabajar con longitudes de texto inconsistentes o con un número variable de palabras por celda. No obstante, algunos usuarios pueden sentirse menos cómodos ejecutando código VBA, por lo que en esos casos pueden considerar los métodos alternativos que se indican a continuación.
Dividir texto en columnas independientes por letra mayúscula con Kutools para Excel
Kutools para Excel ofrece una solución sencilla y eficaz para usuarios de todos los niveles que necesiten dividir texto por letras mayúsculas, especialmente útil con grandes volúmenes de datos o tareas repetitivas. Al combinar sus funciones Agregar texto y Dividir celdas, podrá realizar esta operación con el mínimo esfuerzo y riesgo.
1. Seleccione las celdas con los datos originales que desea dividir.
2. Haga clic en Kutools > Texto > Agregar texto. Esta herramienta le permite insertar un carácter o separador —como un espacio— antes de cada letra mayúscula.

3. En el cuadro de diálogo Agregar texto, escriba un espacio (u otro separador, si fuera necesario) en el campo de entrada Texto. Luego, en la sección Agregar solo a, seleccione La 1.ª letra es mayúscula. Esto indica a Kutools que añada el separador elegido antes de cada letra mayúscula en las celdas seleccionadas.

4. Haga clic en Aceptar. Kutools añadirá automáticamente espacios antes de cada letra mayúscula, preparando al instante sus datos para la división.

5. A continuación, con el rango procesado aún seleccionado, vaya a Kutools > Combinar y dividir > Dividir celdas para comenzar a separar el texto en columnas mediante delimitadores.

6. En el cuadro de diálogo Dividir celdas, seleccione Dividir en columnas en la sección Tipo y marque la casilla Espacio (o el delimitador que haya añadido anteriormente) para indicar dónde deben realizarse las divisiones.

7. Haga clic en Aceptar. Aparecerá un aviso que le permitirá elegir la celda inicial para los resultados de la división. Especifique con cuidado el destino, asegurándose de disponer de suficiente espacio para las columnas resultantes.

8. Por último, haga clic en Aceptar para completar la operación de división. Sus datos se distribuirán ahora en columnas independientes en cada letra mayúscula, de forma eficiente y precisa.

Este método es ideal para datos complejos, extensos o que se actualizan con frecuencia, y ayuda a evitar ajustes manuales de fórmulas o programación. Recuerde que Kutools para Excel amplía su utilidad con muchas otras funciones, facilitando una mayor eficiencia tanto en tareas comunes como avanzadas.
¡Descargue y pruebe gratis Kutools para Excel ahora!
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos