У меня есть набор данных для сотрудников, содержащий имя и 3 атрибута (должностная функция, разряд и местоположение). Затем у меня есть набор данных для открытых позиций, содержащий номер заявки и 3 атрибута (должностная функция, разряд и местоположение). Для каждого сотрудника я хотел бы сравнить три атрибута, связанных с ними, с такими же тремя атрибутами открытых позиций и отобразить соответствующие номера заявок для каждого сотрудника, где есть совпадение.
решение1
=IF(SUMPRODUCT((B2=F2)*(C2=G2)*(D2=H2))=1,A2)
решение2
Пример электронной таблицы доступен какhttp://www.bumpclub.ee/~jyri_r/Excel/Employees_and_vacancies_matched.xls
Тестовый макет:
Столбцы A:E — Имя сотрудника (A), должностная функция (B), разряд должности (C), местоположение (D)
Столбец E: — Столбцы B:E объединены
Столбцы I:L — Номер заявки (I), должностная функция (J), разряд должности (K), местоположение (L)
Столбец M: — Столбцы J:L объединены
Столбец F содержит формулу массива (для вставки нажмите Shift-Ctrl-Enter из окна формул, фигурные скобки вставляются Excel, а не пользователем):
={SMALL((IF($M$2:$M$100=$E2,OFFSET($M$2:$M$100,0,-4),"*")),1)}
Формула ищет совпадения данных сотрудников с открытых позиций ( IF($M$2:$M$100=$E2
), и в случае положительного результата возвращает соответствующий номер заявки ( OFFSET($M$2:$M$100,0,-4
), в противном случае возвращает "*"
. Результаты будут сохранены в массиве, и прямого способа их отображения нет. Поэтому в текущем столбце будет показан наименьший номер заявки ( SMALL(array;1)
).
Второе совпадение будет отображено в следующем столбце. После копирования формулы ),1)}
следует заменить на ),2)}
, и т. д.
Если такое решение вам подходит, можно разработать формулу, которая будет предупреждать пользователя, если столбцов слишком мало для отображения всех соответствующих результатов.
решение3
Я думаю, вы на правильном пути, объединяя три атрибута. Затем их можно развернуть следующим образом:
Чтобы облегчить чтение, по крайней мере, для начала, я добавил «Работа» и «Вакансия». Для набора AAA один человек занят (#401) и нет заявки (вакансия пуста). Для набора ABC есть заявка (req# 3a) и один человек уже занят с этим набором навыков (#123).