Используйте INDEX / MATCH
комбо. Как то так:
=IFERROR(INDEX(Sheet1!$B$3:$B$9,MATCH($A2,Sheet1!C$3:C$9,0)),"OFF DAY")
Синтаксис:
=INDEX(rng,index_number)
- возвращает значение на основе порядкового номера
=MATCH(lookup_value,rng)
- возвращает относительное положение искомого значения
=INDEX(rng,MATCH(lookup_value,rng))
- мы знаем все аргументы, кроме одного - index_number
. Поскольку выходные данные функции MATCH
совпадают с номером index_number, мы собираемся заменить номер index_number функцией MATCH
.
Вы можете почти думать о комбо INDEX/MATCH
как:
=INDEX/MATCH(rng,search_value)
=IFERROR(value_or_expression_to_evaluate,value_to_return_if_error)
- и, наконец, мы собираемся обернуть нашу формулу этой формулой, которая будет возвращать значение, если нет совпадения, что означает, что в вашем примере сотрудник находится в отпуске, в состоянии покоя. день или что-то еще. Может быть =IFNA
тоже.
Теперь, чтобы вернуть все значения с несколькими совпадающими lookup_value, как в вашем примере, где «Tam» имеет две смены в понедельник, вы можете использовать конечный номер с именами сотрудников, то есть «Tam1» и «Tam2», чтобы указать номер смены в данный день. Или вы можете также использовать комбинацию функции COUNTIF
(для подсчета числа сдвигов "Tam") и CONCATENATE
, чтобы объединить результаты так, чтобы результат был: 630-1430 / 1230-2200
. Есть много способов сделать это в зависимости от ваших требований.
Надеюсь, это поможет ..