Cómo Concatenar en Excel Intermedio

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 21

CÓMO CONCATENAR EN

EXCEL
Es muy frecuente encontrarnos con bases de datos en Excel en
donde la información se encuentra dividida en varias columnas y
para poder utilizarla necesitamos unir la información en una sola
columna. Para ello debemos saber cómo concatenar en Excel.
Existen dos métodos para concatenar en Excel. El primero que
mostraré utiliza una función de Excel y el segundo método utiliza
el símbolo & conocido como ampersand (en inglés).
LA FUNCIÓN CONCATENAR EN EXCEL
Supongamos que tenemos una hoja de Excel con los nombres de
personas en la columna A y los apellidos en la columna B.

Nuestro objetivo es unir el nombre y el apellido en la columna C


por lo que debo utilizar la función CONCATENAR de la siguiente
manera:
=CONCATENAR(A1, " ", B1)
Observa que el segundo argumento de la función es un espacio
en blanco el cual está “encerrado” entre comillas dobles. Esto
hará que Excel coloque un espacio entre el nombre de la columna
A1 y el apellido de la columna B1. Al copiar esta fórmula en todas
las celdas de la columna C obtendremos el resultado deseado.
Para este ejemplo fue muy importante indicar el espacio en
blanco como el segundo argumento de la función CONCATENAR
ya que si no lo hubiéramos utilizado habríamos obtenido un
resultado diferente:

Observa cómo en este segundo ejemplo se omitió el espacio en


blanco y por lo tanto el nombre y el apellido aparecen pegados
uno detrás del otro. Es por eso que debemos recordar especificar
explícitamente los espacios en blanco que vamos a necesitar en
la concatenación.

CONCATENAR EN EXCEL CON EL


SÍMBOLO &
Otro método para concatenar en Excel es utilizar el símbolo “&”
en lugar de la función CONCATENAR. Haciendo el mismo
ejemplo anterior, la manera de unir el nombre de la columna A1
con el apellido de la columna B1 sería utilizando la siguiente
fórmula en la celda C1:
=A1 & " " & B1

Esta fórmula indica que el valor de la celda C1 será el valor de la


celda A1 seguido por un espacio en blanco y seguido por el valor
de la celda B1. Observa el resultado de aplicar esta fórmula a la
columna C:

Al igual que con la función CONCATENAR, con este método


también debemos indicar explícitamente los espacios en blanco
que necesitaremos.

CÓMO DESHACER LA CONCATENACIÓN


Una pregunta muy frecuente entre los usuarios de Excel es cómo
deshacer la concatenación. La solución es muy sencilla porque
podemos utilizar la funcionalidad de Excel conocida como Texto
en columnas. Para aprender más al respecto puedes leer el
artículo Dividir texto en columnas.

DIVIDIR TEXTO EN
COLUMNAS
Cuando tenemos un texto que deseamos dividir en varias celdas
de nuestra hoja, podemos utilizar el Asistente para convertir texto
en columnas. Este asistente nos ayudará a colocar cada palabra
de nuestro texto en una columna diferente.
Las utilidades de este asistente pueden ser muchas, algunos
usuarios lo utilizan para separar nombres y apellidos, otros lo
usan para preparar los valores que serán exportados a un archivo
separado por comas (CSV).

DIVIDIR TEXTO EN CELDAS DIFERENTES


Para nuestro primer ejemplo utilizaremos una cadena de texto
muy simple: “Dividir texto en celdas diferentes”. Esta cadena de
texto se encuentra en la celda A1 y para dividirla debemos
seleccionarla y posteriormente pulsar el comando Texto en
columnas que se encuentra en la ficha Datos > Herramientas de
datos.

Al pulsar el comando Texto en columnas se mostrará el primer


paso del asistente el cual nos guiará por todo el proceso. En el
paso 1 debemos asegurarnos de seleccionar la
opción Delimitados ya que existe un carácter, que es el espacio
en blanco, que delimita la separación de cada palabra que
deseamos colocar en diferentes columnas.
Una vez hecha esta selección debemos pulsar el
botón Siguiente para ir al paso 2 del proceso. En este paso
debemos elegir el carácter por el cual necesitamos hacer la
división de la cadena de texto. En nuestro caso, es el espacio en
blanco y por lo tanto debemos seleccionar dicha opción en la
sección Separadores.
Al seleccionar la opción Espacio, la vista previa de los datos
mostrará la manera en que será dividido el texto de la celda A1.
Al pulsar el botón Siguiente iremos al paso final del proceso
donde tenemos acceso a algunas configuraciones avanzadas
sobre el formato de los datos.
Por ahora omitiremos dichas opciones y dejaremos la selección
en la opción General. Lo único que modificaré será la
celda Destino de manera que el texto dividido comience en la
celda $B$1. Al pulsar el botón Finalizar, el texto de la celda A1 se
dividirá en varias columnas, colocando una sola palabra en cada
una de ellas como se observa en la siguiente imagen.

SEPARAR TEXTO EN PALABRAS


