Concatenar Celdas Excel

Function ConcatenarSI
( Versión VBA )

Por Héctor Miguel Orozco Díaz
Mvp -Microsoft Office Excel
Como sabréis Excel tiene la Función concatenar que une dos o mas cadenas en una cadena de texto, pero que se nos queda corta cuando necesitamos elaborar nuestras fórmulas o necesidades mas complejas.
En este artículo os vamos a mostrar como podéis concatenar celdas o unir celdas en una sola celda según condición mediante la Funcion ConcatenarSI
Desarrollo
Tenemos en nuestro Libro de Excel por ejemplo los siguientes datos >>
Columna A >> Nombres
Columna B >> Deportes

Necesitamos concatenar las celdas o unir las celdas cuyo deporte pertenezca a un nombre por ejemplo >>
Queremos ver en la celda C2 nos aparezca todos los deportes que corresponden a Juan >>

Para ello aplicaremos la función Definida por el Usuario [ = ConcatenarSI ]
'Function Héctor Miguel Orozco Díaz
Function ConcatenarSI(Criterios As Range, Condicion As String, Datos As Range, _
Optional Exacto As Boolean = False, _
Optional Separa As String = " ") As String
Dim Criterio As Range, Sig As Integer, Coincide As Boolean: ConcatenarSI = ""
For Each Criterio In Criterios: Sig = Sig + 1: Coincide = IIf(Exacto, _
Criterio = Condicion, LCase(Criterio) = LCase(Condicion))
If Coincide Then If Not IsEmpty(Datos.Cells(Sig)) Then ConcatenarSI = _
ConcatenarSI & IIf(Len(ConcatenarSI), Separa, "") & Datos.Cells(Sig)
Next
End Function
Argumentos de la función concatenarSI

Los argumentos requeridos Criterios y Datos Tiene que tener la misma dimensión en Filas y columnas.
El argumento requeridoCondición El dato que queremos que haga de nexo de unión en la Celda.
El argumento opcionalExactoSi ponemos un [ 1 ] nos buscara la coincidencia Exacta, si lo dejamos en blanco nos buscara todas las coincidencias.
El argumento opcionalSeparaPodemos dejarlo en Blanco o ponerle un separador al gusto [ , ] o [ - ] o [ / ] o etc....
Y el resto es para que practiquéis vosotros, por hoy eso es todo ....Como siempre ... NO hagáis mal uso de los conocimientos que se os ofrece
...esperamos que haya sido de vuestra ayuda !!!
Descarga del archivo:
Function ConcatenarSI (