TOP

Conexión de texto en celdas por condición (CONCATIF)

YouLibreCalc for Excel logo

Descripción

Digamos que tenemos una tabla de préstamos con la garantía correspondiente. Necesitamos, por ejemplo, mostrar una lista de garantías para cada préstamo en una celda.

Excel solo puede proporcionarnos una función simple CONCATENATE , pero deberá seleccionar las celdas requeridas manualmente. Para simplificar el trabajo, necesitamos automatizar el proceso. conexión de texto por condición de diferentes celdas . Así que si lo necesitas rápido "enganchar" texto de diferentes celdas usando una condición IF , entonces deberías escribir tu propia función.


Tabla de préstamos garantizados:

VBA código para la función CONCATIF

Entonces, creemos nuestra propia función y le ponemos un nombre. CONCATIF . Para hacer esto, abra el menú. Service - Macros - Visual Basic Editor , insertar módulo VBA (menú Insert - Module ) y copie el texto de esta función allí:

Function CONCATIF(Table As Range, SearchValue As Variant, Table2 As Range)
	'moonexcel.com.ua
	Dim i As Integer
	
	For i = 1 To Table.Rows.Count
		If Table.Cells(i, 1) = SearchValue Then
			If Not IsEmpty(Table2.Cells(i, 1).Value) Then
			    CONCATIF = CONCATIF & Table2.Cells(i, 1).Value & "; "
			End If
		End If
	Next i
	
	CONCATIF = Left(CONCATIF, Len(CONCATIF) - 2)
End Function

Cierre Visual Basic Editor y regrese a Excel.

Ahora, en Function wizard en la categoría User definido puedes encontrar nuestra función CONCATIF y usarla. La sintaxis de esta función es la siguiente:

=CONCATIF ( columna con valores buscados ; valor de búsqueda ; columna con datos para unir )

Tendremos el siguiente resultado:

Y finalmente, necesitas arreglar los rangos. A2:A10 y C2:C10 signo de dólar ($) , para que los rangos no se muevan hacia abajo al copiar la función.

Artículos sobre el tema: