
У меня есть 2 файла Excel, один из них — список работников, а другой — список отсутствий. Мне нужно получить причину и конечную дату из списка отсутствий, чтобы извлечь их в основной список и поместить под правильным именем. Сейчас мне приходится делать это вручную, но поскольку в основном списке более 1000 имен, а в списке отсутствий около 800 имен, он очень быстро устаревает.
Э: Хорошо, давайте попробуем еще раз.
Форматирование основного списка:
A | B | C | D | E | F | G |
Basic unit|Name|Birthdate|Position|Permanent|starting date|ending date|
Форматирование отсутствий:
A | B | C | D | E | F | G | H | I | J
Employee ID# | Unit | Unit name | Name | # | Absence reason | payment | starting date | ending date | length
И сегодня я получил более подробные критерии сортировки, мне нужно добавить отсутствия в основной список из отсутствия, если продолжительность больше месяца и без сохранения заработной платы, и когда эти критерии выполнены, мне нужно
Absence reason, starting date - ending date
для добавления в основные списки H2 и ниже по соответствующему имени. Теперь я могу сделать это так, чтобы создать дополнительный столбец в списке отсутствий, где я объединяю необходимую информацию в K2:
=F2&", "& TEXT(A1,"dd/mm/yy")&" - "&TEXT(B1,"dd/mm/yy")
Теперь мне нужна формула, которая проверяет, является ли длина >30, а оплата «бесплатной».
Кроме того, я финн, а это значит, что мой Excel на финском языке, а это значит, что мне придется пропускать формулы через переводчик, в настоящее время я используюhttp://en.excel-translator.de/translator/
E2: Я отсортировал список отсутствующих так, чтобы остались только нужные мне данные, и мне не нужно ничего проверять, чтобы просто извлечь и поместить соответствующее имя в основной список.
решение1
Поскольку вы не показываете список отсутствующих, предположим, что он содержит столбцы
Имя | Дата начала | Дата окончания | Причина отсутствия
Добавьте два столбца в таблицу «Сотрудники» и используйте ВПР следующим образом:
=iferror(vlookup(A2,[Absences.xls]Sheet1!$A$1:$D$1000,3,false),"")
Это вернет дату окончания, если имя в ячейке A2 можно найти в списке отсутствия. Для причины отсутствия используйте a 4
в качестве третьего параметра VLOOKUP
Редактировать: Со структурой столбцов, указанной в комментарии
A | B | C | D | E | F | G | H | I | J
Employee ID# | Unit | Unit name | Name | # | Absence reason | payment | starting date | ending date | length
и предположив, что первый столбец находится в столбце A, и предположив, что столбец Имя содержит совпадающие имена, формула для причины отсутствия будет иметь вид
=iferror(vlookup(A2,'[the file.xlsx]the sheet'!$D$1:$I$1000,3,false),"")
и для даты окончания
=iferror(vlookup(A2,'[the file.xlsx]the sheet'!$D$1:$I$1000,6,false),"")
Измените имя файла и листа по своему усмотрению.
Помните, что Vlookup использует первый столбец таблицы поиска для поиска совпадений, поэтому мы начинаем таблицу поиска со столбца D, в котором хранятся имена. Vlookup работает справа.
Если вы хотите вернуть данные слева от столбца «Имя», вам понадобится другая формула.