- Удалить текст до последнего символа
- Удалить текст до первого пробела – формула
- Удалить текст до первой цифры
- Удаление текста в 1-2 клика с !SEMTools
Довольно часто в Excel нужно убрать из строки символы до определенного знака. Это может быть как один символ (пробел, точка, запятая, двоеточие и т.д.), так и символ из определенного множества (цифра, английская буква).
В зависимости от этих условий, решение может быть простым, а может потребовать использование довольно сложных формул и процедур.
В этой статье я подробно опишу известные мне варианты. Поехали!
Удалить текст до последнего символа
Наиболее просто удалить текст в диапазоне ячеек до последнего вхождения заданного символа или текста. Можно воспользоваться процедурой “Найти и заменить”:
- выделить диапазон;
- вызвать процедуру поиска и замены со вкладки “Главная” или сочетанием клавиш Ctrl + H;
- использовать подстановочный символ * (звёздочку) прямо перед искомым в строке поиска;
- оставить пустым второе поле и нажать «ОК».
Процедура заменит все символы до знака на пустоту, иначе говоря, удалит их. Звездочка как раз и обозначает “все символы”.
Удалить текст до первого пробела – формула
Данная формула универсальна и позволит удалить не только текст до первого пробела, но и до любого другого первого вхождения символа в строке.
Однако удалить первое слово в ячейке — самая популярная задача, и пробел как раз и является символом, который отгораживает первое слово слева от остального текста.
=ЗАМЕНИТЬ(A2;1;ПОИСК(" ";A2);"")
Формулы для других символов аналогичны.
Убрать текст в ячейке до первой запятой:
=ЗАМЕНИТЬ(A2;1;ПОИСК(",";A2);"")
До точки:
=ЗАМЕНИТЬ(A2;1;ПОИСК(".";A2);"")
А чтобы удалить текст до вхождения последовательности символов, например, слова, нужно использовать в формуле длину этой последовательности, сократив её на 1.
Здесь из адресов удаляется текст до номера дома. Длина текста в кавычках – 3 символа (д, точка и пробел):
=ЗАМЕНИТЬ(A2;1;ПОИСК("д. ";A2)+2;"")
Удалить текст до первой цифры
Пожалуй, вы уже догадались, но я все же объясню, как работают формулы выше:
- excel-функция ПОИСК ищет позицию первого вхождения текстового паттерна (он всегда в кавычках). Соответствующий фрагмент выделен красным;
- функция ЗАМЕНИТЬ принимает эту позицию как аргумент;
- она же заменяет фрагмент от первого символа до этой позиции на пустоту (две кавычки подряд), таким образом, удаляя его.
Следовательно, чтобы удалить текст до первой цифры, нужно вычислить позицию первой цифры в строке. Поскольку цифр не одна, а 10, простая формула уже не подойдет. Но можно сделать это вот такой формулой массива:
{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(48:57));A1);""))}
А подставив это выражение в исходную формулу, мы сможем решить исходную задачу — получить текст после первой цифры включительно, удалив текст до неё.
{=ЗАМЕНИТЬ(A2;1;МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА($48:$57));A2);""))-1;"")}
Что за числа 48 и 57, можно прочитать подробнее тут:
Функция СИМВОЛ в Excel
Обратите внимание на фигурные скобки! Их не нужно вводить, они появятся сами при вводе формулы сочетанием клавиш Ctrl + Shift + Enter.
Формула выдаст ошибку, если цифр в строке нет.
Удаление текста в 1-2 клика с !SEMTools
Каждый из перечисленных способов хорош по-своему, но всем им недостает одного важного фактора – скорости исполнения.
В каждом из случаев нужно вводить много символов и производить много действий.
Для экономии времени я включил быстрые процедуры в меню своей надстройки для Excel – !SEMTools.
Теперь удалить текст до первого или последнего вхождения конкретного символа или подстроки, включая и не включая сам текст, можно в считанные мгновения!
При этом можно как менять данные на месте, так и автоматически выводить в соседний столбец – за это отвечает глобальный чекбокс.
Смотрите пример:
Найти повторяющиеся значения в Excel и решить сотни других задач поможет надстройка !SEMTools.
Скачайте прямо сейчас и убедитесь сами!
Смотрите также по теме:
- Удалить последнее слово из ячейки;
- Удалить первое слово в ячейках Excel;
- Удалить первые N символов в ячейках;
- Извлечь первые N символов ячейки.
На чтение 5 мин Просмотров 11к. Опубликовано 16.05.2022
Люди, которые только начинают работать в Excel часто встречаются с таким вопросом.
Допустим, у нас есть такая табличка:
Примерно так выглядит удаление всех символов после «,».
Это можно сделать разными способами. Мы рассмотрим несколько.
Итак, начнём!
Содержание
- С помощью функции «Найти и заменить»
- С помощью формул
- С помощью функции «Заполнить»
- С помощью Visual Basic
С помощью функции «Найти и заменить»
Это, наверное, самый быстрый и удобный способ.
Допустим, у нас та же табличка и задача:
Пошаговая инструкция:
- Копируем и вставляем столбик А в В;
- Выделите столбик и щелкните «Главная»;
- Далее — «Найти и выделить» -> «Заменить…»;
- В первом параметре укажите «,*»;
- Второй параметр не меняйте;
- Щелкните «Заменить все».
Готово! Вот результат:
Как это работает?
Символ * означает неопределенное количество символов.
Так как мы используем «,*», то это значит, что программе нужно заменить запятую и все символы после неё на пустое место.
Это будет работать только если в каждой ячейке у вас одна запятая, если же у вас не одна, то первая и все остальные данные будут заменены на пустое место.
С помощью формул
Также, мы можем выполнить нашу задачу и с помощью формул.
Допустим, у нас есть такая табличка:
Формула принимает такой вид:
=ЛЕВСИМВ(A2;НАЙТИ(",";A2)-1)
Функция НАЙТИ возвращает порядковый номер запятой.
Это простой пример, давайте рассмотрим кое-что посложнее.
Теперь у нас такая табличка:
Формула, для этого примера, принимает такой вид:
=ЛЕВСИМВ(A2;НАЙТИ("!";ПОДСТАВИТЬ(A2;",";"!";2))-1)
Итак, также как в прошлый раз — не получится. Так как НАЙТИ будет возвращать порядковый номер первой запятой, а нам надо найти его для второй.
Мы используем небольшую хитрость, а если конкретнее, то заменяем вторую запятую на восклицательный знак, а затем с ним уже проводим операции.
И все бы хорошо, только в этом примере в каждой строке у нас ровно 2 запятые. А что делать если их неопределенное количество? Ведь в больших данных вы не будете выверять сколько запятой в каждой строке.
Вот пример:
Итак, нам нужно найти порядковый номер последней запятой, а после уже проводить с ней операции.
Для этого примера, формула принимает такой вид:
=ЛЕВСИМВ(A2;НАЙТИ("!";ПОДСТАВИТЬ(A2;",";"!";ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;",";","))))-1)
Итак, функция ДЛСТР сначала находит количество символов в строчке с запятыми, а потом без них.
А после вычитает из первого — второе. Таким образом мы получаем количество запятых в строчке.
А затем мы заменяем последнюю на восклицательный знак.
Вот так вот можно заменять все после определенного символа с помощью формул. Конечно, с небольшими хитростями.
Плюс этого метода в том, что данные будут динамичны. То есть если что-то поменяется в изначальных данных, все поменяется и в данных после обработки.
С помощью функции «Заполнить»
Функция «Заполнить», это довольно давний инструмент. Он может помочь нам и в этом случае.
Как он работает?
Очень просто — вы просто делаете что угодно и после используете функцию. Она пытается понять логику ваших действий и продолжить её.
Давайте рассмотрим пример.
Допустим, у нас есть та же табличка:
Пошаговая инструкция:
- В первую ячейку столбика В введите то, что должно получиться после обработки;
- В следующую ячейку, то же самое;
- А теперь выделите столбик;
- И щелкните на «Главная» -> «Заполнить» -> «Мгновенное заполнение»;
Готово! Вот результат:
Эту функцию, естественно, можно использовать не только для удаления текста после символа. Она работает там, где есть логика.
Однако, иногда, она может ошибаться. Поэтому всегда проверяйте то, что получилось после обработки.
С помощью Visual Basic
И, как обычно, разберем вариант с помощью Visual Basic.
Мы создадим свою собственную функцию и будем использовать её для обработки данных.
Это крайне удобно, если вы делаете что-либо очень часто. Например, как в нашем случае, удаляете данные после символа.
Код Visual Basic:
Function LastPosition(rCell As Range, rChar As String)
'This function gives the last position of the specified character
'This code has been developed by 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
Exit Function
End If
Next i E
nd Function
Код, чтобы он работал, нужно вставить в Visual Basic -> «Insert» -> «Module».
Давайте рассмотрим пример её использования.
Допустим, у нас есть такая табличка. Формула принимает такой вид:
=ЛЕВСИМВ(A2;LastPosition(A2;",")-1)
В нашей функции, первым аргументом мы указали диапазон для поиска, а вторым символ, последнюю позицию которого нам нужно найти.
С помощью Visual Basic все проще.
Вот и все! Если вам нужно сделать что-то подобное 1-2 раза, то лучше всего использовать функцию «Найти и заменить…», а если вы делаете это постоянно, то используйте Visual Basic.
Надеюсь, эта статья оказалась полезна для вас!
Возможность удаления знаков до символа или текста в Excel — это важная функция при работе с таблицами, позволяющая очистить нужные элементы от лишней информации.
- Инструкция;
- До запятой;
- До пробела.
Видеоинструкция
Как удалить знаки до символа в Excel
Для этого потребуется использовать формулу:
=ЗАМЕНИТЬ(A1;1;ПОИСК(«символ»;A1);)
Пример
В этом случае:
- А1 — ячейка, которую мы будет проверять;
- Символ — это элемент или текст, до которого будет обрезаться ячейка.
Пример файла
Также можно комбинировать этот способ с очисткой данных «После».
Удаление знака до запятой в Эксель
Выполнить эту задачу можно при помощи конструкции:
=ЗАМЕНИТЬ(A1;1;ПОИСК(«&»;A1);)
Все готово.
Пример файла
Очистить до пробела в Excel
Сделать это можно через формулу:
=ЗАМЕНИТЬ(A1;1;ПОИСК(» «;A1);)
Все готово.
Пример файла
ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Часто перед пользователями табличного редактора Эксель встает такая задача, как удаление первого символа в ячейке таблички. Реализовать эту процедуру можно при помощи различных методов, например, используя специальные интегрированные операторы. В статье мы детально на примерах рассмотрим несколько методов, реализующих удаление символов в ячейке табличных данных.
Содержание
- Удаление первого символа в табличке Эксель
- Удаление знака до символа в табличном редакторе
- Удаление символа до запятой в табличном редакторе
- Удаление символов до пробела в табличном редакторе
- Удаление при помощи оператора ПОДСТАВИТЬ
- Удаление при помощи оператора ПЕЧСИМВ
- Заключение и выводы об удаление первого символы
Удаление первого символа в табличке Эксель
Для реализации этой несложной процедуры применяется специальная интегрированная функция. Подробная инструкция по удалению первого символа выглядит так:
- К примеру, у нас на рабочей области табличного документа располагается такая табличка, содержащая некоторый набор данных. Нам нужно реализовать удаление первого символа.
- Первоначально, нам необходимо выявить общее число знаков во всех ячейках. Для осуществления этого действия необходимо применить оператор ДЛСТР. Эта функция позволяет подсчитать количество знаков. Наводим курсор в ячейку В2 и выбираем ее при помощи левой клавиши мышки. Сюда вбиваем такую формулу: =ДЛСТР(А2). Теперь нам необходимо скопировать эту формулу на нижние ячейки. Наводим указатель мышки на правый нижний уголок поля В2. Курсор принял форму маленького плюсика темного оттенка. Зажимаем ЛКМ и растягиваем формулу на остальные ячейки.
- На следующем этапе приступаем к удалению 1-го знака слева. Для реализации этой процедуры применяется оператор, имеющий наименование ПРАВСИМВ. Наводим курсор в ячейку В2 и выбираем ее при помощи левой клавиши мышки. Сюда вбиваем такую формулу: =ПРАВСИМВ(А2;ДЛСТР(А2)-1). В этой формуле А2 – это координата ячейки, в которой мы удаляем первый знак слева, а ДЛСТР(А2)-1 – это количество символов, возвращаемых с конца строчки правой стороны.
Эта цифра для каждого поля рассчитывается путем вычитания одного знака из общего количества символов.
- Теперь нам необходимо скопировать эту формулу на нижние ячейки. Наводим указатель мышки на правый нижний уголок поля В2. Курсор принял форму маленького плюсика темного оттенка. Зажимаем ЛКМ и растягиваем формулу на остальные ячейки. В результате мы реализовали удаление первого знака слева у каждой выбранной ячейки. Готово!
Дополнительно можно воспользоваться специальным оператором, имеющим наименование ПСТР. К примеру, у нас имеются данные, в ячейках которых указан порядковый номер работников. Нам необходимо произвести удаление первых символов до точки или же пробела. Формула будет выглядеть так: =ПСТР(А:А;ПОИСК(«.»;А:А)+2;ДЛСТР(А:А)-ПОИСК(«.»;А:А)).
Удаление знака до символа в табличном редакторе
Бывают такие ситуации, когда необходимо произвести удаление знаков до определенного символа в табличном документе. В этом случае применяется такая простая формула: =ЗАМЕНИТЬ(А1;1;ПОИСК(«символ»;А1);). Результат преобразований:
- А1 – поле, которое проверяется.
- Символ – это объект или же текстовая информация, до которой произойдет обрезка ячейки слева.
Дополнительно эту процедуру можно сочетать с очисткой данных «После».
Удаление символа до запятой в табличном редакторе
Бывают такие ситуации, когда необходимо произвести удаление знаков до запятой в табличном документе. В этом случае применяется такая простая формула: =ЗАМЕНИТЬ(А1;1;ПОИСК(«&»;А1);). Результат преобразований:
Удаление символов до пробела в табличном редакторе
Бывают такие ситуации, когда необходимо произвести удаление знаков до пробела в табличном документе. В этом случае применяется такая простая формула: =ЗАМЕНИТЬ(А1;1;ПОИСК(«&»;А1);). Результат преобразований:
Удаление при помощи оператора ПОДСТАВИТЬ
Удаление символов можно осуществить при помощи простого оператора, имеющего наименование ПОДСТАВИТЬ. Общий вид оператора: =ПОДСТАВИТЬ(текст;старый_текст;новый_текст;номер_вхождения).
- Текст – сюда задается поле с данными для изменения.
- Старый_текст – данные, которые будут изменяться.
- Новый_текст – данные, которые вставятся вместо изначальных.
- Номер_вхождения – это необязательный аргумент. Он позволяет заменить знаки, начиная с конкретного номера.
К примеру, если нам необходимо реализовать удаление точек, находящихся левее от основного текста, то нужно ввести такую формулу: =ПОДСТАВИТЬ(A1;».»;» «).
Используя эту формулу, мы заменим заданный знак, написанный левее от основного текста, на пробелы. Теперь нам необходимо реализовать удаление этих пробелов. Для осуществления этой процедуры используется оператор, имеющий наименование СЖПРОБЕЛЫ. Функция позволяет отыскать ненужные пробелы и удалить их. Общий вид оператора выглядит так: =СЖПРОБЕЛЫ().
Важно! Эта формула реализует удаление только обычных пробелов. К примеру, если пользователь добавил на рабочий лист скопированную с какого-нибудь сайта информацию, то она может содержать не пробелы, а знаки, похожие на них. В этом случае оператор СЖПРОБЕЛЫ не подойдет для удаления. Здесь нужно будет использовать инструмент «Найти и удалить».
Удаление при помощи оператора ПЕЧСИМВ
Дополнительно можно применить оператор ПЕЧСИМВ. Общий вид оператора по удалению непечатных символов выглядит так: =ПЕЧСИМВ(). Эта функция осуществляет удаление непечатных знаков в строчке (переносы строчек, символы абзаца, различные квадраты и так далее). Оператор необходим в тех случаях, когда требуется реализовать удаление переноса строки.
Важно! Оператор удаляет только большую часть лишних знаков.
Заключение и выводы об удаление первого символы
Мы рассмотрели методы, позволяющие удалить первый символ из табличной информации. Методы подразумевают использование интегрированных операторов. Использование функций позволяет значительно ускорить процесс работы с большими объёмами табличной информации.
Оцените качество статьи. Нам важно ваше мнение: