Страницы: 1
RSS
Извлечение повторяющихся элементов по нескольким условиям
 
Привет, Форумчане. Нужна помощь в извлечении дубликатов по нескольким условиям. Есть два столбца Имя и Отчество, нужно извлечь Все дубликаты в отдельный столбец по Имени и Фамилии. Во вложении пример. Получилось извлекать дубликаты только по именам, но когда пытаюсь извлечь Дубликаты Имен с разными дубликатами отчеств, не получается. К примеру ниже Таблица, извлечь дубликаты только имена без критерия отчество получается, когда добавляется критерий отчество тоже от части получается, с одним но если у имен разные дубликаты отчеств оно выводит только одно имя. Что имею в виду, используя данную формулу массива {=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$15;ПОИСКПОЗ(0;СЧЁТЕСЛИ($D$1:D1;$A$2:$A$15)+ЕСЛИ(СЧЁТЕСЛИМН($A$2:$A$15;$A$2:$A$15;$B$2:$B$15;$B$2:$B$15)>1;0;1);0));"")}
Формула извлекает Иван, потом Максим, и потом Андрей. Но так как у Максим разные отчества и отчества у обоих дублируется, надо чтобы извлекалось в следующем порядке - Иван, Максим (с одним отчеством), Максим ( с другим отчеством), Андрей.
ИменаОтчество
ИванМихайлович
АлександрСергеевич
МаксимАлексеевич
РамильЮсупович
МаксимМихайлович
АндрейВасильевич
НикитаИгоревич
АндрейВасильевич
ВалерийАлабаевич
ИванМихайлович
МаксимМихайлович
МинаАра
ТанУруевич
МаксимАлексеевич
 
Если цель  - выявить, то можно протянуть
Код
=СУММПРОИЗВ(($A$2:$A$15=A2)*($B$2:$B$15=B2))

Затем можно фильтр, копипаст, удалить дубликаты.
Дёшево и сердито:

Иван Михайлович
Максим Алексеевич
Максим Михайлович
Андрей Васильевич
Изменено: Hugo - 06.07.2024 19:17:07
 
В PQ - простой группировкой + фильтр
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Имена", type text}, {"Отчества", type text}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"Имена"}, {{"Количество", each _, type table [Имена=nullable text, Отчества=nullable text]}, {"счет", each Table.RowCount(_), Int64.Type}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Сгруппированные строки", "Пользовательский", each Table.Distinct([Количество])),
    #"Развернутый элемент Пользовательский" = Table.ExpandTableColumn(#"Добавлен пользовательский объект", "Пользовательский", {"Отчества"}, {"Отчества"}),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Развернутый элемент Пользовательский", each ([счет] <> 1)),
    #"Другие удаленные столбцы" = Table.SelectColumns(#"Строки с примененным фильтром",{"Имена", "Отчества"})
in
    #"Другие удаленные столбцы"
Изменено: txxt - 07.07.2024 00:09:57
 
Можно ещё несложным макросом в новый лист или куда угодно их всех выгрузить. Или по месту удалить лишнее -  смотря в чём задача/процесс
 
pq
 
либо еще вариант - просто выделить и сделать сводную таблицу :)
 
PQ
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Grouped Rows" = Table.Group(Source, {"Имена"}, {{"Count", each Table.RowCount(_), type number}}),
    #"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Count] <> 1))
in
    #"Filtered Rows"
Изменено: jakim - 07.07.2024 13:15:00
 
21-й эксель:
=УНИК(ФИЛЬТР(A2:B15;СЧЁТЕСЛИМН(A$2:A$15;A$2:A$15;B$2:B$15;B$2:B$15)>1))
постарше:
{ }
=ЕСЛИОШИБКА(ИНДЕКС(A$2:A$15;НАИМЕНЬШИЙ(ЕСЛИ((СЧЁТЕСЛИМН(A$2:A$15;A$2:A$15;B$2:B$15;B$2:B$15)>1)*(ПОИСКПОЗ(A$2:A$15&B$2:B$15;A$2:A$15&B$2:B$15;)=СТРОКА(A$2:A$15)-СТРОКА(A$1));СТРОКА(A$2:A$15)-СТРОКА(A$1));СТРОКА(A1)));"")
 
Павел \Ʌ/, спасибо за формулу. А как сделать то же самое, только если есть еще таблица и извлечь дубли между первой и второй. Пробовал преобразовать формулу, что указана выше, но ничего не получается.

ИменаОтчестваИмяОтчество
ИванМихайловичИванМихайлович
АлександрСергеевичАлександрСергеевич
МаксимАлексеевичМаксимАлексеевич
РамильЮсуповичРамильЮсупович
МаксимМихайловичМаксимМихайлович
АндрейВасильевичАндрейВасильевич
НикитаИгоревичНикитаИгоревич
АндрейВасильевичОлегАлексеевич
ВалерийАлабаевичАндрейВасильевич
ИванМихайловичИванМихайлович
МаксимМихайловичМаксимАлексеевич
МинаАраМинаАра
ТанУруевичМаксимМихайлович
МаксимАлексеевичКрыкМанович
Страницы: 1
Наверх