Поиск дубликатов по условию
monstr_ork
Дата: Вторник, 31.07.2018, 22:09 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Здравствуйте, форумчане! Подскажите пожалуйста, нужно найти количество повторяющихся значений. Это не сложно, но загвоздка в том, что повторяющимся значением является только значение, которое повторяется в период от даты в "столбце 1" + 1 месяц.. т.е. если значение повторяется в течении 1 месяца, то это является повторяющееся значение, если нет, то не повторяется. Пример 1234 - повторяется в массиве 4 раза, голубой относительно желтого повтор, желтый относительно зеленого не повтор, а зеленый относительно красного повтор. И получается что повторяющихся значений только 2. Помогите как это можно решить, формулой или VBA.
Здравствуйте, форумчане! Подскажите пожалуйста, нужно найти количество повторяющихся значений. Это не сложно, но загвоздка в том, что повторяющимся значением является только значение, которое повторяется в период от даты в "столбце 1" + 1 месяц.. т.е. если значение повторяется в течении 1 месяца, то это является повторяющееся значение, если нет, то не повторяется. Пример 1234 - повторяется в массиве 4 раза, голубой относительно желтого повтор, желтый относительно зеленого не повтор, а зеленый относительно красного повтор. И получается что повторяющихся значений только 2. Помогите как это можно решить, формулой или VBA. monstr_ork
Ответить
Сообщение Здравствуйте, форумчане! Подскажите пожалуйста, нужно найти количество повторяющихся значений. Это не сложно, но загвоздка в том, что повторяющимся значением является только значение, которое повторяется в период от даты в "столбце 1" + 1 месяц.. т.е. если значение повторяется в течении 1 месяца, то это является повторяющееся значение, если нет, то не повторяется. Пример 1234 - повторяется в массиве 4 раза, голубой относительно желтого повтор, желтый относительно зеленого не повтор, а зеленый относительно красного повтор. И получается что повторяющихся значений только 2. Помогите как это можно решить, формулой или VBA. Автор - monstr_ork Дата добавления - 31.07.2018 в 22:09
Hugo
Дата: Вторник, 31.07.2018, 22:59 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация:
707
±
Замечаний:
0% ±
2019
Добрый день. Поясните вот это:если значение повторяется в течении 1 месяца
Т.к. для одного варианта сделать макросом сравнительно легко, а вот для второго пока не знаю как... если не сортировать. Но в любом случае от ответа зависит алгоритм.
Добрый день. Поясните вот это:если значение повторяется в течении 1 месяца
Т.к. для одного варианта сделать макросом сравнительно легко, а вот для второго пока не знаю как... если не сортировать. Но в любом случае от ответа зависит алгоритм. Hugo
excel@nxt.ru webmoney: E265281470651 Z422237915069
Сообщение отредактировал Hugo - Вторник, 31.07.2018, 23:00
Ответить
Сообщение Добрый день. Поясните вот это:если значение повторяется в течении 1 месяца
Т.к. для одного варианта сделать макросом сравнительно легко, а вот для второго пока не знаю как... если не сортировать. Но в любом случае от ответа зависит алгоритм. Автор - Hugo Дата добавления - 31.07.2018 в 22:59
krosav4ig
Дата: Среда, 01.08.2018, 00:06 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация:
989
±
Замечаний:
0% ±
Excel 2007,2010,2013
Здравствуйте. так нужно? Код
=ЕСЛИ(СЧЁТ(1/(B$2:B2=B2)/(МУМНОЖ(--($A$2:A2*{1;-1}>=ДАТАМЕС(A2;{-1;1})*{1;-1});{1:1})=2))=1;СЧЁТ(1/($B$2:$B$45=B2)/(МУМНОЖ(--($A$2:$A$45*{1;-1}>=ДАТАМЕС(A2;{-1;1})*{1;-1});{1:1})=2))-1;"")
Здравствуйте. так нужно? Код
=ЕСЛИ(СЧЁТ(1/(B$2:B2=B2)/(МУМНОЖ(--($A$2:A2*{1;-1}>=ДАТАМЕС(A2;{-1;1})*{1;-1});{1:1})=2))=1;СЧЁТ(1/($B$2:$B$45=B2)/(МУМНОЖ(--($A$2:$A$45*{1;-1}>=ДАТАМЕС(A2;{-1;1})*{1;-1});{1:1})=2))-1;"")
krosav4ig
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение Здравствуйте. так нужно? Код
=ЕСЛИ(СЧЁТ(1/(B$2:B2=B2)/(МУМНОЖ(--($A$2:A2*{1;-1}>=ДАТАМЕС(A2;{-1;1})*{1;-1});{1:1})=2))=1;СЧЁТ(1/($B$2:$B$45=B2)/(МУМНОЖ(--($A$2:$A$45*{1;-1}>=ДАТАМЕС(A2;{-1;1})*{1;-1});{1:1})=2))-1;"")
Автор - krosav4ig Дата добавления - 01.08.2018 в 00:06
monstr_ork
Дата: Среда, 01.08.2018, 06:02 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Hugo, я не против макроса, если это возможно сделать через него
Hugo, я не против макроса, если это возможно сделать через него monstr_ork
Ответить
Сообщение Hugo, я не против макроса, если это возможно сделать через него Автор - monstr_ork Дата добавления - 01.08.2018 в 06:02
Светлый
Дата: Среда, 01.08.2018, 07:32 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1823
Репутация:
507
±
Замечаний:
0% ±
Excel 2013, 2016
Пара вариантов:Код
=СУММПРОИЗВ((B$2:B$45=B2)*(A$2:A$45>A2-30)*(A$2:A$45<A2))
Код
=СЧЁТЕСЛИМН(B$2:B$45;B2;A$2:A$45;"<"&A2;A$2:A$45;">"&A2-30)
За предыдущие 30 дней. Можно 31 день сделать. Или усложнить формулу на РОВНО месяц (с того же числа), формула будет больше. Доб.Код
=СУММПРОИЗВ((B$2:B$45=B2)*(A$2:A$45>ДАТА(ГОД(A2);МЕСЯЦ(A2)-1;ДЕНЬ(A2)))*(A$2:A$45<A2))
Даже более универсально:Код
=СУММПРОИЗВ((B:B=B2)*(A:A>A2-30)*(A:A<A2))
Пара вариантов:Код
=СУММПРОИЗВ((B$2:B$45=B2)*(A$2:A$45>A2-30)*(A$2:A$45<A2))
Код
=СЧЁТЕСЛИМН(B$2:B$45;B2;A$2:A$45;"<"&A2;A$2:A$45;">"&A2-30)
За предыдущие 30 дней. Можно 31 день сделать. Или усложнить формулу на РОВНО месяц (с того же числа), формула будет больше. Доб.Код
=СУММПРОИЗВ((B$2:B$45=B2)*(A$2:A$45>ДАТА(ГОД(A2);МЕСЯЦ(A2)-1;ДЕНЬ(A2)))*(A$2:A$45<A2))
Даже более универсально:Код
=СУММПРОИЗВ((B:B=B2)*(A:A>A2-30)*(A:A<A2))
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Среда, 01.08.2018, 07:45
Ответить
Сообщение Пара вариантов:Код
=СУММПРОИЗВ((B$2:B$45=B2)*(A$2:A$45>A2-30)*(A$2:A$45<A2))
Код
=СЧЁТЕСЛИМН(B$2:B$45;B2;A$2:A$45;"<"&A2;A$2:A$45;">"&A2-30)
За предыдущие 30 дней. Можно 31 день сделать. Или усложнить формулу на РОВНО месяц (с того же числа), формула будет больше. Доб.Код
=СУММПРОИЗВ((B$2:B$45=B2)*(A$2:A$45>ДАТА(ГОД(A2);МЕСЯЦ(A2)-1;ДЕНЬ(A2)))*(A$2:A$45<A2))
Даже более универсально:Код
=СУММПРОИЗВ((B:B=B2)*(A:A>A2-30)*(A:A<A2))
Автор - Светлый Дата добавления - 01.08.2018 в 07:32
monstr_ork
Дата: Среда, 01.08.2018, 08:29 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
krosav4ig, Светлый, Ваши формулы работают, но применил на 6000 строк и почему-то перестало работать. Это связано как-то с кол-вом?
krosav4ig, Светлый, Ваши формулы работают, но применил на 6000 строк и почему-то перестало работать. Это связано как-то с кол-вом? monstr_ork
Ответить
Сообщение krosav4ig, Светлый, Ваши формулы работают, но применил на 6000 строк и почему-то перестало работать. Это связано как-то с кол-вом? Автор - monstr_ork Дата добавления - 01.08.2018 в 08:29
Mertc
Дата: Среда, 01.08.2018, 09:50 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Это связано как-то с кол-вом?
Возможно формат ячеек "Текстовый"
Это связано как-то с кол-вом?
Возможно формат ячеек "Текстовый"Mertc
Сообщение отредактировал Mertc - Среда, 01.08.2018, 09:50
Ответить
Сообщение Это связано как-то с кол-вом?
Возможно формат ячеек "Текстовый"Автор - Mertc Дата добавления - 01.08.2018 в 09:50
китин
Дата: Среда, 01.08.2018, 12:14 |
Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
а применив диапазоны в формуле поменяли? надо везде вместо поставить
а применив диапазоны в формуле поменяли? надо везде вместо поставитькитин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение а применив диапазоны в формуле поменяли? надо везде вместо поставитьАвтор - китин Дата добавления - 01.08.2018 в 12:14
monstr_ork
Дата: Среда, 01.08.2018, 13:24 |
Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 133
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Товарищи, прошу прощения. Вставил формулу не в тот масив, где только уникальные значения были. Спасибо за формулы, все работает. [offtop]Только все равно сказали, что не так все...[/offtop]
Товарищи, прошу прощения. Вставил формулу не в тот масив, где только уникальные значения были. Спасибо за формулы, все работает. [offtop]Только все равно сказали, что не так все...[/offtop] monstr_ork
Сообщение отредактировал monstr_ork - Среда, 01.08.2018, 13:25
Ответить
Сообщение Товарищи, прошу прощения. Вставил формулу не в тот масив, где только уникальные значения были. Спасибо за формулы, все работает. [offtop]Только все равно сказали, что не так все...[/offtop] Автор - monstr_ork Дата добавления - 01.08.2018 в 13:24