Как извлечь данные из другого файла Excel и отсортировать их по имени?

Как извлечь данные из другого файла Excel и отсортировать их по имени?

У меня есть 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 работает справа.

Если вы хотите вернуть данные слева от столбца «Имя», вам понадобится другая формула.

Связанный контент