Страницы: 1
RSS
Не отображать уволенных в книге связаного файла
 
Добрый день.
Есть основной файл - список сотрудников. Из него перетягиваются данные в другие файлы компании, например - ЗП, переработки, прочие.
Как можно сделать чтоб во всех файлах не отображались уволенные сотрудники? все сотрудники отображаются в списке сотрудников.
Есть столбец - последний рабочий день.  Ячейка пустая - если сотрудник работает, и стоит дата последнего рабочего дня - если сотрудник уволен.
Может как то к этой ячейке привязаться? Какую функцию можно использовать для этого?
 
Есть такая формула
=ВПР(A9;' Персонал\_HR\[Табельный список.xls]Табель'!$A$3:$E$1000;3;0) - это фио сотрудника, который уволен. Как можно изменить эту формулу, чтоб сотрудник не отображался в текущем листе
Изменено: Emelion - 13.01.2020 15:29:35
 
Правила форума читали ?
Цитата
2.3. Приложите файл(ы) с примером (общим весом не более 300Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.
Это ускорит ответ.
 
Попробовал воспроизвести файл. Он сложнее, чем фрагмент
Изменено: Emelion - 13.01.2020 21:00:32
 
Можно так
массивная:
Код
=IFERROR(SMALL(IF($'Общий список-Задача'.$F$2:$F$7<>"";$'Общий список-Задача'.$A$2:$A$7*1;"");ROW(A1));"")
 
Кажется это не совсем так.
Все три сотрудника отображаются в подразделении. А нужно, чтоб уволенный не отображался
 
Цитата
Emelion написал:
А нужно, чтоб уволенный не отображался
Тормознул, сделал наоборот. Поменяйте в формуле <> на =
 
Извините за глупый вопрос, почему я не вижу этих значений в формуле? где нужно поменять <> на =
Изменено: Emelion - 14.01.2020 00:00:37
 
Формулы на листе "Админ", приложенного в #5 файла. Вам нужно поменять формулы в столбце А. они масивные
В столбце B поменяйте в формулах 2 на 3, что бы фамилии выводил.
 
Спасибо. Кажется решили)
 
Подскажите пожалуйста, я только разбираюсь в продвинутом уровне ексель. Хочу не скопировать а разобраться и понять как работают формулы.
Разобрал формулу в #5 сообщении, уже почти понял логику ее работы. Не могу понять только как работает последняя функция - строка (row), и не могу найти инфо, где это описано или показано. Если правильно понял - именно она "удаляет" (не переносит) строку в вторую таблицу...
 
Цитата
Emelion написал:
Не могу понять только как работает последняя функция - строка (row)
Row(a1) второй параметр small. В первой строке с ее помощью выбирается первое наименьшее. При копировании/протягивании формулы вниз - второе и последующее.
в #5 вариант как можно решить задачу, но при условии, что в списке больше 10 человек будут проблемы из-за преобразования кода в числа с потерей впередистоящих нулей.
Изменено: bigorq - 14.01.2020 23:20:20
 
В списке значительно больше 10 человек.

И есть еще задача, нужно чтоб не переносились сотрудники уволенные до текущего года.... это как то если по дате нужно добавить?
Сейчас 2020 год,  если сотрудник уволен в 2019 году - он не переносится на второй лист, а если в 2020 - то переносится
 
Вот переделал, независимо от количества сотрудников и с годом.
Последний день года по который нужно исключать сотрудников в G1 (можно вычислить и в формуле, но мне лень)
Новые формулы на листе Админ в столбцах Е-G
Изменено: bigorq - 15.01.2020 19:40:14 (Добавил критерий поиска 0 в ВПР)
 
Буду разбираться. Спасибо большое.

Не в тему - подскажите, есть ли какой то алгоритм или последовательность - как разобраться (научится) работать в ексель?)
 
Цитата
Emelion написал:
есть ли какой то алгоритм или последовательность - как разобраться (научится) работать в ексель?)
Не знаю, для меня это типа хобби, поэтому на форумах учусь. Если нужно для работы и быстро, то я думаю книжки умные есть и курсы
 
Помогите доработать файл.
Выше исключили сотрудников до начала текущего года.
Как сделать сортировку по разным таблицам исходя из последних 4-х цифр номера.

В файле попробовал прописать формулу, но где то ошибка и не могу понять где.

И наверно 2 формулы нужно объединить...
Нужно сделать так, чтоб уволенные сотрудники не переносились на вторую вкладку, а которые переносятся сортировались в несколько таблиц в зависимости от 4-х последних цифр номера
 
Код
=ЕСЛИОШИБКА(ИНДЕКС('Общий список-Задача'!$A$2:$A$7;НАИМЕНЬШИЙ(ЕСЛИ((('Общий список-Задача'!$F$2:$F$7>'Общий список-Задача'!$G$1)+('Общий список-Задача'!$F$2:$F$7=""))*(ПРАВСИМВ('Общий список-Задача'!$A$2:$A$7;4)="0200");СТРОКА('Общий список-Задача'!$A$2:$A$7)-1;"");СТРОКА(A1));1);"")
 
Спасибо огромное.

как понять знак * между двумя условиями?
Цитата
МатросНаЗебре написал:
Общий список-Задача'!$F$2:$F$7=""))*(ПРАВСИМВ('Общи
это функция как "И"?
 
Да.
* это как функция И.
+ это как функция ИЛИ.
 
Подскажите, как правильно дописать еще одно условие по окончанию номера?
Цитата
МатросНаЗебре написал:
*(ПРАВСИМВ('Общий список-Задача'!$A$2:$A$7;4)="0200")
как сюда добавить функцию "или"
последние 4 цифры = или 0200 или 0405?
Я пишу =или("0200";"0405") и формула выдает ошибку, пробовал так ="0200"+"0405" все равно ошибка
 
Код
=ЕСЛИОШИБКА(ИНДЕКС('Общий список-Задача'!$A$2:$A$8;НАИМЕНЬШИЙ(ЕСЛИ((('Общий список-Задача'!$F$2:$F$8>'Общий список-Задача'!$G$1)+('Общий список-Задача'!$F$2:$F$8=""))*
((ПРАВСИМВ('Общий список-Задача'!$A$2:$A$8;4)="0200")+(ПРАВСИМВ('Общий список-Задача'!$A$2:$A$8;4)="0405"));
СТРОКА('Общий список-Задача'!$A$2:$A$8)-1;"");СТРОКА(A1));1);"")
 
Спасибо большое.
Мне нужно было брать шире...
Когда я пойму эту логику)
Страницы: 1
Наверх