Найти и удалить символ в excel
Довольно часто в Excel нужно убрать из строки символы до определенного знака. Это может быть как один символ (пробел, точка, запятая, двоеточие и т.д.), так и символ из определенного множества (цифра, английская буква).
В зависимости от этих условий, решение может быть простым, а может потребовать использование довольно сложных формул и процедур.
В этой статье я подробно опишу известные мне варианты. Поехали!
Удалить текст до последнего символа
Наиболее просто удалить текст в диапазоне ячеек до последнего вхождения заданного символа или текста. Можно воспользоваться процедурой «Найти и заменить»:
- Выделить диапазон
- Вызвать процедуру поиска и замены со вкладки «Главная» или сочетанием клавиш Ctrl+H
- использовать подстановочный символ * (звездочку) прямо перед искомым в строке поиска
- оставить пустым второе поле и нажать ОК
Процедура заменит все символы до знака на пустоту, иначе говоря, удалит их. Звездочка как раз и обозначает «все символы».
Удалить текст до первого пробела — формула
Данная формула универсальна и позволит удалить не только текст до первого пробела, но и до любого другого первого вхождения символа в строке.
Однако удалить первое слово в ячейке — самая популярная задача, и пробел как раз и является символом, который отгораживает первое слово слева от остального текста.
Результат применения формулы
Формулы для других символов аналогичны:
Убрать текст в ячейке до первой запятой:
А чтобы удалить текст до вхождения последовательности символов, например, слова, нужно использовать в формуле длину этой последовательности, сократив ее на 1:
Здесь из адресов удаляется текст до номера дома. Длина текста в кавычках — 3 символа (д, точка и пробел):
Удалить текст в ячейке до определенного слова
Удалить текст до первой цифры
Пожалуй, вы уже догадались, но я все же объясню, как работают формулы выше:
-
ищет позицию первого вхождения текстового паттерна (он всегда в кавычках). Соответствующий фрагмент выделен красным. принимает эту позицию как аргумент;
- она же заменяет фрагмент от первого символа до этой позиции на пустоту (две кавычки подряд), таким образом, удаляя его.
Следовательно, чтобы удалить текст до первой цифры, нужно вычислить позицию первой цифры в строке. Поскольку цифр не одна, а 10, простая формула уже не подойдет. Но можно сделать это вот такой формулой массива:
А подставив это выражение в исходную формулу, мы сможем решить исходную задачу — получить текст после первой цифры включительно, удалив текст до нее.
Что за числа 48 и 57, можно прочитать подробнее тут:
Обратите внимание на фигурные скобки! Их не нужно вводить, они появятся сами при вводе формулы сочетанием клавиш Ctrl+Shift+Enter.
Формула выдаст ошибку, если цифр в строке нет.
Убираем текст до первой цифры в ячейках формулами массива
Удаление текста в 1-2 клика с !SEMTools
Каждый из перечисленных способов хорош по-своему, но всем им недостает одного важного фактора — скорости исполнения.
В каждом из случаев нужно вводить много символов и производить много действий.
Для экономии времени я включил быстрые процедуры в меню своей надстройки для Excel — !SEMTools.
Теперь удалить текст до первого или последнего вхождения конкретного символа или подстроки, включая и не включая сам текст, можно в считанные мгновения!
При этом можно как менять данные на месте, так и автоматически выводить в соседний столбец — за это отвечает глобальный чекбокс.
Хотите так же быстро обращаться с текстовыми данными в Excel и испытать на практике еще более 500 похожих процедур?
Жмите на кнопку ниже, чтобы бесплатно скачать и подключить пробную версию надстройки !SEMTools. Процедура займет пару минут.
При выгрузке из учетной программы, при скачивании данных из интернета или, если файл заполняется неопытным пользователем, случается, что в ячейках остаются лишние символы, пробелы, точки, знаки переноса строки и т.п. Как быстро и просто удалить любой символ в ячейке Excel?
Самая распространенная ошибка, когда Excel не воспринимает текст как число. Об этом можно читать здесь . Способов как удалить символ в ячейке много, постараюсь рассказать о каждом подробнее.
1. Найти и заменить символ в ячейке Excel
Если вкратце, то существует специальный инструмент во всех продуктах MS Office. Вызывается клавишами Ctrl+F (найти) или Ctrl+H (заменить). В первое поле можно вписать символ, который нужно удалить, во второе ничего не вписывайте.
Подробнее об этом инструменте написано в этой статье
2. Удалить символ в ячейке Excel формулой
Удалить любой символ можно прекрасной функцией =ПОДСТАВИТЬ().
Эта функция имеет следующую конструкцию =ПОДСТАВИТЬ(текст;старый_текст;новый_текст;номер_вхождения)
текст — здесь указывается ячейка, где записан текст для изменения
старый_текст — что меняем
новый_текст — на что меняем
номер_вхождения — является необязательным. Он предписывает Excel заменить только символы, начиная с определенного номера. Интересное дополнение
Представим, что вам нужно заменить все точки на запятые, получится формула:
3. =СЖПРОБЕЛЫ()
Часто пробелы не видны невооруженным глазом («Иванов Иван «), нужно писать дополнительную проверку, чтобы найти их, в общем, предпринимать дополнительные действия. Проще всего воспользоваться формулой =СЖПРОБЕЛЫ(). Она убирает все задвоенные пробелы, а так же лишние пробелы в конце и начале текста в ячейке (станет «Иванов Иван») .
Но! Будьте внимательнее — формула удаляет стандартные пробелы. Если вы к примеру копировали текст с сайта — он может содержать символы похожие на пробелы, но функция =СЖПРОБЕЛЫ() не будет их удалять. В таком случае придется пользоваться возможностью Найти и заменить.
Но в 95% случаев сжпробелы помогает на «отлично».
Удаление пробелов я даже вынес в отдельную статью
4. Удалить первый символ
Часто необходимо удалить первый, несколько последних символов и так далее. Как это сделать быстро и не вручную? Воспользуйтесь функцией ПСТР .
Очень подробно об этом написано здесь .
Например, у нас в ячейках задан порядковый номер сотрудника. Нужно удалить первые символы до точки и пробел.
Формула будет выглядеть следующим образом:
Так же можно разделить текст по столбцам и разнести их в разные ячейки.
5. Функция =ПЕЧСИМВ()
Функция с одним аргументом очень похожа на СЖПРОБЕЛЫ, но она удаляет непечатные символы в строке, такие как перенос строки, знаки абзаца, какие-нибудь квадратики и т.п. (первые 32 непечатаемых знаков в 7-разрядном коде ASCII). Особенно полезна она, если нужно удалить перенос строки — мне всегда помогает.
Внимание! ПЕЧСИМВ способна удалить большинство, но не все лишние символы.
На днях решал задачу с заменой символов в уже созданном файле с большим количеством строк Word. Не секрет, что функции найти и заменить в Excel и Word, могут очень облегчить жизнь для многих задач. Например, заменить точку на запятую. Поэтому для вас постараюсь структурировать знания по этим эффективным инструментам (пригодится и в других программах).
Для начала, разберемся как вызвать эту функцию и как ее настроить.
Найти и заменить в Excel. Настройка
Для начала выделите диапазон ячеек, с которым нужно поработать (если выделена одна ячейка, Excel проводит поиск во всем листе). Перейдите по вкладке Главная — группа Редактирование, выберите Найти и выделить — нажмите Найти (или нажмите сочетание клавиш Ctrl + F), заменить доступно по горячим клавишам Ctrl + H .
Введите тест для поиска, например Иван (в поле Найти:) — т.е. вы хотите найти слово Иван во всех ячейках
Кнопка Найти далее будет находится по одной ячейки за каждое нажатие. Если вы нажмете Найти все, Excel отобразит список адресов всех ячеек.
Хитрость. Если при этом выделить ячейки в результатах поиска прямо в окне (ctrl+a) все найденные ячейки выделятся и их можно подкрасить цветом или отредактировать, как вам нравиться.
Найти и заменить. Нюансы
Соответственно, чтобы заменить ячейки в поле Замена: нужно ввести, то на что заменяете. Т.е. если вы заменяете точку на запятую, в поле Найти — ставим точку, а в поле Заменить — на запятую
Иногда нужно найти неточные данные. Предположим, нужно найти Иван Иванов, но точное отчество вы не помните. При поиске такого имени можно использовать символы подстановки.
- ? — заменяет любой 1 символ;
- * — заменяет любые символы.
В итоге, введите *Иван*Иванов в поле Найти, а затем нажмите кнопку Найти все. В результатах поиска выпадут все значения, где встречается Иван_какие-то символы_ Иванов.
Можно использовать эти возможности и для поиска чисел. Если в строке поиска записать 7*, в результате отобразятся все ячейки, содержащие значения, начинающееся с 7. Если ввести 3?5*, то получите все четырехзначные и более записи, которые начинаются с 3, второй символ будет любой, а после 5 может любое количество символов.
Чтобы найти саму звездочку (*) или вопросительный знак (?) поставьте перед ними тильду (~), т.е. ~* или ~?. Как искать саму тильду? Ставьте две тильды ~~.
Если что-то найдено неправильно, проверьте настройки:
- Флажок Учитывать регистр — значит поиск учитывает регистр больших и маленьких букв, т.е. если написать «иван» с маленькой буквы, то поиск не даст результаты в нашем случае.
- Флажок Ячейка целиком — т.е. в ячейки нет других символов кроме тех, которые вы ищите.
Функция хранит до пяти вариантов предыдущих замен, чтобы их просмотреть нужно нажать на флажок справа от текстовой строки
Как найти и заменить в Excel формулой
Для альтернативного поиска ячеек существует функции Найти (FIND) и Поиск (SEARCH). Обе функции возвращают номер символа, с которого начинается первое слово искомой строки. Эти две функции работают почти одинаково, но функция НАЙТИ учитывает регистр букв, а функция ПОИСК допускает использование символов шаблона
Если вы ищете имя Иван (искомый_текст), в тексте Петров Иван (просматриваемый_текст), нач_позиция можно не заполнять. Excel вернет номер символа в строке просматриваемый_текст, т.е. в нашем примере это будет число 8.
Когда меня спрашивают, как удалить в Excel лишние символы, я не могу не задать ряд встречных вопросов:
- Что послужило причиной называть их лишними и избавиться от них?
- Что конкретно подразумевает процедура удаления? Мы будем непременно удалять их, или заменим символы на какие-то другие, или, может быть, перенесем в другой столбец?
- Точно ли имеет смысл удалять сами символы? Может быть, стоит удалить из текста слова, в которых они содержатся? Или и вовсе содержимое ячеек целиком?
- Не проще ли вместо удаления этих символов рассматривать операцию как извлечение из текста определенных символов кроме этих, удаляемых?
Примеры лишних символов
Лишние пробелы
Наиболее часто ненужными считаются повторяющиеся пробелы между словами или пробелы в конце и начале ячейки. Как убрать их, можно узнать тут: Удалить лишние пробелы в Excel
Лишние символы справа / слева
Кто-то видит лишними символы справа или слева от основного текста в ячейке, желая отрезать их от него по позиции или по определенной границе.
Когда же границей является определенный символ и нужно удалить все что перед ним, читаем тут:
Цифры
Бывает, что ненужными символами становятся цифры, которых 10 и хочется более быстрый способ, чем очищать строки от них методом замены на пустоту. Как удалить цифры из текста в ячейках — этот раздел даст ответ на вопрос.
Буквы, латиница, кириллица
Аналогично сложно удалить разом все буквы алфавита, которых 26 или 33 в случае с английскими и русскими символами соответственно. Подробные гайдлайны — Удалить латиницу в Excel.
Удалить все, кроме…
Часты случаи, когда лишними считаются вообще все символы, кроме определенных. Тут речь уже больше об извлечении нужных символов, а не об удалении ненужных.
Удалить все, кроме букв и цифр (удалить пунктуацию)
Удалить все символы, кроме букв и цифр, а иначе говоря, пунктуацию, нетривиальная задача, ведь их могут быть сотни! Но она решается, смотрите статью.
Удалить все, кроме цифр (извлечь цифры)
Номера телефонов, почтовые коды, числовые артикулы, IP адреса… иногда страдают от наличия в ячейках других символов, помимо цифр. Читайте: удалить все, кроме цифр в ячейках Excel
Удалить все, кроме букв (извлечь буквы)
Когда в данных лишними являются любая пунктуация, цифры и прочие символы, кроме букв алфавита. Это могут быть:
- кириллица
- латиница
- любые буквы
Другое
Хотите узнать, как удалять другие символы в Excel? Оставляйте комментарии под этой статьей.
Другие операции с символами в Excel
Не всегда нужны такие кардинальные меры, как удаление символов. Иногда необходимо просто обнаружить их наличие, извлечь или заменить на какие-то другие. В решении подобных задач вам помогут соответствующие разделы сайта:
Также Microsoft Excel способен на полную мощность задействовать возможности регулярных выражений. Буквы, цифры, знаки препинания, специальные символы — им подвластна работа с любыми данными. Подробнее читайте в статье — регулярные выражения в Excel.
Хотите быстро удалять любые лишние символы или пробелы в ваших таблицах?
!SEMTools существенно расширит возможности вашего Excel.
2 комментария:
Добрый вечер! Есть ли возможность удалить все цифры и буквы, написанные в нижнем регистре и оставить только caps look слова?
Дмитрий Тумайкин :
Преднастроенной возможности нет, но можно извлечь слова по регулярному выражению (ознакомьтесь с их синтаксисом, открывает огромные возможности!). Выражение будет ^[A-ZА-ЯЁ]+$
Как удалить первый символ, последний символ или несколько первых/последних символов в ячейке Excel? Эта статья поможет решить любую задачу.
Формулы удаления N символов в начале и конце строк
Для составления таких формул понадобятся функции ЛЕВСИМВ, ПРАВСИМВ и ДЛСТР. Первые две извлекают из текста указанное количество символов слева и справа соответственно, а ДЛСТР возвращает количество символов в тексте, к которому обращается.
Чтобы удалить из ячейки N символов слева, можно взять справа количество символов, равное разнице длины строки в символах (ДЛСТР) и N:
А чтобы удалить из ячейки N символов справа, наоборот, извлекаем слева длину строки минус N:
Удалить символы в начале ячейки (слева)
Формулы выше требуют создания дополнительного столбца. Чтобы сэкономить время, если исходные данные не нужны, мной были разработаны функции !SEMTools, удаляющие символы прямо на месте.
Если не уверены до конца в том, что делаете, рекомендуется все же перестраховываться, создавая дополнительный столбец.
«Отрезаем» несколько символов слева в ячейках столбца
Удалить символы в конце ячейки (справа):
Процедура потребуется, когда у вас массив фраз, в котором нужно обрезать последние буквы в конце строки, и вы уверены на 100% в их количестве.
Выделите диапазон, на панели !SEMTools в меню УДАЛИТЬ -> Символы -> обрезать выберите «с начала ячейки». В появившемся диалоговом окошке вбейте количество символов, которое хотите удалить, и нажмите ОК.
Отрезаем символы справа в ячейках столбца
Удалить слова и символы по другим условиям
Надеюсь, на этой странице вы нашли то, что искали, и смогли решить задачу удаления последних или первых символов в ячейках.
Вас наверняка могут заинтересовать похожие операции, смотрите подробнее:
Хотите так же быстро удалять символы в Excel без использования формул?
В надстройке !SemTools есть этот и еще более 500 похожих полезных инструментов по обработке текста. Сделайте апгрейд вашего Excel!
Читайте также: