Страницы: 1 2 След.
RSS
Расширить диапазон поиска дубликатов
 
Добрый день, подсажите пожалуйста как расширить диапазон поиска дубликатов в этом файле...  
Чтобы макрос искал дубликаты не только по всему столбцу А, но и по столбцу В и С ?  
То есть, если есть число 1 в столбце А, то выделялась бы не только другая ячейка столбца А, но другая ячейка стобвца В и С, если в столбце В и С также окажется число 1...  
 
С уважением...
 
Достаточно распространить формулу условного форматирования (УФ) с $A:$A на $A:$C .  
 
Для А2 нужно поменять формулу УФ с =СЧЁТЕСЛИ($A:$A;A2)>1 на =СЧЁТЕСЛИ($A:$С;A2)>1  
 
После этого скопировать формат А2 в другие ячейки:  
правый клик на A2 - копировать - выделить A:C - правая кнопка - специальная вставка - форматы - OK
 
ZVI, спасибо вам, но что-то у меня не получается...    
Сделал так как вы сказали, но если в ячейку столбца А поставить 1, и в ячейку столбца С поставить 1, то ячейки не окрашиваются...  
 
Я что-то не так сделал ?  
 
Подскажите, пожалуйста...  
 
С уважением...
 
См. приложение
 
ZVI, прелесть)  
 
Спасибо вам большое...  
 
ZVI, а вы не подскажите, почему я не могу найти окрашенную ячейку через сортирову или поиск ...  
Найти-Формат-выбрать формат из ячейки... Кликаю по оранжевой ячейке, но оранжевый цвет не копируется в образец для поиска...  
Я давно это заметил по предыдущей работе с дубликатами и искал дубликаты через прокрутку листа...  
 
Можно ли как-то исправить этот нюанс... Пожалуйста...  
 
И кстати, почему это происходит ?  
 
С уважением...
 
Так происходит, потому что в приведенном Вами примере используется не формат ячейки, а условный формат ячейки.  
Формат (например, цвет заливки) ячейки может быть другим, но условное форматирование (УФ) его забьет своим, в соответствии с условием УФ.  
Попробуйте оранжевую ячейку залить другим цветом, чтобы понять это свойство УФ.  
Это встроенная особенность Excel.  
Условное форматирование предназначено для _визуальной_ оценки определенного условия.  
Поиском в таком случае нужно искать не форматы, а значения.
 
Владимир, какими напитками измеряете воду в море сегодня?
 
ZVI, попробовал, да действительно УФ забивает системные цвета Windows, вроде весь Эксель облазил, но это пропустил...  
 
ZVI, я всё понял, исчерпывающий ответ... Извините за дилетанские вопросы и большое спасибо за расширение диапазона поиска дубликатов...  
 
С искренним уважением)
 
{quote}{login=k61}{date=07.12.2011 06:54}{thema=off}{post}Владимир, какими напитками измеряете воду в море сегодня?{/post}{/quote}Карен, доброе утро! Крепким пивом, 9% :-)  
А какова толщина льда у Вас там?
 
{quote}{login=}{date=07.12.2011 06:18}{thema=}{post}... искал дубликаты через прокрутку листа...{/post}{/quote}  
Андрей, макросами можно сделать многое.  
Если поиском не удобно, то попробуйте описать задачу полностью, чтобы потом в догонку не допиливать: что есть (сколько столбцов и т.п.), и что нужно получить (куда поместить и т.п.)  
Лучше с небольшим примером.
 
Да задача-то собственно одна - в трёх столбцах А, В, С, листа Эксель есть заполненные до отказа строки с данными... До 65000 тысяч ячеек в каждом столбце... И необходимо найти дубликаты... Одинаковые данные могут быть и в ячейчке А1 и в ячейке С65000... Вот в чём проблема... Надстройка PLEX, не подходит, так как вывод уникальных данных может занять сутки, а может вообще комп зависнет... Я через PLEX выводил уникальные данные несколько часов всего с 20000 ячеек, а тут около 180000... Выхода нет... Придётся вручную прокручивать лист до конца, до 65-ти тысячной строки и смотреть когда какая-нибудь ячейка загорится оранжевым цветом... Эх, так лень )  
 
С уважением...
 
