Поиск в excel с подсветкой

Поиск и подсветка результатов в Excel

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

При запуске макроса появляется диалоговое окно (InputBox), позволяющее задать текст для поиска.

Макрос подсвечивает красным цветом внутри ячейки текст, совпадающий с искомым
(+ выделяет найденное полужирным начертанием)

Перед началом поиска, цвет всех ячеек первого столбца сбрасывается (на черный)

Option Compare Text
 
Sub Find_n_Highlight()
    On Error Resume Next: Err.Clear
    Dim ra As Range, cell As Range, res, txt$, v, pos&
    res = InputBox("Введите текст, который необходимо подсветить в таблице", "Поиск и подсветка текста", "диз")
    If VarType(res) = vbBoolean Then Exit Sub    ' нажата кнопка ОТМЕНА
    txt$ = Trim(res): If Len(txt) = 0 Then Exit Sub    ' текст не введен, или состоит из пробелов

    Set ra = Range([A2], Range("A" & Rows.Count).End(xlUp))    ' диапазон для поиска
    Application.ScreenUpdating = False
    ra.Font.Color = 0: ra.Font.Bold = 0  ' сброс цветового выделения

    For Each cell In ra.Cells    ' перебираем все ячейки
        pos = 1
        If cell.Text Like "*" & txt & "*" Then
            arr = Split(cell.Text, txt, , vbTextCompare)   ' разбивает текст ячейки на части
            If UBound(arr) > 0 Then    ' если подстрока найдена
                For Each v In arr    ' перебираем все вхождения
                    pos = pos + Len(v)    ' начальная позиция
                    With cell.Characters(pos, Len(txt))
                        .Font.ColorIndex = 3    ' выделяем цветом
                        .Font.Bold = True    ' и полужирным начертанием
                    End With
                    pos = pos + Len(txt)
                Next v
            End If
        End If
    Next cell
End Sub
  • 95186 просмотров

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.

Все мы знаем, как пользоваться инструментом «Найти и заменить» в Excel, чтобы найти определенное значение в книге. Иногда возникает необходимость просто выделить значения, которые нашел Excel.

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

Найти и выделить excel

Для начала воспользуемся инструментом «Найти и заменить», чтобы определить все ячейки с вхождением точки в значение. Для этого перейдем по вкладке Главная -> Редактирование —> Найти и выделить -> Найти. В появившемся диалоговом окне, ставим точку в поле поиска и жмем Найти далее.

найти и выделить excel

При открытом диалоговом окне, нажмите Ctrl+A на клавиатуре. Это действие приведет не только к выделению всего списка найденных значений в диалоговом окне, но и выделит все найденные ячейки на листе.

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

найти и выделить excel

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

Почему открывающуюся квадратную скобку? Потому что Excel использует квадратные скобки [] для указания источника данных внешних ссылок.

Обратите внимание, что в этом случае Excel не найдет внешние ссылки, спрятанные в объектах или именованных диапазонах.

Вам также могут быть интересны следующие статьи

 

Exhaust_

Пользователь

Сообщений: 137
Регистрация: 17.03.2013

#4

23.05.2013 10:17:47

Наверное я не совсем понятно описал ситуацию

Фишка в особом выделении найденой ячейки

Теряюсь как сделать, может в настройках что то задается
В сложных примерах используются такие ходы с окраской
http://www.planetaexcel.ru/techniques/3/58/
Но разобрать это дело мне не по зубам.

ПС: А вообще круто было бы выделить все подходящие значения сразу

Изменено: Exhaust_23.05.2013 22:25:21

Skip to content

Как выделить цветом повторяющиеся значения в Excel?

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

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

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

  • Как подсветить дубликаты, используя встроенный инструмент
  • Как выделить дубликаты без учета 1-го вхождения
  • Как показать 3-й, 4-й и все последующие дубликаты?
  • Выделяем повторяющиеся значения в диапазоне
  • Выделение строки целиком на основе дубликатов в определённой колонке
  • Выделение дублирующихся строк
  • Подсветка последовательных дубликатов ячеек
  • Как выделить дубликаты в Excel с помощью специального инструмента и без формул

Далее в этом руководстве вы найдете несколько способов выделения дубликатов записей в зависимости от конкретной задачи. Эти методы работают во всех версиях Excel 2016, Excel 2013, Excel 2010 и ниже.

Как подсветить дубликаты, используя встроенный инструмент (с 1-м появлением)

Для начала, во всех версиях Excel есть заготовка для выделения дублирующих ячеек. Чтобы использовать это её в своих таблицах, выполните следующие действия:

  1. Выберите данные, которые вы хотите проверить. Это может быть колонка, строка или диапазон ячеек.
  2. На вкладке « Главная » выберите « Условное форматирование» > «Правила выделения ячеек» > «Повторяющиеся значения».

