Дубликаты внутри ячейки
Про поиск и подсветку дубликатов в разных ячейках и диапазонах я уже не раз писал, но что делать если нужно найти и, возможно, удалить повторяющиеся слова внутри ячейки? Например, мы имеем вот такую таблицу с данными (разделителями могут быть не обязательно пробелы):
Хорошо видно, что некоторые имена в списках внутри ячеек повторяются. Давайте посмотрим, что можно с этим сделать.
Способ 1. Ищем повторения: текст по столбцам и формула массива
Это не самый удобный и быстрый, но зато самый простой вариант решения задачи «на коленке». Выделим исходный список и разобъем его на столбцы по пробелам с помощью команды Данные — Текст по столбцам (Data — Text to columns). В открывшемся окне трёхшагового Мастера выберем формат По разделителю (By delimiter) на первом шаге и поставим флажок Пробел (Space) на втором:
Если в исходных данных могут быть лишние пробелы, то лучше включить и опцию Считать последовательные разделители одним (Treat consecutive delimiters as one) — это избавит нас от лишних столбцов.
На третьем шаге в поле Поместить в зададим пустую ячейку рядом с таблицей, чтобы результаты не затёрли нам исходные данные и нажмём на Готово (Finish):
Наши данные разделятся по ячейкам. Останется подсчитать количество повторов в каждой строке с помощью небольшой, но хитрой формулы массива:
В английской версии это будет =SUMPRODUCT(N(COUNTIF(B2:G2,B2:G2)>1))
Давайте разберём логику её работы на примере первой строки.
- Сначала мы с помощью формулы СЧЁТЕСЛИ(B2:G2;B2:G2) вычисляем по очереди количество вхождений каждого имени в диапазон B2:G2 и получаем на выходе массив {1,2,1,2,1}, т.к. Иван встречается в первой строке 1 раз, Елена — 2 раза, Сергей — 1 и т.д.
- Проверяем с помощью СЧЁТЕСЛИ(B2:G2;B2:G2)>1 какие из полученных чисел больше единицы, т.е. где у нас повторы. На выходе эта формула выдаст нам массив результатов проверки в виде {ЛОЖЬ, ИСТИНА, ЛОЖЬ, ИСТИНА, ЛОЖЬ}.
- Переводим логические значения ЛОЖЬ и ИСТИНА в более удобные для подсчета 0 и 1, соответственно, с помощью функции Ч. На выходе получаем массив {0,1,0,1,0}.
- Суммируем все элементы получившегося массива функцией СУММПРОИЗВ. Можно было бы использовать и обычную функцию СУММ, но тогда пришлось бы жать вместо привычного Enter сочетание клавиш Ctrl+Shift+Enter, чтобы ввести формулу как формулу массива.
По получившемуся столбцу можно легко отфильтровать строки с повторами и работать потом с ними дальше уже вручную.
Минусы такого способа, впрочем, весьма очевидны: при изменении в исходных данных придётся повторять всю процедуру заново, дубликаты не очень заметны и удалять их тоже надо врукопашную. Поэтому идём дальше.
Способ 2. Выделение цветом повторов внутри ячейки макросом
Если дубликаты нужно именно наглядно показать, то удобнее будет использовать для этого специальный макрос. Откроем редактор Visual Basic одноимённой кнопкой на вкладке Разработчик (Developer — Visual Basic) или сочетанием клавиш Alt+F11. Вставим в книгу новый пустой модуль через меню Insert — Module и скопируем туда вот такой код:
Sub Color_Duplicates() Dim col As New Collection Dim curpos As Integer, i As Integer On Error Resume Next For Each cell In Selection Set col = Nothing curpos = 1 'убираем лишние пробелы и разбиваем текст из ячейки по пробелам arWords = Split(WorksheetFunction.Trim(cell.Value), " ") For i = LBound(arWords) To UBound(arWords) 'перебираем слова в получившемся массиве Err.Clear 'сбрасываем ошибки curpos = InStr(curpos, cell, arWords(i)) 'позиция начала текущего слова col.Add arWords(i), arWords(i) 'пытаемся добавить текущее слово в коллекцию If Err.Number <> 0 Then 'если возникает ошибка - значит это повтор, выделяем красным cell.Characters(Start:=curpos, Length:=Len(arWords(i))).Font.ColorIndex = 3 cell.Characters(Start:=InStr(1, cell, arWords(i)), Length:=Len(arWords(i))).Font.ColorIndex = 3 End If curpos = curpos + Len(arWords(i)) 'переходим к следующему слову Next i Next cell End Sub
Теперь можно вернуться в главное окно Excel, выделить ячейки с текстом и запустить созданный макрос через кнопку Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8. Этот макрос проходит по всем выделенным ячейкам и помечает повторения красным цветом шрифта прямо внутри ячейки:
Если нужно, чтобы цветом выделялись только клоны, но не первые вхождения (т.е. только вторая и третья, но не первая Алиса, например), то достаточно будет просто убрать из кода строку 20.
Способ 3. Выводим повторы в соседний столбец
Если повторы внутри ячеек нужно не просто подсветить, а явным образом вывести, например, в соседний столбец, то удобнее будет использовать для этого макрофункцию, созданную по образу предыдущего макроса. Добавим в редакторе Visual Basic новый модуль и вставим туда код нашей функции GetDuplicates:
Function GetDuplicates(cell As Range) As String Dim col As New Collection Dim i As Integer, sDupes As String On Error Resume Next Set col = Nothing 'делим текст в ячейке по пробелам arWords = Split(WorksheetFunction.Trim(cell.Value), " ") 'проходим в цикле по всем получившимся словам For i = LBound(arWords) To UBound(arWords) Err.Clear 'сбрасываем ошибки col.Add arWords(i), arWords(i) 'пробуем добавить слово в коллекцию 'если ошибки не возникает, то это не повтор - добавляем слово к результату If Err.Number <> 0 Then sDupes = sDupes & " " & arWords(i) Next i GetDuplicates = Trim(sDupes) 'выводим результаты End Function
Эта функция, как легко догадаться, принимает в качестве единственного аргумента ячейку с текстом и выводит в качестве результата все повторы, которые там найдет:
Способ 4. Удаление повторов внутри ячейки макросом
Если нужно просто удалить дубликаты внутри ячейки, чтобы все оставшиеся там слова не повторялись, то макрос будет похож на предыдущий, но попроще:
Sub Delete_Duplicates() Dim col As New Collection Dim i As Integer On Error Resume Next For Each cell In Selection Set col = Nothing sResult = "" 'делим текст в ячейке по пробелам arWords = Split(WorksheetFunction.Trim(cell.Value), " ") 'проходим в цикле по всем получившимся словам For i = LBound(arWords) To UBound(arWords) Err.Clear 'сбрасываем ошибки col.Add arWords(i), arWords(i) 'пробуем добавить слово в коллекцию 'если ошибки не возникает, то это не повтор - добавляем слово к результату If Err.Number = 0 Then sResult = sResult & " " & arWords(i) Next i cell.Value = Trim(sResult) 'выводим результаты без повторов Next cell End Sub
Способ 5. Удаление повторов внутри ячейки через Power Query
Этот способ использует бесплатную надстройку Excel для обработки данных под названием Power Query. Для Excel 2010-2013 скачать её можно с сайта Microsoft, а в Excel 2016-2019 она уже встроена по умолчанию. Огромным плюсом этого варианта является возможность автоматического обновления — если в будущем исходные данные изменятся, то нам не придется заново проделывать всю обработку (как в Способе 1) или запускать макрос (как в Способе 4) — достаточно будет просто обновить созданный запрос.
Сначала наши данные нужно загрузить в Power Query. Проще всего для этого превратить нашу таблицу в «умную» сочетанием клавиш Ctrl+T или кнопкой Форматировать как таблицу на вкладке Главная (Home — Format as Table), а затем нажать кнопку Из таблицы/диапазона (From table/range) на вкладке Power Query (если у вас Excel 2010-2013) или на вкладке Данные (если у вас Excel 2016 или новее):
Поверх окна Excel откроется окно редактора запросов Power Query с загруженными туда нашими данными:
Дальше делаем следующую цепочку действий:
Удаляем ненужный пока шаг Измененный тип (Changed Type) справа в панели применённых шагов с помощью крестика слева от шага.
Чтобы можно было потом идентифицировать принадлежность каждого имени к исходной строке — добавляем столбец с нумерацией строк на вкладке Добавление столбца — Столбец индекса — От 1 (Add Column — Index Column — From 1):
Выделяем столбец с именами и жмём на вкладке Преобразование — Разделить столбец — По разделителю (Transform — Split Column — By delimiter), а в открывшемся окне выбираем деление по каждому пробелу и — главное — деление на строки, а не на столбцы в расширенных параметрах:
После нажатия на ОК увидим следующее:
Теперь выделяем оба столбца (удерживая клавишу Ctrl или Shift) и удаляем дубликаты через Главная — Удалить строки — Удалить дубликаты (Home — Remove Rows — Remove Duplicates).
Осталось собрать всё обратно в ячейки Для этого выделим столбец Индекс и используем команду Группировать по на вкладке Преобразование (Transform — Group By) со следующими параметрами:
После нажатия на ОК наши имена сгруппируются во вложенные таблицы, имитирующие начальные ячейки — только уже без повторов. Увидеть содержимое свёрнутых таблиц можно, если щёлкнуть мышью в фон ячейки рядом со словом Table (но не в слово Table!):
Осталось вытащить все имена из первой колонки каждой таблицы и склеить их через пробел. Это можно сделать с помощью небольшой формулы на встроенном в Power Query языке М. Выберем на вкладке Добавление столбца команду Настраиваемый столбец (Add Column — Custom Column) и введём в открывшееся окно имя нового столбца и формулу (с соблюдением регистра!):
=Text.Combine([Ячейки][Имена],» «)
Здесь выражение [Ячейки][Имена] извлекает содержимое столбца Имена из каждой таблицы в колонке Ячейки, а функция Text.Combine склеивает затем их все через заданный разделитель (пробел). После нажатия на ОК мы, наконец, увидим желаемое:
Осталось удалить ненужные более столбцы Индекс и Ячейки, щелкнув по их заголовкам правой кнопкой мыши и выбрав команду Удалить столбцы (Remove Columns) и выгрузить результаты на лист через Главная — Закрыть и загрузить — Закрыть и загрузить в (Home — Close & Load — Close & Load to..):
Задача решена! Если в будущем данные в исходной «умной» таблице изменятся или к ней будут дописаны новые строки, то достаточно будет просто обновить запрос, щёлкнув по результирующей зелёной таблице правой кнопкой мыши и выбрав команду Обновить или нажав сочетание клавиш Ctrl+Alt+F5.
Ссылки по теме
- Как найти и вывести отличия в двух списках в Excel
- Как подсветить совпадающие пары дубликатов одинаковым цветом
- Сравнение двух таблиц с помощью ВПР, сводной или Power Query
Как в Excel удалить повторяющиеся строки: два способа
Смотрите также список слов-исключений (ака и заменить» заранее ] книга, или пока Object UBound(W1s) To 0 повтора… :( кнопку мыши и Текст 3, Текст данного выше, удаляется с кисточкой машина покажет повторы. идут в столбик) в столбце D в ExcelНажать кнопку «Форматировать какКогда работаешь с огромным «мусор») можно включить могу удалить такиеnerv проект VBA не
Способ 1: стандартное удаление дубликатов
Function Zmey(s As Step -1Zmey выбрать в списке 4″, а вот
второе слово Hydro.
- Господа, решите мне а вам прийдетсяСергей каханский или E (с. В этой таблице таблицу», что располагается
- объемом данных в
- в макрос. часто повторяющиеся «слова-пустышки»: перекомпилирован.
- String) As StringW = W1s(K): А ещёёёёё…. Задача «Очистить содержимое»
- какое-то повторение внутри А хотелось бы, еще одну задачку, ручками удалять эти: для 2003 экселя сортировкой в обратном нам нужно выделить на вкладке «Главная» программе «Эксель», тоно надо ещё типа господин, мистерZmeyДругое дело -Dim s1$, s2$,If InStr(1, Commas, усложняется тем, чтоZmey
- текста между запятыми
чтобы исчезло первое. если нетрудно. Тот повторы. данные-расширенный фильтр-выделяете ваш порядке) год рождения 1960. в группе инструментов ненароком очень просто подумать. и т.п.: Что-то как-то совсем если объект является i&, ptrn$, s3$ Right(W, 1)) =
Способ 2: использование «умной таблицы»
значение может повторяться: Господа! Выручайте! трогать не нужно.Казанский же массив словСправа или слева список, копировать результат=ЕСЛИОШИБКА(ИНДЕКС($B:$B;АГРЕГАТ(15;6;СТРОКА($B$2:$B$100)/(ПОИСКПОЗ($B$2:$B$100;$B:$B;0)=СТРОКА($B$2:$B$100));СТРОКА($B1)));»»)Выделяем столбец «Год
«Стили». можно совершить ошибкуFisher47
- Наверно тогда было ни чего не самостоятельным приложением. Тогдаi = InStrRev(s,
- 0 Then с пробелом илиСразу скажу, чтоМакросы из сообщений:
- в ячейках, теперь от списка запишите
- в другое место,ASWP рождения». На закладкеВыбрать из выпадающего меню и вписать одни: Вставил длинный список бы лучше ставить понятно стало…Похоже решение объектная переменная указывает «,»).Add 0, LCase(W)
- без искал, но не выше в данномinnx уже уникальных слов: и протяните такую галочку около уникальные: Вариант макросом «Главная» в разделе
- понравившейся стиль (любой). и те же для теста: то
задачей, чтобы выделялось данного вопроса путём на некий интерфейсIf i ThenElseGDB 1583 TRW нашёл… случае работают не, Sub bb() Dim
Заключение
-слово1 -слово2 -слово3 формулу: записиSub RemoveDuplicates() «Стили» нажимаем кнопкуВ появившемся окне необходимо данные повторно. Так что не выделилось повторяющееся слово - написания формулы - приложения (API), которыйs1 = Left$(s,.Add 0, LCase(Left(W, ,Колодки торм., GDB1583Ситуация такая: Есть корректно. А где c As Range, -слово4 -слово5
=ДЛСТР (A1)/СЧЁТЕСЛИ ($A$1:$A$17;»=»&A1)
fb.ru
Как выделить повторяющиеся значения в Excel.
ShustrikCells.Sort Key1:=Range(«B2») «Условное форматирование». Затем подтвердить указанный ранее возникают дубликаты. Это, — действительно оказалось мне бы по задача мне непосильная. существует автономно. Вот i) Len(W) — 1))GDB1583 TRW ,Колодки такая таблица поправить я чего-то x, nbsp$ nbspкак мне избавитьсяВсе повторы отмечены: Открываешь в блокнотеtotalrows = ActiveSheet.UsedRange.Rows.Count в разделе «Правила диапазон ячеек, а конечно же, повышает
неповторяющимся словом/сочетанием, а
смыслу было понятно Ни слова уже пример:
s2 = Mid$(s,End If торм., GDB 15Столбец с ячейками. не соображу
= Chr$(160) With
от всех слов, одинаковым числом. Обратите — правка- заменитьApplication.ScreenUpdating = False выделенных ячеек» выбираем
если он не объем всей суммарной вот среди подсвеченных обратить на ячейку не понимаю чтоSub dd() i + 1)If .Count >
83 Каждое предложение внутриЗаранее спасибо!!! CreateObject(«scripting.dictionary») For Each что находятся после внимание, что этодалее набираешь слово
For Row = «Повторяющиеся значения». совпадает, то переназначить. информации, а в слов попадались и внимание или нет, Вы пишите))))Dim a As
s3 = Replace$(s2, N2 ThenИзвиняюсь, сам не ячейки.Beerukoff c In Selection -слово3? не кол-во повторов, которое надо убрать.. totalrows To 2В появившемся диалоговом Также установите галочку некоторых случаях сбивает те, которые на т.е. выделилось толькоvikttur Object, b As » «, «»)N2 = .Count сразу заметилМама мыла раму,, разделитель запятую надо .RemoveAll For EachКазанский а только метка а в поле Step -1 окне выбираем, что рядом с «Таблица формулы, которые должны самом деле тоже слово «господин» -: Те, кто ниже Object, c AsFor i =W2s(N1 — N2iba2004 раму. указать Sub bb() x In Split(Application.Trim(Replace$(c,: Sub bb1() Const(напр. «мыло» -
excel-office.ru
Удаление одинаковых текстов в ячейках (Формулы/Formulas)
на что заменитьIf Cells(Row, 2).Value нам нужно выделить: с заголовками», если подводить итоги и являются «уникальными» значениями. мне это не меня — они Object, d As 1 To Len(s3) + 1) =: Скажите, а удаляемый
Папа мыл маму Dim c As nbsp, » «))) WORD = «-слово3″
всего одно в ничего не пишешь
= Cells(Row - повторяющиеся или уникальные она такова, по рассчитывать различные переменные. В любом случае важно, выделилось «Иванов» издеваются. Да! Они Object
ptrn = ptrn
W текст всегда будет
3, папа.
Range, x, nbsp$
If .exists(x) Then
Const FRML =
списке, а отмечено нажимаешь заменить или 1, 2).Value Then
значения. Выбираем цвет итогу нажмите кнопку Вручную найти дубликаты
впечатлило
- ага, стоит
о макросах все
1 Set a
& " ?"
End If полностью после запятойбВася сидел и nbsp = Chr$(160) .Remove (x) .Item(x)
"IF(ISERR(SEARCH(""&"",~)),~,LEFT(~,SEARCH(""&"",~)[email protected]))" Selection.Value =
"4" , "мак" заменить все.Rows(Row).Delete заливки ячейки или
"ОК". можно, но зачем,
для тестовой версии воспользоваться поиском и
:) = CreateObject("vbscript.regexp")
& Mid$(s3, i,Next т.е. всё, что смотрел, Сидел With CreateObject("scripting.dictionary") For
= 0 Next
Evaluate(Replace(Replace(Replace(FRML, "~", Selection.Address),
встречается 3 раза,Эпик фейл
End If
цвет шрифта.
»Умная таблица» создана, но если есть несколько очень даже неплохо найти где ещёО формулах -2 Set b 1)On Error GoTo после последней запятойКошка 345 бежала,
Each c In c = Join(.keys) «@», Len(WORD) - а метка «1»): если бы ихNext RowПодробнее смотрите в это еще не способов, как вikki
один Иванов. я последний. В = GetObject(, «vbscript.regexp»)Next 0 ищем и удаляем.Так? 345 Selection .RemoveAll For
Next End With 1), «&», WORD))Выбираете одинаковые метки было ещё больше…Application.ScreenUpdating = True статье «Выделить дату,
excelworld.ru
Как убрать повторяющиеся слова из текста?
все. Теперь вам Excel удалить повторяющиеся
: секретный? список-то?ikki чем не разобрались? ‘Error 429ptrn = Mid$(ptrn,End WithZmey
Бред, но как Each x In End Sub End Sub и удаляете повтор.можно пихнуть вEnd Sub
день недели в необходимо выделить любую строки автоматически.
от вас -: хорошо.Fisher473 Set c 3)ЧистаяРама = Trim(Join(W2s,: Да, в точку!
ещё пояснить не Split(Application.Trim(Replace$(c, nbsp, «innx
SuhMetМашина сразу же таблицу БД и
sv2014 Excel при условии»
ячейку таблицы, чтобы
Самым простым способом, как
примеры того, чтос «господинами», можно: Уважаемые форумчане , = CreateObject(«word.application»)If re Is
» «))iba2004 знаю. Короче, нужно «)), «,») x
: Безмерно Вам благодарна!: хрень выдаёт - пересчитает и выдаст
сделать distinct:
тут. во вкладках появился в Excel удалить сработало не так сказать, разобрались. нужна ваша помощь.4 Set d Nothing Then SetEnd Function: да, и ещё убрать повторяющиеся слова = Trim(x) .Item(x) Избавили меня от
#ЗНАЧ! новую меткуРоман костровDadojonНажимаем «ОК». В столбце пункт «Конструктор» и повторяющиеся строки, является как надо ик слову: выделениеНа листе Excel = GetObject(, «word.application») re = CreateObject(«vbscript.regexp»)Zmey
к этому два или цифры. Каждый = 0 Next двухдневной головной болиКазанский
P.S.: Я делаю так., еще вариант макроса,кнопка D выделились все непосредственно перейти в
использование соответствующего инструмента, рядышком — как
отдельных символов (или есть очень длинный5 Debug.Print cre.Pattern = ptrn: У меня Mac.
условия, которые забыл раз эти повторяющиеся c = Join(.keys,Nemogreen
: Тогда по-простому Subтолько что отправилКопируем в эксель. test,в столбце Q года – 1960. эту вкладку.
располагающегося в ленте. надо и почему. слов) разным цветами список слов или
Is d ‘True
Zmey = Application.Trim(re.Replace(s1, Excel 14.2.3 упомянуть: значения в разных «, «) Next
: Приветсвую. Ребят помогите bb1() Const WORD сообщение и меняПотом данные-сортировка.Sub test()Можно в условном
В ленте инструментов нужноИтак, вам необходимо:
иначе второй версии — гораздо более их сочетаний. Что-то
6 Debug.Print c.Name
«»)) & s2ShAM1. После ПОСЛЕДНЕЙ местах, и длинна End With End
решить такую задачку:
= «-ñëîâî3» Dim осенила мысль, что
В соседнем столбцеDim i&, z, форматировании тоже в нажать кнопку «УдалитьЗажав левую кнопку мыши,
не будет долгая задача. вроде: ‘Microsoft WordElse: Zmey =
: >>А ещёёёёё…. Задача
запятой (кстати, м.б.
предложения разная. Повторы Sub в одной ячейке c As Range, в предложенном варианте
формула =ЕСЛИ (А3=А2;»*»;»
m&: z = разделе «Правила выделенных дубликаты».
выделить необходимый диапазонFisher47ещё вопрос:Иванов И.И.7 c.Quit s усложняется тем, что
Удалить повторяющиеся значения в одной ячейке
что-нить типа >, ни какими знакамиКазанский существует ряд значений i&, lw& lw могут быть «косяки» «) появятся звёздочки
Range(«B2:B» & Range(«B» ячеек» выбрать функциюПосле этого появится окно ячеек, в пределах: секретный конешн, нигде
в списке будут:Петров8 Debug.Print cEnd If значение может повторяться где нужно удалить не отделяются.Спасибо огромное! Работает, разделенных символом «=». = Len(WORD) -Воспользуйтесь этой формулой: везде где есть & Rows.Count).End(xlUp).Row).Value
«Содержит текст». Написать удаления повторяющихся строк. которого будет поиск не найти «иванов», написанный «по-разному»,
И.и.Иванов Is Nothing ‘FalseEnd Function с пробелом или >)? Я кСразу оговорюсь что но вот вообщепример: 1672938745=DFG2873=34780KBC=1234567=1672938745=12345
1 For Each=ДЛСТР (A1)/СЧЁТЕСЛИ ($A$1:$A$17;»=»&A1)+КОДСИМВ повторения.With CreateObject(«scripting.dictionary»): .CompareMode
этот текст (например, Оно будет аналогично и автоматическое удалениевзял около сотни «сидоров», «петров» иСидоров9 Debug.Print cС.М. без
тому, можно ли в Excel рядовой не понятно как
Нужно: Удалить дубликаты. c In Selection (A1)Потом накладываем автофильтр = 1 фамилию, цифру, др.), тому, что было повторяющихся строк. крупных компаний по т.д.Иван иванов Is d ‘True: Алексей, поздним связываниемGDB 1583 TRW считать последнюю запятую пользователь.Например, есть колонка сНа самом деле
i = InStr(1,Ahrorjon turdiev на оба столбцаFor i =
и все ячейки
представлено в первомПерейти во вкладку «Данные».
версии forbes иих выделять разными
Господин Иванов
10 Debug.Print c.Name создаём ссылку (пример
,Колодки торм., GDB1583 неким ключевым символомНужно получить соответственно: ценами, формата «хххххх
… где собака c, WORD, vbTextCompare): ачем же такой и удаляем строки 1 To UBound(z) с этим текстом способе, поэтому всеНажать по инструменту «Удалить под сотенку от цветами?Андреев ‘Error 462 из Вашего примера):GDB1583 TRW ,Колодки или нет?Мама мыла, раму. руб» из каждой
порылась … If i Then
большой пример, хватило со звёздочками.If .exists(z(i, 1)) выделятся цветом. Мы последующие действия проводите
дубликаты», что находится expert.а цветов-то хватит?
и т.п.End SubDim re As торм., GDB 15
2. Удаляем толькомыл маму 3, ячейки нужно убратьВыгружаю многотысячный список c = Left(c,
бы одного листаОстаётся, если нужно, = False Then написали фамилию «Иванов». в соответствии с в группе «Работапроверил нарандом десятокможет быть, лучшеМожно заметить, что1,2 — создаем Object 83 в случае наличия папа. «руб» чтобы колонка кодов из 1С i + lw) с несколькими строками!
вернуть очищенный списокm = mЕсть еще много первой инструкцией.
с данными». тех, что не отказаться от разноцветной часто повторяется Иванов. «простой» объект, пытаемся……………………
Извиняюсь, сам не
повторения во фразе
Вася и смотрел, осталась только с в эксель ….
Next End SubПриложитеА по делу в текстовый редактор.
+ 1: .Item(z(i, способов найти одинаковыеВот мы и разобралиВ появившемся окне поставить выделены — действительно разукрашки? НО слово «Иванов» подключиться к егоSet re = сразу заметил Вроде, фрагмента. Сидел цифрами.в экселе по книгу с данными,
так: Ctrl +Кстати, в Ворде 1)) = 0:z(m,
значения в Excel два способа, как галочку рядом с не повторяются.
и формировать какой может стоять первым,
интерфейсу — не CreateObject(«vbscript.regexp»).
так работает (жуть,GuestКошка бежала, 345Ampersand
формуле видно что на которых ошибка H, Найти « тоже есть сортировка. 1) = z(i, и выделить их в Excel удалить «Мои данные содержата вот, например, либо список (списки)
может быть вторым, получается.В VB/VBA-руководствах, в конечно) :): 1. такого форматаВ идеале нужно: есть очень хорошая убираю «-» и происходит. руб.» заменить (оставляетеАндрей чуйко 1) не только цветом, строки с повторяющимися заголовки». РЖД выделена как
в отдельном месте? т.е.3,4 — создаем этом случае, рекомендуют=ЕСЛИОШИБКА(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(B3;ПРАВСИМВ(B3;ДЛСТР(B3)-ПРОСМОТР(100;1/(ПСТР(B3;СТРОКА(A$1:A$99);1)=»,»);СТРОКА(A$1:A$99))-(ПСТР(B3;ПРОСМОТР(100;1/(ПСТР(B3;СТРОКА(A$1:A$99);1)=»,»);СТРОКА(A$1:A$99))+1;1)=» «));;1));B3) как 0,4 мм
убрать первое из
формула подставляю из одногоolegrbox пусто), ок.: Роман, не прощеEnd If но и словами, значениями. Как можноУстановить галочки рядом с повтор , акоторый(ые) будет легкобез чёткой позиции в объект-приложение, подключаемся к по выходе изShAM в тексе после повторяющихся слов, т.к=СИМВОЛ (36)&ЗАМЕНИТЬ (A1;(ДЛСТР столбика код без
: Господа, помогите решитьДалее по аналогии. воспользоваться штатным инструментом
CyberForum.ru
Как в экселе стереть часть текста из каждой строки одной колонки?
Next числами, знаками. Можно заметить, в этом названием тех столбцов, ctrl + F подправить и использовать ячейке
его интерфейсу. Теперь макроса: Кстати, проверку можно
запятой нет. Там последнее стоит в
(A1)-3);3;»») тире в другой, задачку, если неРедко но метко…
«Найти — Заменить»Range(«K2»).Resize(.Count, 1).Value = настроить таблицу так,
нет ничего сложного, в которых будет говорит об обратном. — например, для+ когда список переменные c,d указываютразрывать связь с убрать: буквенно числовые значения
конце предложения иAndrey aksenov с вереницей кодов
трудно.Андрей андреев
в Excel/Word, предварительно z что дубли будут
а пользуясь инструкцией,
проводиться поиск. Возьмите (также как ненастоящие замены всех вариантов из нескольких сотен
на один и
внешней библиотекой, присваивая=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(B3;ПРАВСИМВ(B3;ДЛСТР(B3)-ПРОСМОТР(100;1/(ПСТР(B3;СТРОКА(A$1:A$99);1)=»,»);СТРОКА(A$1:A$99))-(ПСТР(B3;ПРОСМОТР(100;1/(ПСТР(B3;СТРОКА(A$1:A$99);1)=»,»);СТРОКА(A$1:A$99))+1;1)=» «));;1)) разделяемые / или отделено запятой и
: там есть функция заменителей, следом символМассив ячеек содержит:: для этого программа пихнув туда скопированный.txt
End With не только выделяться,
так и вовсе во внимание, что повторы заметил 1С, одним. строк нереально заметить, тот же объект этой Object-переменной значение
Как удалить повторяющиеся значения внутри строк?!
vikttur -
это поможет при — «найти и «=» (в 1С
Одна ячейка: -слово1 есть, которая может
(лучше в Ворде)End Sub но и считаться.
провернуть данную операцию если установлены все
«Руст инк»ну например:
что повторяется именно (5).
Nothing.: В примере «,
Правда бывает разный дальнейшей фильтрации. заменить» служит разделителем между -слово2 чистить тексты во , сохранив результатASWP Можно выделить повторяющиеся можно за несколько галочки, то дубликатом
. Или «Рустполучим два списка «Иванов», т.е.
_Примечание:_ до этого
В каких случаях
» (запятая с регистр. Т.е. в
iba2004Helloworld
кодами), а вот
Вторая под ней: всех расширениях файлов как текст? Это: значения с первого секунд. Пример был будут считаться строки, инк» признан повтором
»иванов», «Иванов», «Ивановповторяющееся слово заранее неизвестно, Word не должен это действительно необходимо
пробелом) только последняя. начале может быть: Формулой если, то
: Запихни «руб» в удаление дубликатов не
-слово1http://studiowebd.ru/url/17
если родная блокнотоваASWP
слова, а можно приведен в 2016-й
которые полностью повторяются из-за того, что И.И.», «Иванов Г.П.»,поэтому функция «Найти» быть запущен. Команда
делать ?В таком случае АБВГД123 а в у меня трёхэтажная другую колонку.
поборол. Помогите плизТретья: -слово3 -слово1Башкатов александр заменялка не приносит, На самом деле
выделять дубли со версии программы, однако
во всех столбцах. есть «Корпорация Инком» «Иванов Иван», «Петрова , «Условное форматирование (4) подключит переменную
Я каждый раз простенькое (минусы - конце после запятой получается. Подойдёт?Если у тебя
). За ранееЧетвертая: -слово3 -слово4: То что нужно, должного удовлетворения киберпоклонникам не очень удачный второго и далее.
удалить повторяющиеся строки Таким образом, если
? Клавдия Ивановна».. для повторяющихся значений»
к любому из тупо пишу:
не убирает лишние АбвГд-123 или абвгд/123Hugo иксель 2007й, то благодарен. -слово5 даже больше, спасибо!
Мазоха. пример, долго будет
Обо всем этом в Excel 2010 вы хотите удалитьikki»Сидор», «Сидоров», «Сидорчук»,
и «удаление дубликатов» экземпляров запущенного приложения,…. пробелы, убирает искомое, или аБВГД 123.: UDF, т.е. макросы это делается так:NemogreenКак собрать -слова
Валентин кураевАнахорет семибулатный работать если очень и другом читайте
и других версиях дубликаты с одного: заходим в макрос, «Сидоренко», «Сидоров И.И.», не подходят. если их несколько.Set XYZ = если его дубль
2.Да. должны быть разрешены. Выделяешь столбец, затем: Забыл картинку прицепить в верхнюю ячейку,: Можно в Exel: Если все слова
много строк, можно
в статье «Как можно точно также. столбца, то необходимо изменяем значение константы «И.И. Сидорчук»,..
Задача в том,7 — завершение Nothing
не найден):iba2004
ShAM вкладка Данные -> ) исключить повторы и весь текст разбить записаны в столбик проще и быстрее
найти повторяющиеся значения
Автор: Вадим Матузок
оставить лишь одну nMin на 2
вообще — что
чтобы найти одинаковые
приложения.
End Sub,
=ПОДСТАВИТЬ(B3;ПСТР(B3;ПОИСК(«, «;B3&» «)+2;20);;1): У Вас офис: Так?
Текст по столбцамNemogreen
удалить отработанные ячейки?
по столбикам и — то при
сделать. в Excel». ВРассмотрим,
галочку рядом с
или 1, запускаем дальше-то?.. (в очень идеальном
8 — Но
и думаю -
Немного сложнее (убирает 10-ка или моложе.
Zmey
-> Далее. Выбираешь:
Zabiyaka1
удалить дубликаты. Потом копировании в ексельФомулист
таблице можно удалять
к
его наименованием. макрос.
пс. имхо -
идеале однокоренные) слова переменная продолжает указывать
а оно обязательно
лишние пробелы, оставляет Просто от этого: Так?
разделитель пробел, жмешьNemogreen: Спасибо за макрос. вернуть все в они попадут в: Сам написал макрос,
дубли по-разному. Удалитьак найти и выделить
Нажать «ОК».ikki только макросом. и
и выделять ячейки на нечто (интерфейс?). надо ? искомое, если его
зависит количество вложений
К сообщению прикреплен далее и готово, файл приложите
Возможно ли его
WORD. ращные строки в сам его же строки по полному
одинаковые значения вКак только вы нажмете: а вообще-то применять довольно непростым макросом. с ними.10- Однако, свойства
Казанский
дубль не найден):С.М. файл: post_363447.xlsxДа, ну или
Nemogreen доработать таким образом,
SuhMet одном столбце. Надо и покритиковал
совпадению, удалить ячейки Excel.
на кнопку, начнется макрос, разработанный дляFisher47
P.s. к сожалению объекта уже недоступны.: По моим наблюдениям,=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(B3;ПСТР(B3;ПОИСК(«, «;B3&» «)+2;20);))&ПСТР(B3;ПОИСК(«,: Function ЧистаяРама(ByVal Грязная_рама
Да! Так! Спасибо просто «найти и: файлик приложил чтобы не учитывались
: Помогите, пожалуйста, справиться будет выделить этот
А чё - в столбце, т.д.Нам поможет условное
поиск дубликатов выделенной списка фамилий, к: разноцветность — это
с функциями экселяЕсли в данном
«сборщик мусора» в «;B3&» «)+1;20)
As String) огромное!
заменить»Beerukoff
запятые. Например у
с такой задачей. столбец, перейти на
когда самому себе Как убрать повторяющиеся
форматирование.Что такое условное области, а затем
списку компаний - конечно необязательно (В
знаком на довольно случае выполнить команды VBA работает вполнеСо всякими тире/пробелами
Const Commas As
Теперь бы осознатьNo name
: Если правильно понимаю меня ячейка может В ячейке массив
вкладку инструментов «Данные»
вслух (письменно) высказываешь значения в Excel,
форматирование и как и их удаление.
это отдельное извращение
списке есть достаточно
базовом уровне, поэтомуSet c=Nothing: Set надежно: объект уничтожается, хуже. Судя по
String = «,.;:!?» как эту формулу
:
Казанский содержать слова «черный,
слов такого вида: и воспользоваться инструментом критику, — легче смотрите в статье
с ним работать, По итогу появитсятам и с 100% неповторяющихся слов,
просьба объяснять смысл d=Nothing как только ни
показанному:Dim W1s() As
в мою таблицу
Если у тебя: Вот так будет
белый, черный, черный»
-слово1 -слово2 -слово3 «Удалить дубликаты» понимаешь что сделал
«Как удалить дубли смотрите в статье окно, в котором кавычками свои заморочки, поэтому если использовать идей чуть подробней., но не одна переменная не>>GDB 1583 TRW
String, W2s() As перенести… Мозг рвётся «хххххх руб» без наверное более подробно и итог работы -слово2 и т.д..Я бы еще не так! в Excel».
«Условное форматирование в будет продемонстрирован отчет. и с сокращениями, один цвет заливкиЗаранее спасибо за выполнить c.Quit, то содержит ссылку на ,Колодки торм., GDB1583 String, W As на куски :)) точки тогда так: ) макроса будет выглядетькаким образом можно
на всякий случайкитинDadojon Excel» здесь. Выделить Теперь вы знаете, и с организационными ячейки, то повторы любые идеи.
связь с объектом
него.>>GDB1583 TRW ,Колодки String, N1 Asiba2004=(ЛЕВСИМВ (A1;ДЛСТР (A1-3)))*1
Beerukoff так : «черный,
избавиться от повторений избавился от возможных:
: В одном листе повторяющиеся значения в
как в Excel формами (ОАО, ЗАО)…
будут явно выделяться.ikki
будет разорвана, НОЕсли в Вашем
торм., GDB 15
Long, N2 As: Не думаю, что
Если у тебя: У меня похожая
белый, черный». Т.е. одних и тех
лишних пробелов функцией
Фомулист сформирован список ФИО. Excel можно как удалить повторяющиеся строки,надо думать, прежде
поэтому даже выделение: и всех «господинов» приложение останется работать случае XYZ - 83, Long, K As у меня оптимальный
«хххххх руб. « задача, но формат макрос идентифицирует слова же слов в =СЖПРОБЕЛЫ (), а лучше всего Имеется несколько одинаковых
во всей таблицы, но лишь первый
чем «рисовать пример», всей ячейки, а — тоже считать
и занимать память переменная этой процедуры
неправильная запись может Long
вариант, но на с точкой, тогда
заполнения ячейки такой «черный» и «черный,» ячейке?Abram pupkin критиковать других, не повторяющихся ФИО. Как так и в способ, на очереди
ага не отдельного слова «одинаковыми»?.. — это видно и она не
быть как в’ всякий случай прикладываю.
так: «Текст 1, Текст как разные. МожетеКазанский
: вы не указали приложив даже чутка использовать формулу для определенном диапазоне (строке,
второй.Fisher47
в ней, неесли вы перечитаете в диспетчере задач. объявлена как Static, первом, так иГрязная_рама = Trim(Грязная_рама)iba2004=(ЛЕВСИМВ (A1;ДЛСТР (A1-4)))*1 2, Текст 3, помочь доработать макрос?
: Выделите диапазон, запустите в какой именно усилий в решении удаления повторяющих ФИО столбце). А функцияДубликаты можно удалить подобным
: да наверно стоило принесёт много проблем свой пост -
planetaexcel.ru
Найти и выделить в столобце Excel повторяющиеся слова, не зная какие слова повторяются
Так что разрывать переменная исчезнет при во втором вхождении
If Грязная_рама =: Простите, моя формулаЗолотая рыбка Текст 1, Текстinnx
макрос Sub bb()
программе хотите навести
задачи
более одно. Пример
«Фильтр в Excel»
способом, который имеет
сразу привести пример
). ещё хочу
вы поймёте, что связь ИМХО необязательно, End Sub, а искомого. «» Then «жрёт» текст после: Выделяешь правой мышкой 4, Текст 2,: Добрый день! Dim c As порядокФомулист в приложении. PS: поможет их скрыть, место быть в с компаниями добавить ,что можно это так а вот завершать
вместе с нейЕсть ли всеЧистаяРама = Грязная_рама последнего пробела, если весь столбик -формат Текст 4, Текст
Подскажите, пож-та, можно Range, x WithОписанный ниже способ: Упаси Бог, где Данный список в если нужно. Рассмотрим
этой статье. Навобщем, потестил с
обойтись и безне-а приложение — очень — объект.
(или хотя быExit Function нет задвоения. :о(( ячеек-Число — числовой
1″
ли сделать так, CreateObject(«scripting.dictionary») For Each выполнялся в Excel. Вы увидели критику?
листе более 23000 несколько способов. сей раз, в другими значениями константы поиска однокоренных слов,первая задача в
важно.В моем случае основные) варианты неправильныхEnd IfZmey- VladУбирать нужно все
чтобы удалялось не c In Selectionперелопатить весь текстЭто была просто строк.Первый способ. рассказе, как в — впринципе норм. т.е. если есть том, чтобыС.М. я намеренно объявил записей? Например:W1s = Split(Грязная_рама): Народ!: Ampersand написал (а)
повторяющиеся элементы, но второе слово-дубль, а
.RemoveAll For Each и автоматически убрать
лёгкая шутка. И_Boroda_Как найти одинаковые значения Excel удалить повторяющиеся Убрал всякие лишние
Иванов и Иванович,
правильно: Алексей, спасибо (отдельно переменную re вварианты АА11: АА-11,
N1 = (Len(Грязная_рама)ShAM написал отличную
хорошую формулу, но
повторяющиеся только целиком первое? x In Split(c)
все повторы - ничего более.: Думаю, что проще
в Excel строки, будет использоваться слова(типа компания, группа, то это действительносформулировать задачу.
за дополнение).
модуле, чтобы она
АА 11 + 1) формулу! Всё работает, вот эта немного
от запятой доСейчас есть вот .Item(x) = 0
это реально толькоПодскажите как убрать повторяющиеся
всего использовать сводную. «умная таблица».
банк и т.п.) разные слова иFisher47Понял, что ссылки сохранялась (и вместеварианты ААА1111: ААА 2 НО! После 150 лучше и короче запятой (с учетом, такой текст в Next c = с помощью VBA. слова из списка? таблицуНапример, число, фамилию,Для удаления повторов в — ошибочно выделеных к ним вопросов: насчёт этого не на не интерфейсные с ней объект) 11 11, АААReDim W2s(1 To
строики пропадают значения=СИМВОЛ (136)&—ЛЕВСИМВ (A1;ДЛСТР
что в конце ячейке:
Join(.keys) Next EndЕсли у васЕсть список словИли Данные -
т.д. Как это Excel, вам нужно
ячеек — минимум, нет. подумал, что и объекты можно явно между вызовами функции 1111 N1) после запятой! (A1-3)) текста в ячейкеHydro With End Sub такого текста N-ое в txt файле Удалить дубликаты
сделать, смотрите в сделать следующее:
восновном корректно.в понедельникikki «господин иванов»и «господин не удалять. — чтобы неКазанский
With New CollectionZmey
Екатерина ткаченко запятой не будет),Lioele
SuhMet кол-во, тогда макросы более 2000, некоторыеsv2014 статье «Как выделить
Как и в предыдущем проведу тест на: пробуем первый вариант: сидоров» выделятся из-за
[ если это создавать объект каждый: Регулярная борьба сOn Error Resume: И ещё съедает: Выделить колонку, зажатой т.е. в итогеHydro: Казанский, огромное спасибо будут оправданы. из них повторяются: ячейки в Excel».
способе, сначала выделить рабочем варианте.с листа запускаем слова «господин» не расчёт пилотируемого раз. Здесь объект
пробелами :)) Next значения если оно левой кнопкой мыши, нужно получить «ТекстPeel Therapy Cream
за оперативную квалифицированнуюЕсли это единственный как найти ихDadojonВторой способ.
диапазон ячеек, гдеСпасибо огромное за макрос test
с другой стороны полёта на Луну существует, пока открытаDim re As
For K = в предложении без затем нажать правую 1, Текст 2,При помощи макроса, помощь! Моё Вам экземляр — тогда и убрать?(все слова, вариант формулы массиваКак выделить повторяющиеся значения необходимо удалить дубликаты.
оперативную помощь!PS в принципе,
planetaexcel.ru
с помощью «найти
Поиск и удаление повторений
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
В некоторых случаях повторяющиеся данные могут быть полезны, но иногда они усложняют понимание данных. Используйте условное форматирование для поиска и выделения повторяющихся данных. Это позволит вам просматривать повторения и удалять их по мере необходимости.
-
Выберите ячейки, которые нужно проверить на наличие повторений.
Примечание: В Excel не поддерживается выделение повторяющихся значений в области «Значения» отчета сводной таблицы.
-
На вкладке Главная выберите Условное форматирование > Правила выделения ячеек > Повторяющиеся значения.
-
В поле рядом с оператором значения с выберите форматирование для применения к повторяющимся значениям и нажмите кнопку ОК.
Удаление повторяющихся значений
При использовании функции Удаление дубликатов повторяющиеся данные удаляются безвозвратно. Чтобы случайно не потерять необходимые сведения, перед удалением повторяющихся данных рекомендуется скопировать исходные данные на другой лист.
-
Выделите диапазон ячеек с повторяющимися значениями, который нужно удалить.
-
На вкладке Данные нажмите кнопку Удалить дубликаты и в разделе Столбцы установите или снимите флажки, соответствующие столбцам, в которых нужно удалить повторения.
Например, на данном листе в столбце «Январь» содержатся сведения о ценах, которые нужно сохранить.
Поэтому флажок Январь в поле Удаление дубликатов нужно снять.
-
Нажмите кнопку ОК.
Примечание: Количество повторяющихся и уникальных значений, заданных после удаления, может включать пустые ячейки, пробелы и т. д.
Дополнительные сведения
Нужна дополнительная помощь?
- Удалить повторяющиеся слова во всем столбце
- Удалить повторяющиеся слова внутри ячейки
- Удалить повторяющиеся слова с учетом словоформ
- Удалить повторяющиеся слова в диапазоне, собрать уникальные, посчитать и вывести списком
При анализе текстовых данных зачастую требуется удалить повторяющиеся слова в каждой строке. Иногда слова дублируются из-за машинных ошибок. Иногда повторы допускают люди. Но так или иначе — их нужно удалить.
Удалить повторяющиеся слова во всем столбце
Если список заранее не известен, его можно составить, посчитав самые повторяющиеся слова в тексте. Если это короткие слова, есть риск повредить данные при обычной их замене на пустоту. Эту проблему решает макрос «Удалить слова из списка».
Если же нужно удалить внутри столбца все повторы, кроме первого, можно воспользоваться инструментом в группе SEO & PPC:
Удалить повторяющиеся слова внутри ячейки
Прежде, чем удалять повторы слов, можно убедиться, что они есть в принципе, для этого в !SEMTools есть отдельный инструмент — найти повторяющиеся слова в ячейках. Если массив фраз большой (десятки-сотни тысяч строк), эта процедура будет заметно быстрее.
В стандартных функциях и процедурах Excel удаления дублирующихся слов в ячейках нет. Мысленно алгоритм довольно прост и понятен — нужно:
- разбить ячейку на слова,
- просматривать их по порядку,
- удалять слова, если они уже встречались в строке ранее.
Есть несколько онлайн-инструментов, позволяющих удалить повторы слов в строках, но что, если бы возможность была прямо под рукой? Именно такую возможность предоставляет надстройка !SEMTools.
С помощью надстройки удалить повторы слов в ячейках можно буквально в 2 клика. Процедура производит удаление повторяющихся слов независимо от регистра. Макрос находится на вкладке «УДАЛИТЬ» в меню «Удалить слова». Ниже — наглядная инструкция:
Удалить повторяющиеся слова с учетом словоформ
Иногда повторами можно считать не только полностью совпадающие слова, но и другие формы тех же слов. Для того, чтобы произвести такое удаление, потребуется лемматизация слов, чтобы производить сравнение их лемм. При запуске процедуры скачивается словарь лемм, он и используется для удаления повторов слов независимо от их словоформ. Из слов с одинаковой леммой остается слово, идущее в ячейке первым по порядку.
Макрос также работает независимо от регистра — здравый смысл подсказывает, что слово остается словом вне зависимости от регистра символов в нем. Однако, если есть кейсы, где необходим чувствительный к регистру поиск и удаление — можно обратиться к автору.
Удалить повторяющиеся слова в диапазоне, собрать уникальные, посчитать и вывести списком
Иногда, например, при семантическом анализе текста, удаление повторов слов нужно произвести не в каждой ячейке, а по всему диапазону ячеек. Помимо выделения уникальных слов, может быть интересно вычислить и количество уникальных слов в тексте. Здесь вам поможет раздел про составление частотного словаря n-gram.
Перед тем, как производить все указанные процедуры, рекомендуется удалить все знаки препинания из ячеек Excel, т.к. слово со знаком препинания для Excel — уже другое слово.
Нужно удалить повторяющиеся слова в Excel?
Надстройка !SEMToolsпоможет решить эту и сотни других рабочих задач за пару кликов!
Skip to content
В этом руководстве объясняется, как удалять повторяющиеся значения в Excel. Вы изучите несколько различных методов поиска и удаления дубликатов, избавитесь от дублирующих строк, обнаружите точные повторы и частичные совпадения.
Хотя Microsoft Excel является в первую очередь инструментом для расчетов, его таблицы часто используются в качестве баз данных для отслеживания запасов, составления отчетов о продажах или ведения списков рассылки.
Распространенная проблема, возникающая при увеличении размера базы данных, заключается в том, что в ней появляется много повторов. И даже если ваш огромный файл содержит всего несколько идентичных записей, эти несколько повторов могут вызвать массу проблем. Например, вряд ли порадует отправка нескольких копий одного и того же документа одному человеку или появление одних и тех же данных в отчете несколько раз.
Поэтому, прежде чем использовать базу данных, имеет смысл проверить ее на наличие дублирующих записей, чтобы убедиться, что вы не будете потом тратить время на исправление ошибок.
- Как вручную удалить повторяющиеся строки
- Удаление дубликатов в «умной» таблице
- Убираем повторы, копируя уникальные записи в другое место
- Формулы для удаления дубликатов
- Формулы для поиска дубликатов в столбце
- Удаление дублирующихся строк при помощи формул
- Универсальный инструмент для поиска и удаления дубликатов в Excel
В нескольких наших недавних статьях мы обсуждали различные способы выявления дубликатов в Excel и выделения неуникальных ячеек или строк (см.ссылки в конце статьи). Однако могут возникнуть ситуации, когда вы захотите в конечном счете устранить дубли в ваших таблицах. И это как раз тема этого руководства.
Удаление повторяющихся строк вручную
Если вы используете последнюю версию Microsoft Excel с 2007 по 2019, у вас есть небольшое преимущество. Эти версии содержат встроенную функцию для поиска и удаления повторяющихся значений.
Этот инструмент позволяет находить и удалять абсолютные совпадения (ячейки или целые строки), а также частично совпадающие записи (имеющие одинаковые значения в столбце или диапазоне).
Важно! Поскольку инструмент «Удалить дубликаты» навсегда удаляет идентичные записи, рекомендуется создать копию исходных данных, прежде чем удалять что-либо.
Для этого выполните следующие действия.
- Для начала выберите диапазон, в котором вы хотите работать. Чтобы выделить всю таблицу, нажмите
Ctrl + A
, - Указав диапазон, перейдите на вкладку «Данные» > и нажмите кнопку «Удалить дубликаты» .
- Откроется диалоговое окно. Выберите столбцы для проверки на наличие дублей и нажмите кнопку «ОК».
- Чтобы удалить повторяющиеся строки, которые имеют абсолютно одинаковые данные во всех колонках, оставьте флажки рядом со всеми столбцами, как на скриншоте ниже.
- Чтобы удалить частичные совпадения на основе одного или нескольких ключевых столбцов, выберите только их. Если в вашей таблице много колонок, самый быстрый способ — нажать кнопку «Снять выделение». А затем отметить те, которые вы хотите проверить.
- Ежели в вашей таблице нет заголовков, снимите флажок Мои данные в верхнем правом углу диалогового окна, который обычно включается по умолчанию.
- Если указать в диалоговом окне все столбцы, строка будет удалена только в том случае, если повторяются значения есть во всех них. Но в некоторых ситуациях не нужно учитывать данные, находящиеся в определенных колонках. Поэтому для них снимите флажки. К примеру, если каждая строчка содержит уникальный идентификационный код, программа никогда не найдет ни одной повторяющейся. Поэтому флажок рядом с колонкой с такими кодами следует снять.
Выполнено! Все повторяющиеся строки в нашем диапазоне удаляются, и отображается сообщение, указывающее, сколько повторяющихся записей было удалено и сколько осталось уникальных.
Важное замечание. Повторяющиеся значения определяются по тому, что отображается в ячейке, а не по тому, что в ней записано на самом деле. Представим, что в A1 и A2 содержится одна и та же дата. Одна из них представлена в формате 15.05.2020, а другая отформатирована в формате 15 май 2020. При поиске повторяющихся значений Excel считает, что это не одно и то же. Аналогично значения, которые отформатированы по-разному, считаются разными, поэтому $1 209,32 — это совсем не одно и то же, что 1209,32.
Поэтому, для того чтобы обеспечить успешный поиск и удаление повторов в таблице или диапазоне данных, рекомендуется применить один формат ко всему столбцу.
Примечание. Функция удаления дублей убирает 2-е и все последующие совпадения, оставляя все уникальные и первые экземпляры идентичных записей.
Удаление дубликатов в «умной таблице».
Думаю, вы знаете, что, если преобразовать диапазон ячеек в таблицу, в нашем распоряжении появляется множество интересных дополнительных возможностей по работе с этими данными. Именно по этой причине такую таблицу Excel называют «умной».
Выделите нужную нам область, затем на вкладке «Главная» выберите «Форматировать как таблицу». Далее вам будет предложено указать желаемый вариант оформления. Когда закончите, автоматически откроется вкладка «Конструктор».
Выбираем на ленте нужную кнопку, как показано на скриншоте. Затем отмечаем те столбцы, в которых будем искать повторы. Ну а далее произойдет то же самое, что было описано в предыдущем разделе.
Но, в отличие от ранее рассмотренного инструмента удаления, операцию можно отменить, если что-то пошло не так.
Избавьтесь от повторов, скопировав уникальные записи в другое место.
Еще один способ удалить повторы — это выбрать все уникальные записи и скопировать их на другой лист или в другую книгу. Подробные шаги следуют ниже.
- Выберите диапазон или всю таблицу, которую вы хотите обработать (1).
- Перейдите на вкладку «Данные» (2) и нажмите кнопку «Фильтр — Дополнительно» (3-4).
- В диалоговом окне «Расширенный фильтр» (5) выполните следующие действия:
- Выберите переключатель скопировать в другое место (6).
- Убедитесь, что в списке диапазонов указан правильный диапазон. Это должен быть диапазон из шага 1.
- В поле «Поместить результат в…» (7) введите диапазон, в который вы хотите скопировать уникальные записи (на самом деле достаточно указать его верхнюю левую ячейку).
- Выберите только уникальные записи (8).
- Наконец, нажмите кнопку ОК, и уникальные значения будут скопированы в новое место:
Замечание. Расширенный фильтр позволяет копировать отфильтрованные данные в другое место только на активном листе. Например, выберите место внизу под вашими исходными данными.
Я думаю, вы понимаете, что можно обойтись и без копирования. Просто выберите опцию «Фильтровать список на месте», и дублирующиеся записи будут на время скрыты при помощи фильтра. Они не удаляются, но и мешать вам при этом не будут.
Как убрать дубликаты строк с помощью формул.
Еще один способ удалить неуникальные данные — идентифицировать их с помощью формулы, затем отфильтровать, а затем после этого удалить лишнее.
Преимущество этого подхода заключается в универсальности: он позволяет вам:
- находить и удалять повторы в одном столбце,
- находить дубликаты строк на основе значений в нескольких столбиках данных,
- оставлять первые вхождения повторяющихся записей.
Недостатком является то, что вам нужно будет запомнить несколько формул.
В зависимости от вашей задачи используйте одну из следующих формул для обнаружения повторов.
Формулы для поиска повторяющихся значений в одном столбце
Добавляем еще одну колонку, в которой запишем формулу.
Повторы наименований товаров, без учета первого вхождения:
=ЕСЛИ(СЧЁТЕСЛИ($B$2:$B2; $B2)>1; «Дубликат»; «»)
Как видите, когда значение встречается впервые (к примеру, в B4), оно рассматривается как вполне обычное. А вот второе его появление (в B7) уже считается повтором.
Отмечаем все повторы вместе с первым появлением:
=ЕСЛИ(СЧЁТЕСЛИ($B$2:$B$17; $B2)>1; «Дубликат»; «Уникальный»)
Где A2 — первая, а A10 — последняя ячейка диапазона, в котором нужно найти совпадения.
Ну а теперь, чтобы убрать ненужное, устанавливаем фильтр и в столбце H и оставляем только «Дубликат». После чего строки, оставшиеся на экране, просто удаляем.
Вот небольшая пошаговая инструкция.
- Выберите любую ячейку и примените автоматический фильтр, нажав кнопку «Фильтр» на вкладке «Данные».
- Отфильтруйте повторяющиеся строки, щелкнув стрелку в заголовке нужного столбца.
- И, наконец, удалите повторы. Для этого выберите отфильтрованные строки, перетаскивая указатель мыши по их номерам, щелкните правой кнопкой мыши и выберите «Удалить строку» в контекстном меню. Причина, по которой вам нужно сделать это вместо простого нажатия кнопки «Удалить» на клавиатуре, заключается в том, что это действие будет удалять целые строки, а не только содержимое ячейки.
Формулы для поиска повторяющихся строк.
В случае, если нам нужно найти и удалить повторяющиеся строки (либо часть их), действуем таким же образом, как для отдельных ячеек. Только формулу немного меняем.
Отмечаем при помощи формулы неуникальные строчки, кроме 1- го вхождения:
=ЕСЛИ(СЧЁТЕСЛИМН($B$2:$B2; $B2;$A$2:A2;$A2;$C$2:C2;$C2)>1; «Дубликат»; «»)
В результате видим 2 повтора.
Теперь самый простой вариант действий – устанавливаем фильтр по столбцу H и слову «Дубликат». После этого просто удаляем сразу все отфильтрованные строки.
Если нам нужно исключить все повторяющиеся строки вместе с их первым появлением:
=ЕСЛИ(СЧЁТЕСЛИМН($B$2:$B$17; $B2;$A$2:$A$17;$A2;$C$2:$C$17;$C2)>1; «Дубликат»; «»)
Далее вновь устанавливаем фильтр и действуем аналогично описанному выше.
Насколько удобен этот метод – судить вам.
Duplicate Remover — универсальный инструмент для поиска и удаления дубликатов в Excel.
В отличие от встроенной функции Excel для удаления дубликатов, о которой мы рассказывали выше, надстройка Ablebits Duplicate Remover не ограничивается только удалением повторяющихся записей. Подобно швейцарскому ножу, этот многофункциональный инструмент сочетает в себе все основные варианты использования и позволяет определять, выбирать, выделять, удалять, копировать и перемещать уникальные или повторяющиеся значения, с первыми вхождениями или без них, целиком повторяющиеся или частично совпадающие строки в одной таблице или путем сравнения двух таблиц.
Он безупречно работает во всех операционных системах и во всех версиях Microsoft Excel 2019 — 2003.
Как избавиться от дубликатов в Excel в 2 клика мышки.
Предполагая, что в вашем Excel установлен Ultimate Suite, выполните следующие простые шаги, чтобы удалить повторяющиеся строки или ячейки:
- Выберите любую ячейку в таблице, c которой вы хотите работать, и нажмите Quick Dedupe на вкладке Ablebits Data.
- Откроется диалоговое окно, и все столбцы будут выбраны по умолчанию. Выберите те, которые вам нужны, а также в выпадающем списке в правом нижнем углу укажите желаемое действие.
Поскольку моя цель – просто выделить повторяющиеся данные, я выбрал «Закрасить цветом».
Помимо выделения цветом, вам доступны и другие операции:
- Удалить дубликаты
- Выбрать дубликаты
- Указать их в столбце статуса
- Копировать дубликаты на новый лист
- Переместить на новый лист
- Нажимаем кнопку OK и оцениваем получившийся результат:
Как вы можете видеть на скриншоте выше, строки с повторяющимися значениями в первых 3 столбцах были обнаружены (первые вхождения здесь по умолчанию не считаются как дубликаты).
Совет. Если вы хотите определить повторяющиеся строки на основе значений в ключевом столбце, оставьте выбранным только этот столбец (столбцы) и снимите флажки со всех остальных неактуальных столбцов.
И если вы хотите выполнить какое-то другое действие, например, удалить повторяющиеся строки, или скопировать повторяющиеся значения в другое место, выберите соответствующий вариант из раскрывающегося списка.
Больше возможностей для поиска дубликатов при помощи Duplicate Remover.
Если вам нужны дополнительные параметры, такие как удаление повторяющихся строк, включая первые вхождения, или поиск уникальных значений, используйте мастер Duplicate Remover, который предоставляет эти и некоторые другие возможности. Рассмотрим на примере, как найти повторяющиеся значения с первым вхождением или без него.
Удаление дубликатов в Excel — обычная операция. Однако в каждом конкретном случае может быть ряд особенностей. В то время как инструмент Quick Dedupe фокусируется на скорости, Duplicate Remover предлагает ряд дополнительных опций для работы с дубликатами и уникальными значениями.
- Выберите любую ячейку в таблице, где вы хотите удалить дубликаты, переключитесь на вкладку Ablebits Data и нажмите кнопку Duplicate Remover.
- Вам предложены 4 варианта проверки дубликатов в вашем листе Excel:
- Дубликаты без первых вхождений повторяющихся записей.
- Дубликаты с 1-м вхождением.
- Уникальные записи.
- Уникальные значения и 1-е повторяющиеся вхождения.
- В этом примере выберем второй вариант, т.е. Дубликаты + 1-е вхождения:
- Все ваши данные будут автоматически выделены.
- Теперь выберите столбцы, в которых вы хотите проверить дубликаты. Как и в предыдущем примере, мы выбираем первые 3 столбца:
- Наконец, выберите действие, которое вы хотите выполнить с дубликатами. Как и в случае с инструментом быстрого поиска дубликатов, мастер Duplicate Remover может идентифицировать, выбирать, выделять, удалять, копировать или перемещать повторяющиеся данные.
Чтобы более наглядно увидеть результат, отметим параметр «Закрасить цветом» (Fill with color) и нажимаем Готово.
Мастеру Duplicate Remover требуется совсем немного времени, чтобы проанализировать вашу таблицу и показать результат:
Как видите, результат аналогичен тому, что мы наблюдали выше. Но здесь мы выделили дубликаты, включая и первое появление этих повторяющихся записей. Если вы выберете опцию удаления, то эти 4 записи будут стерты из вашей таблицы.
Надстройка также создает резервную копию рабочего листа, чтобы случайно не потерять нужные данные: вдруг вы хотели оставить первые вхождения данных, но случайно выбрали не тот пункт.
Мы рассмотрели различные способы, которыми вы можете убрать дубликаты из ваших таблиц — при помощи формул и без них. Я надеюсь, что хотя бы одно из решений, упомянутых в этом обзоре, вам подойдет.
Все мощные инструменты очистки дублей, описанные выше, включены в надстройку Ultimate Suite для Excel. Если вы хотите попробовать их, я рекомендую вам загрузить полнофункциональную пробную версию и сообщить нам свой отзыв в комментариях.
Что ж, как вы только что видели, есть несколько способов найти повторяющиеся значения в Excel и затем удалить их. И каждый из них имеет свои сильные стороны и ограничения.
Еще на эту же тему:
Содержание
- Поиск и удаление
- Способ 1: простое удаление повторяющихся строк
- Способ 2: удаление дубликатов в «умной таблице»
- Способ 3: применение сортировки
- Способ 4: условное форматирование
- Способ 5: применение формулы
- Вопросы и ответы
При работе с таблицей или базой данных с большим количеством информации возможна ситуация, когда некоторые строки повторяются. Это ещё больше увеличивает массив данных. К тому же, при наличии дубликатов возможен некорректный подсчет результатов в формулах. Давайте разберемся, как в программе Microsoft Excel отыскать и удалить повторяющиеся строки.
Поиск и удаление
Найти и удалить значения таблицы, которые дублируются, возможно разными способами. В каждом из этих вариантов поиск и ликвидация дубликатов – это звенья одного процесса.
Способ 1: простое удаление повторяющихся строк
Проще всего удалить дубликаты – это воспользоваться специальной кнопкой на ленте, предназначенной для этих целей.
- Выделяем весь табличный диапазон. Переходим во вкладку «Данные». Жмем на кнопку «Удалить дубликаты». Она располагается на ленте в блоке инструментов «Работа с данными».
- Открывается окно удаление дубликатов. Если у вас таблица с шапкой (а в подавляющем большинстве всегда так и есть), то около параметра «Мои данные содержат заголовки» должна стоять галочка. В основном поле окна расположен список столбцов, по которым будет проводиться проверка. Строка будет считаться дублем только в случае, если данные всех столбцов, выделенных галочкой, совпадут. То есть, если вы снимете галочку с названия какого-то столбца, то тем самым расширяете вероятность признания записи повторной. После того, как все требуемые настройки произведены, жмем на кнопку «OK».
- Excel выполняет процедуру поиска и удаления дубликатов. После её завершения появляется информационное окно, в котором сообщается, сколько повторных значений было удалено и количество оставшихся уникальных записей. Чтобы закрыть данное окно, жмем кнопку «OK».
Способ 2: удаление дубликатов в «умной таблице»
Дубликаты можно удалить из диапазона ячеек, создав умную таблицу.
- Выделяем весь табличный диапазон.
- Находясь во вкладке «Главная» жмем на кнопку «Форматировать как таблицу», расположенную на ленте в блоке инструментов «Стили». В появившемся списке выбираем любой понравившийся стиль.
- Затем открывается небольшое окошко, в котором нужно подтвердить выбранный диапазон для формирования «умной таблицы». Если вы выделили все правильно, то можно подтверждать, если допустили ошибку, то в этом окне следует исправить. Важно также обратить внимание на то, чтобы около параметра «Таблица с заголовками» стояла галочка. Если её нет, то следует поставить. После того, как все настройки завершены, жмите на кнопку «OK». «Умная таблица» создана.
- Но создание «умной таблицы» — это только один шаг для решения нашей главной задачи – удаления дубликатов. Кликаем по любой ячейке табличного диапазона. При этом появляется дополнительная группа вкладок «Работа с таблицами». Находясь во вкладке «Конструктор» кликаем по кнопке «Удалить дубликаты», которая расположена на ленте в блоке инструментов «Сервис».
- После этого, открывается окно удаления дубликатов, работа с которым была подробно расписана при описании первого способа. Все дальнейшие действия производятся в точно таком же порядке.
Этот способ является наиболее универсальным и функциональным из всех описанных в данной статье.
Урок: Как сделать таблицу в Excel
Способ 3: применение сортировки
Данный способ является не совсем удалением дубликатов, так как сортировка только скрывает повторные записи в таблице.
- Выделяем таблицу. Переходим во вкладку «Данные». Жмем на кнопку «Фильтр», расположенную в блоке настроек «Сортировка и фильтр».
- Фильтр включен, о чем говорят появившиеся пиктограммы в виде перевернутых треугольников в названиях столбцов. Теперь нам нужно его настроить. Кликаем по кнопке «Дополнительно», расположенной рядом все в той же группе инструментов «Сортировка и фильтр».
- Открывается окно расширенного фильтра. Устанавливаем в нем галочку напротив параметра «Только уникальные записи». Все остальные настройки оставляем по умолчанию. После этого кликаем по кнопке «OK».
После этого, повторяющиеся записи будут скрыты. Но их показ можно в любой момент включить повторным нажатием на кнопку «Фильтр».
Урок: Расширенный фильтр в Excel
Способ 4: условное форматирование
Найти повторяющиеся ячейки можно также при помощи условного форматирования таблицы. Правда, удалять их придется другим инструментом.
- Выделяем область таблицы. Находясь во вкладке «Главная», жмем на кнопку «Условное форматирование», расположенную в блоке настроек «Стили». В появившемся меню последовательно переходим по пунктам «Правила выделения» и «Повторяющиеся значения…».
- Открывается окно настройки форматирования. Первый параметр в нём оставляем без изменения – «Повторяющиеся». А вот в параметре выделения можно, как оставить настройки по умолчанию, так и выбрать любой подходящий для вас цвет, после этого жмем на кнопку «OK».
После этого произойдет выделение ячеек с повторяющимися значениями. Эти ячейки вы потом при желании сможете удалить вручную стандартным способом.
Внимание! Поиск дублей с применением условного форматирования производится не по строке в целом, а по каждой ячейке в частности, поэтому не для всех случаев он является подходящим.
Урок: Условное форматирование в Excel
Способ 5: применение формулы
Кроме того, найти дубликаты можно применив формулу с использованием сразу нескольких функций. С её помощью можно производить поиск дубликатов по конкретному столбцу. Общий вид данной формулы будет выглядеть следующим образом:
=ЕСЛИОШИБКА(ИНДЕКС(адрес_столбца;ПОИСКПОЗ(0;СЧЁТЕСЛИ(адрес_шапки_столбца_дубликатов: адрес_шапки_столбца_дубликатов (абсолютный); адрес_столбца;)+ЕСЛИ(СЧЁТЕСЛИ(адрес_столбца;; адрес_столбца;)>1;0;1);0));"")
- Создаем отдельный столбец, куда будут выводиться дубликаты.
- Вводим формулу по указанному выше шаблону в первую свободную ячейку нового столбца. В нашем конкретном случае формула будет иметь следующий вид:
=ЕСЛИОШИБКА(ИНДЕКС(A8:A15;ПОИСКПОЗ(0;СЧЁТЕСЛИ(E7:$E$7;A8:A15)+ЕСЛИ(СЧЁТЕСЛИ(A8:A15;A8:A15)>1;0;1);0));"")
- Выделяем весь столбец для дубликатов, кроме шапки. Устанавливаем курсор в конец строки формул. Нажимаем на клавиатуре кнопку F2. Затем набираем комбинацию клавиш Ctrl+Shift+Enter. Это обусловлено особенностями применения формул к массивам.
После этих действий в столбце «Дубликаты» отобразятся повторяющиеся значения.
Но, данный способ все-таки слишком сложен для большинства пользователей. К тому же, он предполагает только поиск дублей, но не их удаление. Поэтому рекомендуется применять более простые и функциональные решения, описанные ранее.
Как видим, в Экселе есть множество инструментов предназначенных для поиска и удаления дублей. У каждого из них есть свои особенности. Например, условное форматирование предполагает поиск дублей только по каждой ячейке в отдельности. К тому же, не все инструменты могут не только искать, но и удалять повторяющиеся значения. Наиболее универсальный вариант – это создание «умной таблицы». При использовании данного способа можно максимально точно и удобно настроить поиск дубликатов. К тому же, их удаление происходит моментально.
Еще статьи по данной теме:
Помогла ли Вам статья?
Работа с данными в Microsoft Excel занимает львиную долю всего времени пребывания в программе. Пользователи вручную выполняют те действия, которые можно оптимизировать при помощи встроенных функций. Относится это и к поиску дубликатов в столбцах. Их обнаружение и удаление доступно в автоматическом режиме, что значительно экономит время.
Как определить дубликаты в таблице
Сначала предлагаю быстро разобраться с тем, как определить наличие дубликатов в столбце. Для этого подойдет одно из правил условного форматирования. Оно подсветит строки со встречающимися повторами, и вы сможете понять, нужно ли что-то из этого удалить для оптимизации таблицы.
-
Выделите диапазон с данными и на вкладке «Главная» вызовите меню «Условное форматирование».
-
Наведите курсор на список правил «Правила выделения ячеек» и выберите вариант из списка «Повторяющиеся значения».
-
Можно изменить цвет выделения, но подойдет и стандартный. Просто подтвердите действие.
-
Обратите внимание на то, что ячейки с повторами выделены цветом, а уникальные значения остаются неподсвеченными. Теперь вы знаете точно, какие данные повторяются и можно ли их удалить.
Это лишь один из примеров условного форматирования в Microsoft Excel. Если вас заинтересовала эта тема, читайте другую мою статью, где рассказано все о данной функции.
Читайте также на Комьюнити: Условное форматирование в Microsoft Excel.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Удаление дубликатов в таблице Excel
Приступим непосредственно к удалению дубликатов в Excel-таблице. Как вы уже знаете, осуществляется это в автоматическом режиме, вам нужно только запустить процесс. Займет процедура меньше минуты, а выглядит следующим образом:
-
Выделите необходимые ячейки, перейдите на вкладку «Данные» и разверните меню «Работа с данными».
-
Щелкните по кнопке «Удалить дубликаты».
-
Вы выбрали только один столбец, поэтому в появившемся окне просто нажмите «ОК».
-
Отобразится уведомление с информацией о найденных и удаленных повторяющихся значений. Далее покажется, сколько уникальных значений осталось.
-
Выделение условного форматирования пропало – значит, повторы удалены и остались только уникальные строки.
Отдельно стоит упомянуть удаление повторов сразу в нескольких столбцах. При их одновременном выделении алгоритм сотрет только те повторы, которые совпадают в обеих ячейках. Давайте разберем это на более наглядном примере.
-
Вы видите два столбца с днями недели и пометкой «Рабочий» или «Нерабочий» день. Некоторые значения полностью повторяются, например «Понедельник — Рабочий», но есть и «Понедельник — Нерабочий». Так вот удаление дубликатов сработает только в первом случае.
-
Выделите два столбца и нажмите кнопку «Удалить дубликаты».
-
Подтвердите выбор в новом окне.
-
Ознакомьтесь с информацией об удаленных и оставшихся значениях.
-
Теперь обратите внимание на то, какие строки были удалены.
Надеюсь, я помог вам разобраться с принципом удаления дубликатов в Microsoft Excel, и теперь вы не будете делать это вручную, а доверите задачу встроенной функции.
Большие таблицы Эксель могут содержать повторяющиеся данные, что зачастую увеличивает объем информации и может привести к ошибкам в результате обработки данных при помощи формул и прочих инструментов. Это особенно критично, например, при работе с денежными и прочими финансовыми данными.
В данной статье мы рассмотрим методы поиска и удаления дублирующихся данных (дубликатов), в частности, строк в Excel.
Содержание
- Метод 1: удаление дублирующихся строк вручную
- Метод 2: удаление повторений при помощи “умной таблицы”
- Метод 3: использование фильтра
- Метод 4: условное форматирование
- Метод 5: формула для удаления повторяющихся строк
- Заключение
Метод 1: удаление дублирующихся строк вручную
Первый метод максимально прост и предполагает удаление дублированных строк при помощи специального инструмента на ленте вкладки “Данные”.
- Полностью выделяем все ячейки таблицы с данными, воспользовавшись, например, зажатой левой кнопкой мыши.
- Во вкладке “Данные” в разделе инструментов “Работа с данными” находим кнопку “Удалить дубликаты” и кликаем на нее.
- Переходим к настройкам параметров удаления дубликатов:
- Если обрабатываемая таблица содержит шапку, то проверяем пункт “Мои данные содержат заголовки” – он должен быть отмечен галочкой.
- Ниже, в основном окне, перечислены названия столбцов, по которым будет осуществляться поиск дубликатов. Система считает совпадением ситуацию, в которой в строках повторяются значения всех выбранных в настройке столбцов. Если убрать часть столбцов из сравнения, повышается вероятность увеличения количества похожих строк.
- Тщательно все проверяем и нажимаем ОК.
- Далее программа Эксель в автоматическом режиме найдет и удалит все дублированные строки.
- По окончании процедуры на экране появится соответствующее сообщение с информацией о количестве найденных и удаленных дубликатов, а также о количестве оставшихся уникальных строк. Для закрытия окна и завершения работы данной функции нажимаем кнопку OK.
Метод 2: удаление повторений при помощи “умной таблицы”
Еще один способ удаления повторяющихся строк – использование “умной таблицы“. Давайте рассмотрим алгоритм пошагово.
- Для начала, нам нужно выделить всю таблицу, как в первом шаге предыдущего раздела.
- Во вкладке “Главная” находим кнопку “Форматировать как таблицу” (раздел инструментов “Стили“). Кликаем на стрелку вниз справа от названия кнопки и выбираем понравившуюся цветовую схему таблицы.
- После выбора стиля откроется окно настроек, в котором указывается диапазон для создания “умной таблицы“. Так как ячейки были выделены заранее, то следует просто убедиться, что в окошке указаны верные данные. Если это не так, то вносим исправления, проверяем, чтобы пункт “Таблица с заголовками” был отмечен галочкой и нажимаем ОК. На этом процесс создания “умной таблицы” завершен.
- Далее приступаем к основной задаче – нахождению задвоенных строк в таблице. Для этого:
- ставим курсор на произвольную ячейку таблицы;
- переключаемся во вкладку “Конструктор” (если после создания “умной таблицы” переход не был осуществлен автоматически);
- в разделе “Инструменты” жмем кнопку “Удалить дубликаты“.
- Следующие шаги полностью совпадают с описанными в методе выше действиями по удалению дублированных строк.
Примечание: Из всех описываемых в данной статье методов этот является наиболее гибким и универсальным, позволяя комфортно работать с таблицами различной структуры и объема.
Метод 3: использование фильтра
Следующий метод не удаляет повторяющиеся строки физически, но позволяет настроить режим отображения таблицы таким образом, чтобы при просмотре они скрывались.
- Как обычно, выделяем все ячейки таблицы.
- Во вкладке “Данные” в разделе инструментов “Сортировка и фильтр” ищем кнопку “Фильтр” (иконка напоминает воронку) и кликаем на нее.
- После этого в строке с названиями столбцов таблицы появятся значки перевернутых треугольников (это значит, что фильтр включен). Чтобы перейти к расширенным настройкам, жмем кнопку “Дополнительно“, расположенную справа от кнопки “Фильтр“.
- В появившемся окне с расширенными настройками:
- как и в предыдущем способе, проверяем адрес диапазон ячеек таблицы;
- отмечаем галочкой пункт “Только уникальные записи“;
- жмем ОК.
- После этого все задвоенные данные перестанут отображаться в таблицей. Чтобы вернуться в стандартный режим, достаточно снова нажать на кнопку “Фильтр” во вкладке “Данные”.
Метод 4: условное форматирование
Условное форматирование – гибкий и мощный инструмент, используемый для решения широкого спектра задач в Excel. В этом примере мы будем использовать его для выбора задвоенных строк, после чего их можно удалить любым удобным способом.
- Выделяем все ячейки нашей таблицы.
- Во вкладке “Главная” кликаем по кнопке “Условное форматирование“, которая находится в разделе инструментов “Стили“.
- Откроется перечень, в котором выбираем группу “Правила выделения ячеек“, а внутри нее – пункт “Повторяющиеся значения“.
- Окно настроек форматирования оставляем без изменений. Единственный его параметр, который можно поменять в соответствии с собственными цветовыми предпочтениями – это используемая для заливки выделяемых строк цветовая схема. По готовности нажимаем кнопку ОК.
- Теперь все повторяющиеся ячейки в таблице “подсвечены”, и с ними можно работать – редактировать содержимое или удалить строки целиком любым удобным способом.
Важно! Этом метод не настолько универсален, как описанные выше, так как выделяет все ячейки с одинаковыми значениями, а не только те, для которых совпадает вся строка целиком. Это видно на предыдущем скриншоте, когда нужные задвоения по названиям регионов были выделены, но вместе с ними отмечены и все ячейки с категориями регионов, потому что значения этих категорий повторяются.
Метод 5: формула для удаления повторяющихся строк
Последний метод достаточно сложен, и им мало, кто пользуется, так как здесь предполагается использование сложной формулы, объединяющей в себе несколько простых функций. И чтобы настроить формулу для собственной таблицы с данными, нужен определенный опыт и навыки работы в Эксель.
Формула, позволяющая искать пересечения в пределах конкретного столбца в общем виде выглядит так:
=ЕСЛИОШИБКА(ИНДЕКС(адрес_столбца;ПОИСКПОЗ(0;СЧЁТЕСЛИ(адрес_шапки_столбца_дубликатов:адрес_шапки_столбца_дубликатов(абсолютный);адрес_столбца;)+ЕСЛИ(СЧЁТЕСЛИ(адрес_столбца;адрес_столбца;)>1;0;1);0));"")
Давайте посмотрим, как с ней работать на примере нашей таблицы:
- Добавляем в конце таблицы новый столбец, специально предназначенный для отображения повторяющихся значений (дубликаты).
- В верхнюю ячейку нового столбца (не считая шапки) вводим формулу, которая для данного конкретного примера будет иметь вид ниже, и жмем Enter:
=ЕСЛИОШИБКА(ИНДЕКС(A2:A90;ПОИСКПОЗ(0;СЧЁТЕСЛИ(E1:$E$1;A2:A90)+ЕСЛИ(СЧЁТЕСЛИ(A2:A90;A2:A90)>1;0;1);0));"")
. - Выделяем до конца новый столбец для задвоенных данных, шапку при этом не трогаем. Далее действуем строго по инструкции:
- ставим курсор в конец строки формул (нужно убедиться, что это, действительно, конец строки, так как в некоторых случаях длинная формула не помещается в пределах одной строки);
- жмем служебную клавишу F2 на клавиатуре;
- затем нажимаем сочетание клавиш Ctrl+SHIFT+Enter.
- Эти действия позволяют корректно заполнить формулой, содержащей ссылки на массивы, все ячейки столбца. Проверяем результат.
Как уже было сказано выше, этот метод сложен и функционально ограничен, так как не предполагает удаления найденных столбцов. Поэтому, при прочих равных условиях, рекомендуется использовать один из ранее описанных методов, более логически понятных и, зачастую, более эффективных.
Заключение
Excel предлагает несколько инструментов для нахождения и удаления строк или ячеек с одинаковыми данными. Каждый из описанных методов специфичен и имеет свои ограничения. К универсальным варианту мы, пожалуй, отнесем использование “умной таблицы” и функции “Удалить дубликаты”. В целом, для выполнения поставленной задачи необходимо руководствоваться как особенностями структуры таблицы, так и преследуемыми целями и видением конечного результата.