{quote}{login=Волшебник_}{date=07.12.2011 08:00}{thema=}{post}необходимо найти дубликаты...{/post}{/quote}  
Ну, нашли дубликаты, что дальше с ними делать?  
Скопировать по одной штуке на отдельный лист и добавить инфо, в каких ячейках есть дубликаты?  
Искать же по одному цвету для всех вариантов и крутить скроллинг - это работа для Золушки.  
Оторвитесь от известных Вам ограничений и попробуйте придумать, что нужно бы в идеале для удобства.
 
Доброе утро [день]!
Минимальная (в см) равна крепости Водки (в градусах), максимальная равна крепость Водки + 4*Пиво.  
В расчёт принята крепость отечественной Водки = 40%, пиво = 9%.  
Интересно, что крепость Водки в мире колеблется от 36 до 60% (ВикпедиЯ).  
P.S. Холодно, надо было шапку надеть утром.
 
Да, это правда, для Золушки) - я частенько выступаю в этой роли, в силу слабого знания Эксель).. Дубликаты нужно будет просто удалить с тех же трёх столбцов... Я буду просто прокручивать, замечать оранжевый цвет, выделять эти ячейки и удалять их...    
А может можно подправить ваш расширенный макрос и автоматически удалять эти оранжевые дубликаты ? Иначе нужно съесть плитку чёрного шоколада и на несколько часов погрузиться в эту оранжевую медитацию)  
 
Пожалуйста...  
 
С уважением...
 
{quote}{login=k61}{date=07.12.2011 08:15}{thema=re: Владимир.}{post}Минимальная (в см) равна крепости Водки (в градусах), максимальная равна крепость Водки + 4*Пиво.  
В расчёт принята крепость отечественной Водки = 40%, пиво = 9%.{/post}{/quote}  
Сколько там у Вас всего вкусного! Пойду хоть кофейку попью, что ли :-)
 
{quote}{login=Волшебник_}{date=07.12.2011 08:21}{thema=}{post}...Дубликаты нужно будет просто удалить с тех же трёх столбцов...  
...А может можно подправить ваш расширенный макрос и автоматически удалять эти оранжевые дубликаты ?{/post}{/quote}  
Макроса-то пока никакого нет, но это совсем не проблема.  
1. Давайте уточним, что означает удалять - достаточно ли очистить значения ячеек, чтобы они стали пустыми?  
2. Ещё неплохо было бы знать тип данных в столбцах A:C - это текст, числа или что ещё?  
3. Сколько примерно в процентах дубликатов ожидается?
 
В зависимости от порядка прохода, по строкам или по столбцам, будут очищены разные ячейки. Если это имеет значение, то как нужно?
 
1. Да,  достаточно очистить значения ячеек, чтобы они стали пустыми... А потом я удалю пустые ячейки и подтяну ячейки друг к другу...  
2. Тип данных я перевёл в текстовой, даже если там и встречаются числа, то они все в текстовом формате...  
3. Процент дубликатов ? Трудно сказать, ну ориентировочно, хотелось бы верить)  процентов 10%  
 
Как-то так...  
 
С уважением...
 
Знаете, я думаю это значения не имеет... Удаляемые и сохранённые ячейки могут быть в любом порядке, в итоге... Главное конечный результат... Чтобы осталось содержание уникальных ячеек...
 
Вот Вам макрос, за пару секунд должен справиться:  
 
Sub ClearDups()  
 Dim Rng As Range, a(), c&, cs&, k$, r&, rs&, x  
 Set Rng = ActiveSheet.Range("A:C")  
 a = Rng.Value  
 rs = UBound(a, 1)  
 cs = UBound(a, 2)  
 With CreateObject("Scripting.Dictionary")  
   .CompareMode = 1  
   For r = 1 To rs  
     For c = 1 To cs  
       k = Trim(a(r, c))  
       If Len(k) Then  
         If .Exists(k) Then  
           a(r, c) = Empty  
         Else  
           .Add k, 0  
         End If  
       End If  
     Next  
   Next  
 End With  
 Rng.Value = a()  
End Sub
 
И удалите условное форматирование за ненадобностью и чтобы не тормозило, с помощью такого вот макроса:  
 
Sub DelCF()  
 ActiveSheet.Range("A:C").FormatConditions.Delete  
End Sub
 
А я вообще в новый лист вставил ваш макрос...    
 
Сижу и улыбаю, как хорошо на душе)..  
 
Ощущение, что жизнь удалась)..  
 
Такой головняк снят)..  
 