Откроется диалоговое окно с форматом «Светло-красная заливка» и «Темно-красный текст», выбранными по умолчанию. Чтобы применить формат по умолчанию, просто нажмите ОК.

Помимо красной заливки и форматирования текста, в выпадающем списке доступно несколько других предопределенных форматов. Чтобы покрасить повторяющиеся ячейки другим цветом, нажмите «Пользовательский формат» (последний элемент в раскрывающемся списке) и выберите цвет заливки и/или шрифта по своему вкусу.
Подсказка. Чтобы указать цветом на уникальные значения, выберите «Уникальные» в левом поле.

И вот что мы получили в итоге:

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

При использовании этого инструмента имейте в виду следующие две вещи:

  • Работает только для отдельных клеток. Чтобы отметить дублирующиеся строки, вам необходимо создать свои собственные правила.
  • Он закрашивает дубликаты ячеек, включая их первые появления. Чтобы отметить все из них, кроме первых экземпляров , создайте правило условного форматирования на основе формулы из этого руководства по нахождению дубликатов.

Как выделить повторы без 1-го вхождения

Чтобы отметить второе и все последующие повторяющиеся вхождения, выберите ячейки, которые вы хотите закрасить, и действуйте следующим образом:

  1. Выберите «Условное форматирование» > « Новое правило»> «Использовать формулу», чтобы определить ячейки для форматирования .
  2. В поле « Форматировать значения», где эта формула возвращает ИСТИНА , введите:

=СЧЕТЕСЛИ($B$2:$B2;$B2)>1

Где B2 — самая верхняя ячейка выбранного диапазона.

  1. Нажмите кнопку «Формат» выберите нужный цвет заливки и/или шрифта.
  2. Наконец, нажмите кнопку ОК, чтобы сохранить и применить созданное.

Если у вас нет большого опыта работы с условным форматированием Excel, вы найдете подробные инструкции по созданию правила на основе формул в следующем руководстве:  Как изменить цвет ячейки в зависимости от значения? 

В результате дубликаты ячеек, исключая первые экземпляры, будут выделены цветом по вашему выбору.

Как показать третий, четвертый и все последующие дубликаты?

Чтобы просмотреть повторяющиеся значения, начинающиеся с N-го вхождения, действуйте как в предыдущем примере. С той лишь разницей, что вы заменяете > 1 в конце формулы на требуемое число. Например:

Чтобы раскрасить третий и все последующие повторы, примените это:

=СЧЕТЕСЛИ($B$2:$B2;$B2)>=3

Чтобы указать на 4-е и все последующие повторяющиеся записи, используйте выражение:

=СЧЕТЕСЛИ($B$2:$B2;$B2)>=4

Чтобы выделить только определенные вхождения, используйте оператор равенства (=). 

Например, чтобы изменить фон только 2-х экземпляров, вы должны использовать следующую формулу:

=СЧЕТЕСЛИ($B$2:$B2;$B2)=2

Как выделить дубликаты в диапазоне

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

Выделите дубликаты в таблице, включая 1-е  вхождение.

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

Или создайте своё условное форматирование:

=СЧЕТЕСЛИ(диапазонпервая_ячейка)> 1

Например, чтобы отметить цветом совпадения в диапазоне A2: C8, сделайте это следующим образом:

=СЧЕТЕСЛИ($A$2:$C$8, A2)>1

Обратите внимание на использование абсолютных ссылок на ячейки для диапазона ($A$2:$C$8) и относительных ссылок для верхней ячейки (A2).

Выделите повторы в таблице без 1-го вхождения.

Решение для этого сценария намного сложнее. Не удивительно, что в Excel нет для него готового решения :)

Чтобы выделить повторяющиеся значения в нескольких колонках, игнорируя первое появление, вам нужно будет создать 2 правила со следующими формулами:

Правило 1. Относится к первому столбцу.

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

В этом примере мы применяем для A2: A11 условие:

=СЧЁТЕСЛИ($A$2:$A2;A2)>1

В результате дублирующие элементы без 1- го вхождения выделяются в крайнем левом столбике диапазона (в нашем случае есть только два таких элемента):

Правило 2. Относится ко всем последующим колонкам

Чтобы выделить дубликаты в оставшихся данных (B2: C11), используйте следующую формулу:

=СЧЁТЕСЛИ(A$2:$A$11;B2)+СЧЁТЕСЛИ(B$2:B2;B2)>1

В приведенной выше формуле первая функция СЧЕТЕСЛИ подсчитывает вхождения данного элемента в первом столбце, а второй СЧЕТЕСЛИ делает то же самое для всех последующих. Затем вы складываете эти числа и проверяете, больше ли сумма, чем 1.

