Это зависит от того, насколько нечетким должен быть ваш поиск. Вы ищете точное или частичное совпадение в этих полях?
Предполагая точное совпадение, вам просто нужна формула, которая просматривает несколько полей имени и несколько полей отдела для совпадения. Давайте назовем поля поискового запроса NameQuery и DepartmentQuery. Затем можно построить эту формулу, которая будет возвращать значение true, если значение в NameQuery будет найдено в одном из полей имени, а значение в DepartmentQuery будет найдено в одном из полей отдела.
@IsMember(NameQuery; Name1:Name2:Name3) & @IsMember(DepartmentQuery; Department1:Department2:Department3:Department4);
Если вместо этого вам нужно найти частичное совпадение, вы можете использовать формулу @LIKE. Сначала объедините значения полей имени и отдела в одну строку, используя @IMPLODE. Затем вы можете сделать подстановочный знак. Заметьте, это не очень эффективно, поэтому, если вы работаете с десятками тысяч документов, возможно, вы захотите найти лучшее решение.
AllNameItems := @Implode(Name1:Name2:Name3; " ");
AllDepartmentItems := @Implode(Department1:Department2:Department3:Department4; " ");
@Like(AllNameItems; "%" + NameQuery + "%") & @Like(AllDepartmentItems; "%" + DepartmentQuery + "%");