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:
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.