В результате все дублированные элементы, за исключением их 1- го вхождения, будут найдены и выделены:

Выделение целых строк на основе повторяющихся значений в одной колонке.

Если ваша таблица содержит несколько колонок, вы можете выделить целые строки на основе повторяющихся записей в одной из них.

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

  • Чтобы выделить дублирующиеся строки, исключая первые вхождения:

=СЧЁТЕСЛИ($B$2:$B2;$B2)>1

Выделяем строки с одинаковыми наименованиями товаров (столбец B)

  • Чтобы выделить повторяющиеся строки, включая все вхождения:

= СЧЁТЕСЛИ ($B$2:$B$17;$B2)>1

Здесь B2 — первая ячейка, а B17 — последняя, которую вы хотите проверить на наличие дублей. 

Как видите, разумное использование абсолютных и относительных ссылок имеет значение.

Как выделить дублирующиеся строки.

В предыдущем примере демонстрировалось, как окрашивать целые строки при появлении повторяющихся значений в определенной колонке. Но что, если вы хотите просмотреть строки с одинаковыми значениями в нескольких колонках? Или как выделить из них абсолютно одинаковые, которые имеют совершенно одинаковые значения?

Для этого используйте функцию СЧЁТЕСЛИМН, которая позволяет сравнивать по нескольким критериям. Например, чтобы выделить строки с одинаковыми значениями в B и C, то есть найти заказы одного и того же товара одним заказчиком, используйте одну из следующих формул:

  • Чтобы выделить совпадающие, кроме 1-го вхождения :

=COUNTIFS($A$2:$A2, $A2, $B$2:$B2, $B2)>1

Обратите внимание, что форматирование мы применяем ко всей таблице.

  • Чтобы выделить все неуникальные:

=СЧЁТЕСЛИМН($B$2:$B$17; $B2; $C$2:$C$17; $C2)>1

Как вы понимаете, приведенный выше пример только для демонстрационных целей. При выделении дублирующихся строк в ваших реальных таблицах вы, естественно, не ограничены сравнением значений только в 2 столбцах. Функция СЧЁТЕСЛИМН может обрабатывать до 127 пар диапазон / критерий.

Подсветка последовательных дубликатов ячеек.

Иногда вам может не потребоваться выделять все дубликаты в таблице, а отображать только последовательные, то есть те, которые расположены рядом друг с другом. 

Для этого выберите область с данными (не включая заголовок) и создайте условное форматирование с одной из следующих формул:

  • Чтобы выделить два идущих друг за другом заказа одного и того же менеджера:

=ИЛИ($G1=$G2;$G2=$G3)

  • Чтобы выделить второй заказ менеджера, если у него 2 заказа идут подряд:
    =$G1=$G2

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

  • при выделении только второго повтора

=И($G2<>»»; $G1=$G2)

  • при выделении обоих дублей:

=И($G2<>»»; ИЛИ($G1=$G2;$G2=$G3))

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

Как выделить дубликаты в Excel с помощью инструмента Duplicate Remover.

Эта надстройка включает множество возможностей для работы с повторяющимися записями в Excel. Она может находить, выделять, выбирать, копировать или перемещать повторяющиеся ячейки или целые повторяющиеся строки.

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

Средство удаления дубликатов добавляет к вашей ленте Excel три новых функции:

  • Quick Dedupe (быстрое удаление дубликатов) – быстро в пару кликов найти и выделить дубликаты в таблице.
  • Duplicate Remover (удаление дубликатов) – пошаговый мастер с расширенными параметрами для выявления и выделения дубликатов или уникальных значений в таблице.
  • Compare Two Sheets (сравнить таблицы) – найти и выделить дубликаты, сравнивая два столбца или две отдельные таблицы.

После установки Ultimate Suite for Excel вы найдете эти инструменты на вкладке Ablebits Data.

Как выделить дубликаты в Excel за пару кликов

Для этого примера я создал простую таблицу с тремя колонками. И наша цель — выделить повторяющиеся строки, которые имеют одинаковые значения во всех трех столбцах:

Вы не поверите, но желаемый результат можно получить всего за 2 клика мыши :)

  1. Выделив любую ячейку в таблице, используйте кнопку Quick Dedupe на ленте Excel.
  2. Откроется диалоговое окно, в котором все столбцы для поиска дублей будут выбраны автоматически.

В правом нижнем углу в выпадающем списке нужно выбрать  Выделить цветом (Highlight with color). Теперь все, что вам нужно сделать, это нажать ОК :) Готово!

Совет. Если вы хотите искать повторяющиеся строки по одному или нескольким столбцам, а не по всем, то снимите отметки со всех нерелевантных столбцов и оставьте выбранными только ключевые столбцы.
Результат будет примерно таким:

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