Я со вчерашнего дня психологически готовился к построчному перебору строк...  
 
Купил утром чёрный шоколад, попросил мать вести себя тихо, чтоб не дай Бог не отвлечься и не пропустить оранжевую ячейку... Серьёзно...  
 
Я рассчитывал потратить пол-дня, на внимательную фиксацию оранжевых ячеек...  
 
ZVI, спасибо вам... Искреннее спасибо)  
 
Хорошо уметь и знать, как делать, то что делаешь... Столько времени экономишь...  
 
Как всё-таки я глуп)  
 
С уважением)
 
{quote}{login=Волшебник_}{date=07.12.2011 08:45}{thema=}{post}... А потом я удалю пустые ячейки и подтяну ячейки друг к другу...{/post}{/quote}  
Удалить пустые ячейки можно таким макросом:  
 
Sub DelEmptyCells()  
 On Error Resume Next  
 Range("A:C").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp  
End Sub
 
Вообще-то, я хотел удалять пустые ячейки классическо-дилетанским способом...  
Но, ваш макрос - это уже контрольный выстрел)
 
У меня есть заветная папочка, где содержатся самые лучшие и универсальные макросы для всех случаев жизни... И они подписаны... Казанский, Grin23, Serge 007, сейчас коллекция пополнится макрос ZVI...  
 
Спасибо вам...  
 
С большим уважением...
 
{quote}{login=Волшебник_}{date=07.12.2011 09:33}{thema=}{post}... макросы для всех случаев жизни...{/post}{/quote}Украсим жизнь макросами! :-)  
Всего доброго, маме шуметь разрешайте уже
 
В процессе работы появилась необходимость не удалять дубли, которые находятся в столбцах А,В,С, а копировать их из столбца А,В,С, в другой столбец, допустим D...  
 
Нельзя ли чуть чуть подправить макрос ?  
 
С уважением...
 
Имеется ввиду вот этот макрос...  
 
С уважением...
 
Волшебник_, Вам пора уже начинать вникать в суть макроса - тогда сами могли бы такие мелочи изменять.  
Макрос ZVI работает так - берём диапазон в массив, затем перебором проверяем каждое значение на повторы, занося его в словарь.  
Если оно уже в словаре - то удаляем.  
Для изменившейся задачи я бы сделал так - создал ещё один массив из пустого диапазона рядом (на 3 столбца), и при повторе не удалял, а копировал в соседний массив по такому же адресу:  
b(r, c) = a(r, c)  
Потом в конце выгрузил на лист только второй массив (первый ведь не изменялся).  
А на 3 столбца потому, что теоретически ведь могут быть и 3 повтора в одной строке.  
Но вот как Вы будете эти повторы анализировать - опять маму принуждать? :)
 
Hugo, добрый день, спасибо, что откликнулись...  
 
Вы знаете как звучат для меня ваши слова ?)    
 
"Бытие, есть Форма и Ничто... Ничто, в терминах проективно-модальной онтологии В.И. Моисеева, есть абсолютная причина первосущего, который в своём потенциальном Абсолюте, содержится в Форме, как гипотетическая, но всё же Субстанция")  
 
Hugo, вы совершенно правы, 7 лет назад, я открыл для себя среду Эксель и 7 лет назад я понял мощь такой вещи как Макрос...    
 
Hugo, я по хорошему завидую вам и тем кто может писать коды... Это сложно... Вы легко оперируете понятиями потому, что вы находитесь постоянно в этой среде...  
Это тоже самое, что изучить английский и потом недоумевать, почему начинающий не может правильно произносить английские слова...  
 
У меня нет времени вникнуть в эту технологию... Это нужно пол-года минимум, чтобы разобраться (:  
 
Hugo, в последний раз), очень прошу вас, вы бы не могли бы подправить этот макрос сами ?)  
Дело в том, что используя последний макрос ZVI от 07.12.2011, 08:50, и удалив пустые ячейки, я обнаружил недостачу всего около 100 ячеек из 100 тысяч...  
 
Но, к сожалению, я упустил из виду, что они связаны с дополнительной информацией...  
Которая теряет свою ценность если существуют дубли...  
 
Если я вычислю этих "тайных врагов"), то 100 ячеек я удалю вручную).. Полчаса работы...  
Мне главное знать перечень этих дубликатов...  
 
С уважением...
Страницы: 1 2 След.
Читают тему
Наверх