Como has visto, al indicar el espacio como el separador de una
cadena de texto, Excel ha colocado todas las palabras en
diferentes celdas. El ejercicio anterior lo hemos hecho para una
sola cadena de texto, pero puedes hacer lo mismo para varias
cadenas de texto a la vez. Para eso deberás asegurarte de
seleccionar todo el rango de celdas antes de iniciar el Asistente
para convertir texto en columnas.

Por ejemplo, en la siguiente imagen puedes ver que tengo varias


cadenas de texto en el rango A1:A4 y han sido seleccionadas
antes de pulsar el comando Texto en columnas.

Los pasos del asistente para este ejemplo son exactamente los
mismos del ejercicio anterior, así que al terminar todos ellos y
pulsar el botón Finalizar tendremos un resultado como el
mostrado en la siguiente imagen:

SEPARAR NOMBRES Y APELLIDOS EN


COLUMNAS
Al principio de este artículo mencioné que el comando Texto en
columnas es utilizado por algunos usuarios de Excel para separar
nombres y apellidos, así que quiero terminar con un ejemplo que
ilustre este caso.
Pero antes de continuar debo decirte que la separación de
nombres y apellidos es una tarea que puede llegar a ser
sumamente compleja. Si quieres saber a lo que me refiero,
puedes consultar el artículo Cómo separar nombres y apellidos en
Excel.
El comando Texto en columnas no puede detectar la diferencia
entre un nombre y un apellido, de hecho ningún comando de
Excel puede hacerlo. Así que, para nuestro ejercicio
supondremos una columna que contiene los apellidos y nombres
separados por una coma tal como lo muestra la imagen siguiente:
Nuestro objetivo es separar todas las cadenas de texto por la
coma (,) que en este momento separa los apellidos y los nombres
bajo la columna Participantes. El primer paso será seleccionar
todo el rango de celdas bajo dicha columna y pulsar el
botón Texto en columnas.
De nueva cuenta seleccionaré la opción Delimitados porque
conozco de antemano que la coma es el carácter que delimita las
cadenas de texto que necesito separar. En el paso 2 debo
asegurarme de elegir la Coma como el separador.
En el paso final colocaré la celda destino como la celda $B$2 y al
pulsar el botón Finalizar obtendré el siguiente resultado:
Es así como el comando Texto en columnas es de gran utilidad
para esas ocasiones en las que necesitas dividir un texto en
varias celdas, ya sea que necesitas separar un texto en palabras
o que existe un carácter delimitador que indicará las partes que
se colocarán en cada columna.

CÓMO SEPARAR NOMBRES


Y APELLIDOS EN EXCEL
Aprender a separar nombres de apellidos en Excel es de suma
importancia para tener una base de datos confiable ya que dicha
información es vital para elaborar reportes y análisis, pero
también es cierto que es una tarea muy compleja de realizar.
DIFICULTAD PARA SEPARAR NOMBRES Y
APELLIDOS
La dificultad principal para separar nombres y apellidos en
Excel es la cantidad de variantes que pueden existir en los
nombres de las personas lo cual hace necesario analizar cada
caso específico para utilizar el procedimiento adecuado. La
solución no es tan sencilla como decirle a Excel que la primera
palabra es el nombre y la segunda palabra es el apellido. La
siguiente imagen muestra el resultado de aplicar esta lógica a los
datos:

Para ti y para mí es muy fácil saber que en este ejemplo todos los
nombres consisten de un solo nombre y un apellido pero ¿Cómo
le decimos a Excel que “del Toro” y “de la Fuente” son apellidos?
Excel no es capaz de hacer esta distinción por sí solo así que es
necesario darle indicaciones específicas.

EL CASO DE SEPARACIÓN MÁS SENCILLO


Si después de hacer una revisión de los datos te das cuenta que
para la mayoría de los registros tienes nombres de una sola
palabra así como apellidos de una sola palabra, entonces te
recomiendo utilizar el Asistente para convertir texto en columnasel
cual colocará cada palabra en una columna diferente.
Este asistente se encuentra en la ficha Datos dentro del
grupo Herramientas de datos y justamente en el paso 2 del
proceso podrás elegir el Espacio como el carácter delimitador
para hacer la separación en varias columnas. Al finalizar la
ejecución del asistente tendrás un resultado similar al siguiente:

Observa que no importa la cantidad de palabras en el nombre, el


asistente colocará cada palabra en una columna diferente. Esta
solución es muy buena en caso de que hayas detectado que la
mayoría de los nombres y apellidos consisten de una sola palabra
ya que solo tendrás que ajustar manualmente aquellos nombres
que tuvieran más de tres palabras porque el asistente habrá
ocupado columnas adicionales en esos casos.

Un beneficio de este método es que no importa si los datos


comienzan por los apellidos o por los nombres ya que de igual
manera se realizará la separación por palabras. Lo que es
muy importante es que todos los registros tengan la misma
estructura, es decir, que todos comiencen por apellido o que
todos comiencen por nombre o de lo contrario tendrás un caso
más difícil de resolver.

SEPARAR LOS APELLIDOS COMPUESTOS


