Припустимо ми маємо таблицю кредитів із відповідним забезпеченням. Нам потрібно, для прикладу, відобразити список забезпечення для кожного кредиту в одній комірці.
Excel може нас забезпечити тільки простою функцією CONCATENATE, але вам потрібно буде вибирати необхідні комірки вручну. Щоби спростити роботу, нам необхідно автоматизувати процес з'єднання тексту по умові з різних комірок. Отож, якщо вам потрібно швидко "зчепити" текст з різних комірок використовуючи умову IF, тоді вам варто написати власну функцію.
Таблиця кредитів із забезпеченням:
Отже, створимо власну функцію та назвемо її CONCATIF. Для цього, відкрийте меню Service - Macros - Visual Basic Editor, вставте модуль VBA (меню Insert - Module) і скопіюйте туди текст цієї функції:
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
Закрийте Visual Basic Editor і поверніться в Excel.
Тепер, в Function wizard в категорії
=CONCATIF (колонка із шуканими значеннями; шукане значення; колонка з даними для об'єднання)
Ми матимемо такий результат:
І на останок, вам необхідно зафіксувати діапазони A2:A10 та C2:C10 знаком долара ($), для того, щоб діапазони не з'їжджали донизу під час копіювання функції.