Если вы хотите выделить дубликаты, включая первые вхождения этих записей, или если вы хотите раскрасить уникальные записи, а не дубликаты, или если вам не нравится красный цвет по умолчанию, используйте мастер Duplicate Remover, который имеет все эти функции и многое другое.

Как выделить дубликаты в Excel с помощью расширенного пошагового мастера.

По сравнению с быстрым инструментом, который мы только что рассмотрели, мастеру Duplicate Remover требуется несколько дополнительных щелчков мыши. Но он компенсирует это рядом дополнительных опций. Посмотрим это в действии:

  1. Выберите любую ячейку в таблице, в которой вы хотите выделить дубликаты, и нажмите кнопку «Удаление дубликатов» на ленте. Мастер запустится, и будет выделена вся таблица. Также на всякий случай надстройка предложит создать резервную копию вашей таблицы. Если он вам не нужен, снимите этот флажок.

Убедитесь, что таблица выбрана правильно, и нажмите Далее .

  1. Выберите один из следующих типов данных, которые вы хотите найти:
    • Дубликаты без первых вхождений повторяющихся записей.
    • Дубликаты вместе с первым вхождением.
    • Уникальные значения.
    • Уникальные записи и первые повторяющиеся вхождения.

В этом примере давайте найдем Дубликаты + 1-е вхождение :

  1. Теперь выберите столбцы, чтобы проверить наличие дубликатов. Поскольку мы хотим выделить полные повторяющиеся строки, я выбрал все 3 столбца.

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

  1. Наконец, выберите действие, которое нужно выполнить с дубликатами. У вас есть несколько вариантов – выбор , удаление , копирование, перемещение дубликатов или добавление столбца статуса для идентификации дубликатов .

Поскольку сегодня мы изучаем различные способы выделения дубликатов в Excel, наш выбор очевиден :) Итак, выберите «Заливка цветом» (Fill with color)  и укажите один из стандартных цветов или нажмите « Другие цвета» и выберите любой собственный цвет RGB.

Нажимаем кнопку Finish и наслаждаемся результатом :)

Вот как вы можно выделить дубликаты в Excel с помощью надстройки Duplicate Remover. Если вам интересно попробовать этот инструмент на своих рабочих таблицах, вы можете загрузить полнофункциональную пробную версию Ultimate Suite, которая включает в себя более 60 инструментов для экономии времени при работе в Excel. Будем очень благодарны за ваши отзывы в комментариях!

Рекомендуем также:

Подсчет уникальных значений в Excel В этом руководстве вы узнаете, как посчитать уникальные значения в Excel с помощью формул и как это сделать в сводной таблице. Мы также разберём несколько примеров счёта уникальных текстовых и  числовых…
9 способов сравнить две таблицы в Excel и найти разницу В этом руководстве вы познакомитесь с различными методами сравнения таблиц Excel и определения различий между ними. Узнайте, как просматривать две таблицы рядом, как использовать формулы для создания отчета о различиях, выделить…
Как посчитать количество повторяющихся значений в Excel? Зачем считать дубликаты? Мы можем получить ответ на множество интересных вопросов. К примеру, сколько клиентов сделало покупки, сколько менеджеров занималось продажей, сколько раз работали с определённым поставщиком и т.д. Если…
Как убрать повторяющиеся значения в Excel? В этом руководстве объясняется, как удалять повторяющиеся значения в Excel. Вы изучите несколько различных методов поиска и удаления дубликатов, избавитесь от дублирующих строк, обнаружите точные повторы и частичные совпадения. Хотя…

Цитата
Сообщение от _Exhaust_
Посмотреть сообщение

Не понял как начать поиск
Ctrl+q — без реакции
Ctrl+w — закрывает книгу
Как использовать?

Проблема решена тем что нужно было запустить макрос:
Alt+F8, выбрать MacrosOn, нажать Выполнить
После этого выделенная ячейка всегда будет красной

Спасибо пользователю Все имена заняты за оригинальное решение, буду с ним работать

Также возникла идея, может кто знает как ее реализовать
Сделать для Excel макрос который будет делать поиск похожим на поиск по странице в браузере (как в cGoogle Chrome к примеру):

Выделяем диапазон поиска, вызываем хоткеем поле поиска (свое, для макроса), по мере ввода все подходящие поля или части введенного текста окрашиваются, рядом с полем счетчик количества найденных результатов и 2 кнопки — «дальше» (работает при нажатии Enter в поле поиска) и «назад» (работает при нажатии Shift+Enter в поле поиска).

Это будет крутая тема!
У кого какие варианты?

Like this post? Please share to your friends:
  • Поиск в excel с неточным совпадением
  • Поиск в excel проценты
  • Поиск в excel по части текста формулы
  • Поиск в excel по части текста в столбце
  • Поиск в excel по части значения в ячейке