Как в 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
с помощью «найти
Убрать лишнее из ячейки в Microsoft Excel можно разными способами, тут все будет зависеть в первую очередь от количества самих ячеек из которых нужно удалить лишнею часть текста. Если их не много то тут все просто, выделяем ячейку, выделяем не нужную часть текста и удаляем её. А вот если ячеек скажем 50, 100 или даже 1000, редактирование каждой займет очень много времени, но есть один способ который позволит из всех ячеек сразу убрать лишний текст.
Как убрать часть текста из нескольких ячеек
И так, как же можно убрать часть текст сразу из нескольких ячеек, допустим есть вот такой список, в каждой ячейки есть имя и телефон. Нам необходимо из всех ячеек убрать номера телефонов оставив только ФИО.
Конечно если ячеек не много как в моем случае проще и быстрей будет отредактировать каждую по отдельности.
Но если их будет больше 10 то тут уже лучше воспользоваться автозаменой. И так выделяем все ячейки из которых хотим убрать лишнее и нажимаем сочетание клавиш «Ctrl+H». В открывшемся окне в поле «Найти» вводим, сначала ставим один пробел потом слово «тел» и знак «*», поле «Заменить на» оставляем пустым и жмем «Заменить все».
В итоге во всех выделенных ячейках после слова «Тел» все будет заменено.
Немного поясню, сначала в поле «Найти» ставим один пробел далее пишем слово с которого хотим начать замену, звездочка говорит о том что после указанного слова все будет заменено.
Как отрезать (удалить) лишний текст слева или справа в ячейке «Эксель».
Бывают ситуации, когда необходимо отрезать/ удалить строго определенное количество символов в тексте справа или слева. Например, когда вы имеете список адресов, и вначале каждого адреса стоит шестизначный индекс. Нужно убрать почтовые индексы из списка, но через замену их не уберешь, так как они имеют совершенно разные значения и не находятся опцией замены.
Функции, которая отрезает лишнее количество символов в ячейке, найти не удается, но существует система из двух функций, которые можно применить. Это система из функции ЛЕВСИМВ (или ПРАВСИМВ) и функции ДЛСТР (длина строки).
Рассмотрим их применение.
Вначале находим количество символов в тексте при помощи функции ДЛСТР. Для этого запускаем менеджер функций, выбираем ДЛСТР, указываем ячейку с текстом. Функция ДЛСТР посчитает количество символов.
Зная длину лишнего текста — 6 знаков в индексе, вычитаем их из общего числа символов посчитанных функцией ДЛСТР и получаем то количество символов, которое должно остаться в тексте, когда удалим индекс.
Полученное значение – количество оставляемых в тексте знаков, вписываем в функцию ЛЕВСИМВ или ПРАВСИМВ. Если нужно удалить знаки справа, то используем ЛЕВСИМВ, если слева, то ПРАВСИМВ. Нажимаем «Enter». Функция ЛЕВСИМВ или ПРАВСИМВ присваивает ячейке нужное нам количество символов из текста в новую ячейку, исключая ненужный нам индекс.
Для уменьшения количества ячеек с расчетами эти функции можно записать в систему следующего вида:
ПРАВСИМВ(…*¹;(ДЛСТР(…*¹)-6)).
Где …*¹- адрес ячейки, из которой берем текст.
Excel из ячейки удалить часть текста
Изначально в ячейке Excel идет так:
Подскажите, пожалуйста, как в ячейке убрать эту часть:
Поиск-замена не срабатывает, точнее вообще не находит этого ни в одной ячейке, а у меня их около 3 000 шт. Может есть какие-то макросы, функции, не знаю хоть что то..
вводится в окне поиска/замены.
Для переноса текста в другую строку (в одной ячейке) существует специальный символ переноса строки — СИМВОЛ(10) . Инструмент НАЙТИ/ЗАМЕНИТЬ видит вместо символа переноса строка СИМВОЛ(32) — пробел. Естественно, фрагмента с пробелам он не находит.
Чтобы инструмент справился с таким текстом, нужны дополнительные движения по преобразованию текста. Гораздо проще удалить фрагмент формулой.
Против текстов в свободном столбце записать удаляемые фрагменты. Если удаляемая часть одна для всех текстов, не нужно для нее выделять столбец, можно записать в одну ячейку.
Еще в один столбец внести формулу и протянуть ее на нужное количество строк.
В столбце А тексты, в столбце В (или только в ячейке B1) — удаляемый фрагмент.
В столбце С формула:
Для общего фрагмента:
Для данного случая можно взять только левую часть:
Иногда нужно удалить текст одной строки. При этом останется пустая строка, т.к. два символа переноса расположены один за другим. Для такого случая:
Дальнейшие действия — по необходимости.
а) оставить как есть;
б) выделить ячейки с формулами, копировать, выделить диапазон исходных текстов, вставить (но! Вставить_как_значения); столбцы В и С можно очистить или удалить;
в) выделить ячейки с формулами, копировать, здесь же вставить (но! Вставить_как_значения); столбцы А и В можно очистить или удалить.
Как извлечь часть текста в Эксель
Извлечение части текста – самая распространенная задача при работе с текстом в Excel. Часто к этой задаче и сводится вся работа над текстом. Чтобы получить часть символов из строки, нужно владеть функциями поиска, удаления лишних символов, определения длины строки и др.
Для получения части текста, в Эксель есть 3 функции:
- ЛЕВСИМВ(Строка; Количество_символов) – выводит заданное количество символов с левого края. Например, =ЛЕВСИМВ(А1;10) выведет 10 первых символов строки в ячейке А1 . Функция имеет 2 обязательных аргумента – Строка-источник и количество выводимых символов;
Функция ЛЕВСИМВ в Эксель
- ПРАВСИМВ(Строка; Количество_символов) – функция схожа с предыдущей, она выводит заданное количество символов справа. То есть, =ПРАВСИМВ(А1;10) в результате выдаст 10 последних символов из строки А1 .
Функция ПРАВСИМВ в Excel
- ПСТР(Строка; Начальный_символ; Количество символов) – выбирает из текста нужное количество знаков, начиная с заданного. Например, =ПСТР(А1;5;3) выведет 3 символа начиная с 5-го (5-7 символы строки).
Функция ПСТР в Эксель
Все эти функции в подсчёте количества символов учитывают лишние пробелы, непечатаемые символы, поэтому рекомендую сначала очистить текст от лишних знаков.
Функции ЛЕВИСМВ, ПРАВСИМВ, ПСТР – это простой и мощный инструмент, если используется в комбинации с другими текстовыми функциями. Вы увидите это в уроке-практикуме по строчным функциям.
А следующий пост мы посвятим поиску нужного текста в строке. Заходите и читайте. Только хорошее владение функциями позволит вам эффективно выполнять задачи в Microsoft Excel!
Если вы еще не прочли посты о написании формул и применении функций – обязательно это сделайте, без них изучение функций Excel будет сложнее и дольше!
Как вытащить число или часть текста из текстовой строки в Excel
Сегодня мы с вами рассмотрим весьма распространённую ситуацию, возникающую в работе экономиста связанную с анализом данных.
Как правило, экономисту поручают проведение всевозможных видов анализа на основании бухгалтерских данных, группировку их специальным образом, получение дополнительных срезов, отличающихся от имеющихся бухгалтерских аналитик и т.д.
Речь здесь уже идет о преобразовании данных бухгалтерского учета в данные управленческого учета. Мы не будем говорить о необходимости сближения бухгалтерского и управленческого учета, или, по крайней мере, получения нужных срезов и аналитик в имеющихся учетных программах в автоматическом режиме. К сожалению, зачастую экономисту приходиться «перелопачивать» огромные объемы информации вручную.
И здесь, очень многое зависит, насколько эффективно организована работа, насколько экономист владеет своим основным прикладным инструментом – программой Excel, знает ее возможности и эффективные приемы обработки информации. Ведь одну и туже задачу можно решать разными способами, затрачивая разное количество времени и усилий.
Рассмотрим конкретную ситуацию. Вам нужно подготовить отчёт в разрезе, который нельзя получить в бухгалтерской программе. Вы выгрузили в Excel отчет по проводкам (оборотно-сальдовую ведомость, карточку счета и т.д. – не суть важно) и видите, что для нормальной фильтрации данных или создания сводной таблицы для анализа данных у вас не хватает одного признака (аналитики, разреза, субконто и т.д.).
Критически взглянув на таблицу, вы видите, что необходимый вам признак операции находиться тут же в таблице, но не в отдельной ячейке, а внутри текста. Например, код филиала в наименовании документа. А вам как раз надо подготовить отчет по поставщикам в разрезе филиалов, т.е. по двум признакам, один из которых отсутствует в приемлемом для дальнейшей обработки информации виде.
Если в таблице находиться десять операций, то проще проставить признак вручную в соседнем столбце, однако если записей несколько тысяч, то это уже проблематично.
Вся трудность, в том чтобы извлечь код из текстовой строки.
Возможна ситуация, когда этот код находиться всегда в начале текстовой строки или всегда в конце.
В этом случае, мы можем извлекать код или часть текста при помощи функций ЛЕВСИМВ и ПРАВСИМВ, которые возвращают заданное количество знаков соответственно с начала строки или с конца строки.
Текст – обязательный аргумент. Текстовая строка, содержащая символы, которые требуется извлечь.
Количество_знаков — необязательный аргумент. Количество символов, извлекаемых функцией ЛЕВСИМВ (ПРАВСИМВ).
«Количество_знаков» должно быть больше нуля или равно ему. Если «количество_знаков» превышает длину текста, функция ЛЕВСИМВ (ПРАВСИМВ) возвращает весь текст. Если значение «количество_знаков» опущено, оно считается равным 1.
Зная количество знаков, которые содержит код, мы легко извлечем необходимые символы.
Сложнее если нужные нам символы находятся в середине текста.
Извлечь число, текст, код и т.д. из середины текстовой строки может функция ПСТР, возвращает заданное число знаков из строки текста, начиная с указанной позиции.
=ПСТР(текст; начальная_позиция; количество_знаков)
Текст – обязательный аргумент. Текстовая строка, содержащая символы, которые требуется извлечь.
Начальная_позиция – обязательный аргумент. Позиция первого знака, извлекаемого из текста. Первый знак в тексте имеет начальную позицию 1 и так далее.
Количество_знаков – обязательный аргумент. Указывает, сколько знаков должна вернуть функция ПСТР.
Самый простой случай – если код находиться на одном и том же месте от начала строки. Например, у нас наименование документа начинается всегда одинаково «Поступление товаров и услуг ХХ ….»
Наш признак «ХХ» — код филиала начинается с 29 знака и имеет 2 знака в своем составе.
В нашем случае формула будет иметь вид:
Однако не всегда все так безоблачно. Предположим, мы не можем со 100% уверенностью сказать, что наименование документа у нас во всех строках будет начинаться одинаково, но мы точно знаем, что признак филиала закодирован в номере документа следующим образом:
Первый символ – первая буква в наименовании филиала, второй символ – это буква Ф (филиал) и далее следует пять нулей «00000». Причем меняется только первый символ — первая буква наименования филиала.
Обладая такими существенными знаниями, мы можем смело использовать функцию ПОИСК, которая находит нужный нам текст в текстовой строке и возвращают начальную позицию нужного нам текста внутри всей текстовой строки.
=ПОИСК(искомый_текст; текст_для_поиска; [нач_позиция])
Искомый_текст – обязательный аргумент. Текст, который требуется найти.
Просматриваемый_текст – обязательный аргумент. Текст, в котором нужно найти значение аргумента искомый_текст.
Нач_позиция – необязательный аргумент. Номер знака в аргументе просматриваемый_текст, с которого следует начать поиск.
Функция ПОИСК не учитывает регистр. Если требуется учитывать регистр, используйте функцию НАЙТИ.
В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (
Обозначив меняющийся первый символ знаком вопроса (?), мы можем записать итоговую формулу для выделения кода филиала в таком виде:
Эта формула определяет начальную позицию кода филиала в наименовании документа, а затем возвращает два знака кода, начиная с найденной позиции.
В результате, мы получим в отдельном столбце код филиала, который сможем использовать как признак для фильтрации, сортировки или создания сводной таблицы.
Удалить из текста список слов
Периодически возникает необходимость удалить слова из текста в ячейках. У вас есть список слов, и нужно удалить их все из списка фраз, если они в нем присутствуют. Зачастую, но не всегда такое приходит в голову после того, как удалось обнаружить слова и/или извлечь их из текста и понять, что они — лишние.
Например, вы – контент-менеджер интернет-магазина. Ваш каталог представляет собой Excel-файл. В нем товары представляют собой массив ячеек, содержащий названия продукта и фирмы-производителя.
У вас есть список фирм-производителей, а ваша задача – удалить их и оставить только названия продуктов.
Или у вас каталог автомобилей в виде одной строки – марка и модель. Вы хотите разбить его на марки и модели, и все что у вас есть – список из
В обоих случаях можно было бы воспользоваться последовательной заменой в выделенном списке ячеек исходных значений на пустоту. Но это, очевидно, займет довольно много времени, особенно, если каталог большой и каждая замена не происходит моментально.
Для таких случаев может пригодиться макрос удаления списка слов из ячеек. Макрос находится в группе «УДАЛИТЬ» в меню «Удалить слова«
Местоположение макроса «удалить из ячеек любые слова из указанного списка»
Как и все макросы, работающие со словами, он определяет целые слова и удаляет строго только их, пропуская простые вхождения. Это позволяет избежать непреднамеренных удалений частей слов и «повреждения» данных.
Как удалить из текста список слов с помощью !SEMTools:
Все очень просто. Выделяем список фраз, вызываем макрос из меню, он предлагает выделить список слов, выделяем его и жмем «ОК». Вуаля!
Важно:
Слова удаляются в исходном диапазоне и навсегда. Рекомендуется копировать столбец, оставляя исходные данные, как показано на видеоинструкции ниже, если не уверены в результате:
Удалить список слов из ячеек в Excel — видеоинструкция
Удалить слова во всех словоформах
Если стоит задача удалить слова во всех их словоформах, а перебирать их вручную не очень хочется, есть пара вариантов:
1. Можно воспользоваться макросом удаления слов по условию «начинается с». Такой вариант менее предпочтителен, если вы не уверены, что в массиве нет других слов, начинающихся с указанной последовательности. И точно непригоден для удаления коротких слов.
2. Можно воспользоваться модулем морфологии и быстро просклонять слова в Excel автоматически, не прикладывая лишних усилий. Но и тут есть примечение. Модуль Морфология в !SEMTools на текущий момент работает только с существительными и прилагательными.
- Удалить повторяющиеся слова во всем столбце
- Удалить повторяющиеся слова внутри ячейки
- Удалить повторяющиеся слова с учетом словоформ
- Удалить повторяющиеся слова в диапазоне, собрать уникальные, посчитать и вывести списком
При анализе текстовых данных зачастую требуется удалить повторяющиеся слова в каждой строке. Иногда слова дублируются из-за машинных ошибок. Иногда повторы допускают люди. Но так или иначе — их нужно удалить.
Удалить повторяющиеся слова во всем столбце
Если список заранее не известен, его можно составить, посчитав самые повторяющиеся слова в тексте. Если это короткие слова, есть риск повредить данные при обычной их замене на пустоту. Эту проблему решает макрос «Удалить слова из списка».
Если же нужно удалить внутри столбца все повторы, кроме первого, можно воспользоваться инструментом в группе SEO & PPC:
Удалить повторяющиеся слова внутри ячейки
Прежде, чем удалять повторы слов, можно убедиться, что они есть в принципе, для этого в !SEMTools есть отдельный инструмент — найти повторяющиеся слова в ячейках. Если массив фраз большой (десятки-сотни тысяч строк), эта процедура будет заметно быстрее.
В стандартных функциях и процедурах Excel удаления дублирующихся слов в ячейках нет. Мысленно алгоритм довольно прост и понятен — нужно:
- разбить ячейку на слова,
- просматривать их по порядку,
- удалять слова, если они уже встречались в строке ранее.
Есть несколько онлайн-инструментов, позволяющих удалить повторы слов в строках, но что, если бы возможность была прямо под рукой? Именно такую возможность предоставляет надстройка !SEMTools.
С помощью надстройки удалить повторы слов в ячейках можно буквально в 2 клика. Процедура производит удаление повторяющихся слов независимо от регистра. Макрос находится на вкладке «УДАЛИТЬ» в меню «Удалить слова». Ниже — наглядная инструкция:
Удалить повторяющиеся слова с учетом словоформ
Иногда повторами можно считать не только полностью совпадающие слова, но и другие формы тех же слов. Для того, чтобы произвести такое удаление, потребуется лемматизация слов, чтобы производить сравнение их лемм. При запуске процедуры скачивается словарь лемм, он и используется для удаления повторов слов независимо от их словоформ. Из слов с одинаковой леммой остается слово, идущее в ячейке первым по порядку.
Макрос также работает независимо от регистра — здравый смысл подсказывает, что слово остается словом вне зависимости от регистра символов в нем. Однако, если есть кейсы, где необходим чувствительный к регистру поиск и удаление — можно обратиться к автору.
Удалить повторяющиеся слова в диапазоне, собрать уникальные, посчитать и вывести списком
Иногда, например, при семантическом анализе текста, удаление повторов слов нужно произвести не в каждой ячейке, а по всему диапазону ячеек. Помимо выделения уникальных слов, может быть интересно вычислить и количество уникальных слов в тексте. Здесь вам поможет раздел про составление частотного словаря n-gram.
Перед тем, как производить все указанные процедуры, рекомендуется удалить все знаки препинания из ячеек Excel, т.к. слово со знаком препинания для Excel — уже другое слово.
Нужно удалить повторяющиеся слова в Excel?
Надстройка !SEMToolsпоможет решить эту и сотни других рабочих задач за пару кликов!
Содержание:
- Удаление текста после символа с помощью функции поиска и замены
- Удалить текст с помощью формул
- Удаление текста с помощью заливки Flash
- Удалить текст с помощью VBA (пользовательская функция)
При работе с текстовыми данными в Excel вам может потребоваться удалить текст до или после определенного символа или текстовой строки.
Например, если у вас есть данные об именах и обозначениях людей, вы можете удалить обозначение после запятой и оставить только имя (или наоборот, если вы сохраните обозначение и удалите имя).
Иногда это можно сделать с помощью простой формулы или быстрого поиска и замены, а иногда требуются более сложные формулы или обходные пути.
В этом уроке я покажу вам, как удалить текст до или после определенного символа в Excel (на разных примерах).
Итак, давайте начнем с нескольких простых примеров.
Удаление текста после символа с помощью функции поиска и замены
Если вы хотите быстро удалить весь текст после определенной текстовой строки (или перед текстовой строкой), вы можете сделать это с помощью «Найти и заменить» и подстановочных знаков.
Предположим, у вас есть набор данных, показанный ниже, и вы хотите удалить обозначение после символа запятой и оставить текст перед запятой.
Ниже приведены шаги для этого:
- Скопируйте и вставьте данные из столбца A в столбец B (это также необходимо для сохранения исходных данных)
- Выделив ячейки в столбце B, перейдите на вкладку «Главная».
- В группе «Редактирование» нажмите «Найти и выбрать».
- В параметрах, которые появляются в раскрывающемся списке, щелкните параметр «Заменить». Откроется диалоговое окно «Найти и заменить».
- В поле «Найти» введите ,* (т.е. запятая, за которой следует звездочка)
- Оставьте поле «Заменить на» пустым.
- Нажмите кнопку «Заменить все».
Вышеупомянутые шаги позволят найти запятую в наборе данных и удалить весь текст после запятой (включая запятую).
Поскольку при этом заменяется текст из выбранных ячеек, рекомендуется скопировать текст в другой столбец, а затем выполнить эту операцию поиска и замены или создать резервную копию ваших данных, чтобы исходные данные остались нетронутыми.
Как это работает?
* (знак звездочки) — это подстановочный знак, который может представлять любое количество символов.
Когда я использую его после запятой (в поле «Найти»), а затем нажимаю кнопку «Заменить все», он находит первую запятую в ячейке и считает ее совпадением.
Это связано с тем, что знак звездочки (*) считается соответствием всей текстовой строке, следующей за запятой.
Поэтому, когда вы нажимаете кнопку «Заменить все», она заменяет запятую и весь последующий текст.
Примечание: Этот метод работает хорошо, тогда у вас есть только одна запятая в каждой ячейке (как в нашем примере). Если у вас несколько запятых, этот метод всегда найдет первую запятую, а затем удалит все после нее. Таким образом, вы не можете использовать этот метод, если хотите заменить весь текст после второй запятой и оставить первый как есть.
Если вы хотите удалить все символы перед запятой, измените запись в поле поиска, поставив знак звездочки перед запятой (* вместо, *)
Удалить текст с помощью формул
Если вам нужно больше контроля над поиском и заменой текста до или после определенного символа, лучше использовать встроенные текстовые формулы в Excel.
Предположим, у вас есть приведенный ниже набор данных, из которого вы хотите удалить весь текст после запятой.
Ниже приведена формула для этого:
= ЛЕВЫЙ (A2; НАЙТИ (";"; A2) -1)
В приведенной выше формуле используется функция НАЙТИ, чтобы найти положение запятой в ячейке.
Этот номер позиции затем используется функцией LEFT для извлечения всех символов перед запятой. Поскольку мне не нужна запятая как часть результата, я вычел 1 из полученного значения формулы поиска.
Это был простой сценарий.
Возьмем немного сложный.
Предположим, у меня есть этот набор данных ниже, из которого я хочу удалить весь текст после второй запятой.
Вот формула, которая сделает это:
= ЛЕВЫЙ (A2; НАЙТИ ("!", ПОДСТАВИТЬ (A2, ",", "!", 2)) - 1)
Поскольку в этом наборе данных есть несколько запятых, я не могу использовать функцию НАЙТИ, чтобы получить позицию первой запятой и извлечь все, что находится слева от нее.
Мне нужно как-то узнать положение второй запятой, а затем извлечь все, что находится слева от второй запятой.
Для этого я использовал функцию ЗАМЕНА, чтобы заменить вторую запятую восклицательным знаком. Теперь это дает мне уникальный персонаж в камере. Теперь я могу использовать положение восклицательного знака, чтобы извлечь все, что находится слева от второй запятой.
Эта позиция восклицательного знака используется в функции LEFT для извлечения всего, что находится до второй запятой.
Все идет нормально!
Но что, если в наборе данных есть непоследовательное количество запятых.
Например, в приведенном ниже наборе данных в некоторых ячейках есть две запятые, а в некоторых — три запятые, и мне нужно извлечь весь текст до последней запятой.
В этом случае мне нужно как-то определить позицию последнего вхождения запятой, а затем извлечь все, что находится слева от нее.
Ниже приведена формула, которая сделает это
= ЛЕВЫЙ (A2; НАЙТИ ("!", ПОДСТАВИТЬ (A2, ",", "!", LEN (A2) -LEN (ПОДСТАВИТЬ (A2, ",", "")))) - 1)
В приведенной выше формуле функция LEN используется для определения общей длины текста в ячейке, а также длины текста без запятой.
Когда я вычитаю эти два значения, получается общее количество запятых в ячейке.
Таким образом, это дало бы мне 3 для ячейки A2 и 2 для ячейки A4.
Это значение затем используется в формуле ЗАМЕНА для замены последней запятой восклицательным знаком. И затем вы можете использовать левую функцию для извлечения всего, что находится слева от восклицательного знака (где раньше была последняя запятая)
Как вы можете видеть в примерах, использование комбинации текстовых формул позволяет обрабатывать множество различных ситуаций.
Кроме того, поскольку результат связан с исходными данными, при изменении исходных данных результат будет автоматически обновляться.
Удаление текста с помощью заливки Flash
Flash Fill — это инструмент, который был представлен в Excel 2013 и доступен во всех последующих версиях.
Он работает, выявляя закономерности, когда вы вручную вводите данные, а затем экстраполируете их, чтобы получить данные для всего столбца.
Поэтому, если вы хотите удалить текст до или после определенного символа, вам просто нужно показать flash fairy, как будет выглядеть результат (введя его вручную пару раз), и flash fill автоматически распознает узор и даст вам результаты, достижения.
Позвольте показать вам это на примере.
Ниже у меня есть набор данных, из которого я хочу удалить весь текст после запятой.
Вот шаги, чтобы сделать это с помощью Flash Fill:
- В ячейке B2, которая является соседним столбцом наших данных, вручную введите «Jeffery Haggins» (что является ожидаемым результатом).
- В ячейке B3 введите «Тим Скотт» (ожидаемый результат для второй ячейки).
- Выберите диапазон B2: B10
- Перейдите на вкладку «Главная»
- В группе «Редактирование» щелкните раскрывающийся список «Заливка».
- Нажмите на Flash Fill.
Вышеупомянутые шаги дадут вам результат, как показано ниже:
Вы также можете использовать сочетание клавиш Flash Fill. Ctrl + E после выбора ячеек в столбце результатов (столбец B в нашем примере)
Flash Fill — замечательный инструмент, и в большинстве случаев он способен распознать узор и дать вам правильный результат. но в некоторых случаях он может не распознать шаблон правильно и может дать неверные результаты.
Так что не забудьте еще раз проверить результаты Flash Fill.
И точно так же, как мы удалили весь текст после определенного символа с помощью флэш-заливки, вы можете использовать те же шаги, чтобы удалить текст перед определенным символом. просто покажите вручную в соседнем столбце flash fill, как результат должен выглядеть как мой Интернет, а все остальное сделает он.
Удалить текст с помощью VBA (пользовательская функция)
Вся концепция удаления текста до или после определенного символа зависит от нахождения позиции этого символа.
Как показано выше, найти последнее вхождение этого символа хорошим означает использовать смесь формул.
Если это то, что вам нужно делать довольно часто, вы можете упростить этот процесс, создав настраиваемую функцию с помощью VBA (называемую функциями, определяемыми пользователем).
После создания вы можете повторно использовать эту функцию снова и снова. Это также намного проще и проще в использовании (поскольку большая часть тяжелой работы выполняется кодом VBA в серверной части).
Ниже кода VBA, который можно использовать для создания настраиваемой функции в Excel:
Функция LastPosition (rCell As Range, rChar As String) 'Эта функция выдает последнюю позицию указанного символа' Этот код был разработан Sumit Bansal (https://trumpexcel.com) Dim rLen As Integer rLen = Len (rCell) For i = rLen To 1 Step -1 If Mid (rCell, i - 1, 1) = rChar Then LastPosition = i - 1 Выход из функции End If Next i End Function
Вам необходимо поместить код VBA в обычный модуль редактора VB или в личную книгу макросов. Когда он у вас есть, вы можете использовать его как любую другую обычную функцию рабочего листа в книге.
Эта функция принимает 2 аргумента:
- Ссылка на ячейку, для которой вы хотите найти последнее вхождение определенного символа или текстовой строки.
- Символьная или текстовая строка, позицию которой вам нужно найти
Предположим, теперь у вас есть приведенный ниже набор данных, и вы хотите удалить весь текст после последней запятой и иметь только текст до последней запятой.
Ниже приведена формула, которая сделает это:
= ЛЕВЫЙ (A2; LastPosition (A2; ",") - 1)
В приведенной выше формуле я указал, чтобы найти позицию последней запятой. Если вы хотите найти положение какого-либо другого символа или текстовой строки, вы должны использовать это как второй аргумент в функции.
Как видите, это намного короче и проще в использовании по сравнению с формулой с длинным текстом, которую мы использовали в предыдущем разделе.
Если вы поместите код VBA в модуль в книге, вы сможете использовать эту настраиваемую функцию только в этой конкретной книге. Если вы хотите использовать это во всех книгах в вашей системе, вам необходимо скопировать и вставить этот код в личную книгу макросов.
Вот некоторые из писем, которые вы можете использовать для быстрого удаления текста до или после определенного символа в Excel.
Если это простая разовая задача, вы можете сделать это с помощью функции поиска и замены. что, если это немного сложнее, тогда вам нужно использовать комбинацию встроенных формул Excel или даже создать свою собственную формулу с помощью VBA.
Надеюсь, вы нашли этот урок полезным.