En realidad muy pocas veces podremos aplicar el método anterior
a nuestros datos porque los nombres pueden contener apellidos
compuestos como los mostrados en el primer ejemplo de este
artículo. Para resolver este tema no hay otra manera más que
crear una función VBA que haga la separación de dichos
apellidos y poder considerarlos como una sola unidad.

Pero debo ser claro, los apellidos compuestos que podemos


detectar fácilmente son aquellos que comienzan por palabras
como “de”, “del”, “la”, “las”, “los”, “san”. Si el apellido no contiene
estas palabras, será prácticamente imposible saber si dos o más
palabras forman un solo apellido. La función VBA (UDF) que nos
ayudará a separar este tipo de apellidos compuestos es la
siguiente:

1 Function SEPARARAPELLIDOS(rng As Range) As String


2
3 Dim nombreArr() As String
Dim nuevaCadena As String
4 Dim i As Integer
5
6 'Dvidir el nombre por palabras en un arreglo
7 nombreArr = Split(Trim(rng.Value))
8
9 'Analizar cada palabra dentro del arreglo
10 For i = 0 To UBound(nombreArr)
Select Case LCase(nombreArr(i))
11
12 'Palabras que forman parte de un apellido compuesto
13 'Agregar nuevas palabras separadas por una coma
14 Case "de", "del", "la", "las", "los", "san"
15 'Insertar espacio en blanco
nuevaCadena = nuevaCadena & nombreArr(i) & " "
16 Case Else
17 'Insertar caracter delimitador
18 nuevaCadena = nuevaCadena & nombreArr(i) & "@"
19
20 End Select
21 Next
22
'Remover el último caracter delimitador de la cadena
23 If Right(nuevaCadena, 1) = "@" Then
24 nuevaCadena = Left(nuevaCadena, Len(nuevaCadena) - 1)
25 End If
26
27 SEPARARAPELLIDOS = nuevaCadena
28
29 End Function
30
31
32
33
El objetivo de la función es colocar un carácter delimitador (@)
para hacer la separación entre cada palabra, pero dentro de su
análisis omitirá las palabras definidas como conectores, para las
cuales insertará un espacio en blanco en lugar del carácter
delimitador. Observa que en la línea 16 del código se encuentran
las palabras que identifican el inicio de un apellido compuesto. Si
deseas agregar alguna palabra adicional, deberás hacerlo
separando la nueva palabra por una coma. Al aplicar esta función
a nuestros datos obtenemos el siguiente resultado:
La función ha detectado correctamente los apellidos compuestos
que contienen las palabras definidas y los identifica como uno
solo. Antes de hacer la separación de cada uno de ellos debemos
copiar el valor de las celdas a otra columna:

Esta acción es necesaria ya que utilizaremos dicha columna como


la fuente de datos para el Asistente para convertir texto en
columnas a quien indicaremos en el paso 2 que deseamos utilizar
el carácter delimitador “@” de la siguiente manera:
Al terminar con todos los pasos del Asistente, tendremos el
siguiente resultado:

La función que hemos creado trabaja correctamente sin importar


si los nombres comienzan por los apellidos. En la siguiente
imagen puedes observar el resultado de ejecutar los mismos
pasos anteriores pero con datos que tienen un orden diferente.
La diferencia más importante es que para las primeras dos filas, el
nombre se ha colocado bajo la Palabra 2. En este caso será
necesario implementar una fórmula de Excel para evaluar si la
Palabra 3 está vacía, y en su caso considerar el valor de la
Palabra 2 como el nombre en lugar de ser apellido.

CASOS DE MAYOR COMPLEJIDAD


Ya hemos visto algunas alternativas para separar nombres y
apellidos en Excel, pero existen casos en los que ninguna
opción podrá hacer la separación correcta. Me refiero a esos
casos donde existe más de una palabra para definir alguno de los
apellidos o el nombre mismo. Por ejemplo, considera los
siguientes datos:

Después de aplicar nuestra función VBA y separar la información


por columnas, notamos que todos los nombres fueron divididos
en cuatro palabras pero la parte compleja es detectar que para el
primer nombre la Palabra 1 y la Palabra 2 forman el nombre de la
persona. Que para el segundo nombre la Palabra 3 y la Palabra 4
son un apellido compuesto y para el último nombre la Palabra 2 y
la Palabra 3 forman un apellido compuesto.
No existe función ni método en Excel que sea capaz de hacer
esta distinción de una manera simple. Es por eso que es
importante analizar los datos y aplicar el método que mejor
aplique para la mayoría de los casos y resolver manualmente las
excepciones. Por supuesto que todos estos problemas se
evitarían si se implementara un sistema de captura de datos
adecuado y no dejar que Excel haga la separación de nombres y
apellidos. Pero si no hay otra alternativa, considera utilizar los
métodos presentados en esta ocasión para separar
correctamente la mayor cantidad de datos posibles.

Dejo el archivo de trabajo que utilicé para los ejemplos de la


función VBA de manera que puedas implementarla en tus propios
libros y comenzar a separar nombres y apellidos en Excel.
Artículos relacionados
Dividir texto en columnas
Obtener las iniciales de un nombre

También podría gustarte