Формула массива Excel для поиска повторяющихся строк в нескольких столбцах - PullRequest
0 голосов
/ 28 февраля 2019

есть ли способ указать дубликаты строк в нескольких столбцах с помощью формулы массива?

Данные:

AA1   BB1   CC2   duplicate
AA1   BB2   CC1
AA1   BB1   CC2   duplicate
AA1   BB1   CC1

В приведенной выше таблице строки 1 и 3 - это те, которые мне нужнычтобы указать, поставив «дубликаты» в столбце 4.

Я знаю о функции удаления дубликатов в Excel, но мне нужно увидеть дубликаты строк перед их фактическим удалением.Кроме того, добавление скрытого вспомогательного столбца не является вариантом из-за того, что происходит с файлом, находящимся ниже в этом процессе ...

Если бы данные были только в одном столбце, сработала бы формула счета.Так что я надеялся, что какой-нибудь countif(col1 & col2 & col3, range(A:A & B:B & C;C)) сможет добиться цели ...

Спасибо!

Ответы [ 3 ]

0 голосов
/ 28 февраля 2019

Вы должны понять, что означает дубликат.Это означает, что есть еще случаи вхождения исходного значения.В вашем примере, первая строка НЕ ​​является дубликатом, потому что у нее ранее не было ни одного вхождения.Следующее значение является дубликатом, поскольку оно имеет второе вхождение.Я подготовил для вас метод извлечения дубликатов и пометки их по мере необходимости.

enter image description here

Формула в ячейке D1:

=CONCATENATE(A1,B1,C1)

Формула в ячейке E1:

=COUNTIF( D$1:D1, D1 )

Формула в ячейке F1:

=IF(E1>1,"Duplicate","")

- Изменить:

Если вы хотите показать все дубликаты (включаяисходное значение) enter image description here

Формула в ячейке D1:

=CONCATENATE(A1,B1,C1)

Формула в ячейке E1:

=IF(COUNTIF($D$1:$D$4,D1)=1,0,1)

Формула в ячейке F1:

=IF(E1>0,"Duplicate","")

Ура!

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

К вашей точке, где удаление повторяющихся строк является целью, а не удаление всех строк, включая первое вхождение, и вспомогательный столбец не вариант, вот как это сделать.

Использование немного другойформула из ответа Адирмолы:

enter image description here

В столбце D проследите, как заблокированы адреса ... например, A $ 1: A1 ... для формулы встрока 1. При заполнении формулы номер строки левой части остается прежним, но номер строки правой части увеличивается.Поэтому подсчитываем экземпляр дубликата вхождения.

Тогда, если добавление вспомогательного столбца не является опцией, давайте внесем условное форматирование с целью выделения 2-го, 3-го, 4-го .. вхождения, фильтрации по цвету.и удалите их.

Вот как вы сначала выберете регион, где встречаются дубликаты.Активная ячейка (ячейка белого цвета вместо выделенной серым цветом выделенной области) должна находиться в первой строке выделения.

Добавить условное форматирование, используя ту же формулу в столбце D выше для строки 1, но этовремя, заблокируйте все столбцы и поставьте условие >1.

Примените условие, и вы можете выполнить фильтрацию по цвету и удалить дубликаты!

enter image description here

Дополнительная информация: COUNTIF и COUNTIFS - очень неэффективная формула для очень больших данных (около 10 000 строк выше, в зависимости от количества задействованных столбцов).Вы можете почувствовать медленный ответ Excel, поэтому было бы неплохо удалить формулу после удаления повторяющихся строк.В противном случае добавьте двойную кавычку, чтобы отключить формулу, чтобы ее можно было использовать в следующий раз.="COUNTIFS($A$1:$A1,$A1,$B$1:$B1,$B1,$C$1:$C1,$C1) > 1"

Надеюсь, это поможет

0 голосов
/ 28 февраля 2019

Simple COUNTIFS

Здесь нет необходимости для формулы массива. COUNTIFS выполнит эту работу.

=COUNTIFS($A$1:$A$4,A1,$B$1:$B$4,B1,$C$1:$C$4,C1)

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