30 septiembre, 2023

FUNCIÓN UNIR CADENAS EN EXCEL

Hola a todos!.

Con la versión office 365 y en concreto en Excel, Microsoft publicó en su momento algunas funciones nuevas que no se encuentran en otras versiones de Excel. Una de ellas es la función UnirCadenas. 

Esta función nos permite seleccionar un rango de celdas y pasar el contenido a una celda en modo cadena de texto. Su sintaxis es la siguiente:

UNIRCADENAS(delimitador, ignorar_vacío, Texto1, [Texto2],…)

Donde el delimitador puede ser un espacio en blanco, una coma, etc, y pudiendo evitar las celdas vacías en la composición de nuestro string.

El ejemplo sería este:

FUNCIÓN UNIR CADENAS EN EXCEL

Es decir, pasamos el rango de A2:A15 a una celda utilizando la fórmula. Sencillo, verdad?, así es.

Pero como siempre me gusta pensar en aquellos que no tienen el office 365 (por el motivo que sea), siempre podremos hacer lo mismo pero con VBA y construyendo nuestra propia función. Os la dejo aquí y luego explico:

Public Function UNECADENA(Delimitador As String, ignorar_vacio As Boolean, ByVal miRango As Range) As Variant
'Definimos variables
Dim celda As Range
Dim nCadena As String, sCadena As String
'Recorremos el rango y componemos string incluyendo el delimitador seleccionado e indicando si queremos incluir celdas vacías.
For Each celda In miRango
If ignorar_vacio = True And celda <> "" Then sCadena = sCadena & Delimitador & celda.Value
If ignorar_vacio = False Then sCadena = sCadena & Delimitador & celda.Value
Next
nCadena = Trim(Mid(sCadena, Len(Delimitador) + 1, Len(sCadena)))
UNECADENA = nCadena
End Function

Con esta UDF que acabo de programar podremos realizar el mismo trabajo que con la función UNIRCADENAS. La he denominado UNECADENA y funciona con la misma sintaxis que la función original:

Introducimos un delimitador, indicamos verdadero si queremos evitar las celdas vacías o falso si queremos que se tengan en cuenta y por último seleccionar el rango.

Aquí tenéis una prueba realizada con las dos funciones, utilizando el espacio como delimitador y teniendo en cuenta celdas vacías:

FUNCIÓN UNIR CADENAS EN EXCEL1

Y efectivamente, obtenemos el mismo resultado : )

Como habéis podido ver, mediante VBA hemos creado nuestra propia función para poder unir cadenas de forma sencilla.

Nota: He dejado la función Unircadenas en la hoja, si tenéis office 365 la veréis sin problema, pero si tenéis otra versión no se mostrará. En cualquier caso, la UDF que he creado la veréis en cualquier versión : )

Descarga el archivo de ejemplo pulsando en: FUNCIÓN UNIR CADENAS EN EXCEL

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies