Удалить дубликаты на основе даты представления? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть электронная таблица с записями сотрудников, и у меня 150 000 строк.Столбцы AD содержат информацию о сотруднике (идентификатор сотрудника, имя, фамилия, должность)

Column E - дата приема на работу, Column F содержит текстовые строки.

Допустим, все строки 2-5 принадлежат одному сотруднику, разные даты найма, но каждая строка в столбце F = Negative

Существует ли формула Countif, в которую можно поместить строку, «Сохранить» в строке с самой ранней датой приема на работу для этого сотрудника и поставить «Удалить» для повторяющихся строк для этого сотрудника?

=IF(COUNTIFS(A$2:A2,A2,D$2:D2,D2)>1,"Mark","")

, который я использовал для поиска только дубликатов при сравнении двух столбцов, и задавался вопросом, смогу ли я перераспределить его в соответствии с этими потребностями.

что-то вроде =IF(COUNTIFS(A$1:A1,A1,D$1:D1,D1)>1,"Keep","Remove"), но также добавьте в базу особенность, которая должна быть найдена раньше, чтобы она знала, что сохранить.Может быть, это можно сделать, просто заказав дату по az?

1 Ответ

0 голосов
/ 06 марта 2019

MIN против MATCH

В любом решении замените 21 на последний номер строки, например, 150000.

MIN Solution

Для ячейки во втором ряду скопируйте следующее массив формул в строке формул и удерживайте LEFT CTRL SHIFT и нажмите ENTER.

=IF(MIN((A$2:A$21=A2)*B$2:B$21)=B2,"Keep","Remove")

и скопируйте вниз.

enter image description here


Решение MATCH («Частично отсортировано»)

Если идентификатор сотрудника уникален для каждого сотрудника и список «частично отсортирован» по дате наймат.е. первое появление сотрудника содержит наименьшую дату, во второй строке вы можете использовать формулу:

=IF(ISNUMBER(MATCH(A2,A$1:A1,0)),"Remove","Keep")

и скопировать вниз.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...