Как удалить все символы после первого / последнего пробела из ячеек в Excel?
Например, вы хотите удалить все символы после последнего пробела из ячеек, как вы могли бы легко сделать это в Excel? А если убрать все символы после первого пробела? Для вас есть несколько решений:
- Удалите все символы после первого / последнего пробела с формулой
- Удалите все символы после последнего пробела с помощью функции, определяемой пользователем
- Удалите все символы после первого пробела с помощью Kutools for Excel
Удалите все символы после первого / последнего пробела с формулами
В этом разделе будут представлены формулы для удаления всех символов после первого или последнего пробела в Excel. Пожалуйста, сделайте следующее:
Удалите все символы после последнего пробела
Выберите пустую ячейку, введите формулу =LEFT(A2,FIND(«^^»,SUBSTITUTE(A2,» «,»^^»,LEN(A2)-LEN(SUBSTITUTE(A2,» «,»»))))-1) (A2 — это ячейка, в которой вы удалите все символы после последнего пробела) и перетащите маркер заполнения в нужный диапазон.
И тогда вы увидите все символы после удаления последнего пробела в каждой ячейке. Смотрите скриншот:
Удалите все символы после первого пробела
Выберите пустую ячейку, введите формулу = ЛЕВЫЙ (A2; НАЙТИ («»; A2) -1) (A2 — это ячейка, в которой вы удалите все символы после первого пробела), и перетащите маркер заполнения вниз до нужного диапазона.
Простое разделение ячеек на несколько ячеек / строк (список столбцов) в Excel
Обычно пользователи Excel могут применять Текст в столбцы возможность разбить одну ячейку на несколько столбцов, но нет прямого метода преобразования одной ячейки в несколько строк. Однако, Kutools for ExcelАвтора Разделить клетки Утилита может помочь вам легко сделать это, как показано на скриншоте ниже.
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now
Удалите все символы после последнего пробела с помощью функции, определяемой пользователем
Вы также можете применить функцию, определяемую пользователем, чтобы удалить все символы после последнего пробела из ячеек в Excel. Пожалуйста, сделайте следующее:
1. Нажмите другой + F11 одновременно клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модули, а затем скопируйте и вставьте следующий код в новое окно модуля.
VBA: удалить все символы после последнего пробела в Excel
Function RemoveAfterLastSpace(Txt As String) As String
With CreateObject("VBScript.RegExp")
.Pattern = "s+w+$"
RemoveAfterLastSpace = .Replace(Txt, "")
End With
End Function
3. Сохраните функцию, определяемую пользователем, и закройте окно Microsoft Visual Basic для приложений.
4. Выберите пустую ячейку и введите формулу. = RemoveAfterLastSpace (A2) (A2 — это ячейка, в которой вы удалите все символы после последнего пробела), и перетащите маркер заполнения в нужный диапазон.
И тогда вы увидите все символы после удаления последнего пробела из каждой ячейки. Смотрите скриншот:
Удалите все символы после первого пробела с помощью Kutools for Excel
Этот метод представит Kutools for ExcelАвтора Разделить имена утилита для быстрого удаления всех символов после первого пробела из ячеек в Excel.
1. Выберите диапазон, в котором вы удалите все символы после первого пробела из каждой ячейки, и щелкните Кутулс > Текст > Разделить имена. Смотрите скриншот:
2. В открывшемся диалоговом окне Split Names отметьте только Имя и нажмите Ok кнопку.
3. Затем укажите первую ячейку целевого диапазона во втором диалоговом окне «Разделить имена» и нажмите кнопку OK кнопку.
И теперь вы увидите, что все символы удаляются после первого пробела из каждой ячейки. Смотрите скриншот:
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now
Демо
Статьи по теме:
Легко удаляйте цифры, буквы или специальные символы (маркеры) из текстовой строки в Excel
Kutools for Excel’s Удалить символы Утилита предназначена для легкого удаления всех букв, всех цифр или специальных символов (таких как маркеры) из текстовых строк. Он также может легко удалять все нечисловые символы, не буквенные символы или не буквенно-цифровые символы из указанных текстовых строк.
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Содержание
- Как удалить все до или после определенного символа в Excel
- С помощью функции «Найти и заменить»
- С помощью формул
- С помощью функции «Заполнить»
- С помощью Visual Basic
- Excel удалить значения после пробела
- Простое разделение ячеек на несколько ячеек / строк (список столбцов) в Excel
- Четыре способа, как быстро удалить пробелы в Excel
- Как удалить пробелы в Excel
- Способ 1: с помощью инструмента «Заменить»
- Способ 2: удаление пробелов между разрядами
- Способ 3: удаление путем форматирования текста
- Способ 4: с помощью специальной функции
Как удалить все до или после определенного символа в Excel
Люди, которые только начинают работать в Excel часто встречаются с таким вопросом.
Допустим, у нас есть такая табличка:
Примерно так выглядит удаление всех символов после «,».
Это можно сделать разными способами. Мы рассмотрим несколько.
С помощью функции «Найти и заменить»
Это, наверное, самый быстрый и удобный способ.
Допустим, у нас та же табличка и задача:
- Копируем и вставляем столбик А в В;
- Выделите столбик и щелкните «Главная»;
- Далее — «Найти и выделить» -> «Заменить…»;
- В первом параметре укажите «,*»;
- Второй параметр не меняйте;
- Щелкните «Заменить все».
Готово! Вот результат:
Как это работает?
Символ * означает неопределенное количество символов.
Так как мы используем «,*», то это значит, что программе нужно заменить запятую и все символы после неё на пустое место.
Это будет работать только если в каждой ячейке у вас одна запятая, если же у вас не одна, то первая и все остальные данные будут заменены на пустое место.
С помощью формул
Также, мы можем выполнить нашу задачу и с помощью формул.
Допустим, у нас есть такая табличка:
Формула принимает такой вид:
Функция НАЙТИ возвращает порядковый номер запятой.
Это простой пример, давайте рассмотрим кое-что посложнее.
Теперь у нас такая табличка:
Формула, для этого примера, принимает такой вид:
Итак, также как в прошлый раз — не получится. Так как НАЙТИ будет возвращать порядковый номер первой запятой, а нам надо найти его для второй.
Мы используем небольшую хитрость, а если конкретнее, то заменяем вторую запятую на восклицательный знак, а затем с ним уже проводим операции.
И все бы хорошо, только в этом примере в каждой строке у нас ровно 2 запятые. А что делать если их неопределенное количество? Ведь в больших данных вы не будете выверять сколько запятой в каждой строке.
Итак, нам нужно найти порядковый номер последней запятой, а после уже проводить с ней операции.
Для этого примера, формула принимает такой вид:
Итак, функция ДЛСТР сначала находит количество символов в строчке с запятыми, а потом без них.
А после вычитает из первого — второе. Таким образом мы получаем количество запятых в строчке.
А затем мы заменяем последнюю на восклицательный знак.
Вот так вот можно заменять все после определенного символа с помощью формул. Конечно, с небольшими хитростями.
Плюс этого метода в том, что данные будут динамичны. То есть если что-то поменяется в изначальных данных, все поменяется и в данных после обработки.
С помощью функции «Заполнить»
Функция «Заполнить», это довольно давний инструмент. Он может помочь нам и в этом случае.
Как он работает?
Очень просто — вы просто делаете что угодно и после используете функцию. Она пытается понять логику ваших действий и продолжить её.
Давайте рассмотрим пример.
Допустим, у нас есть та же табличка:
- В первую ячейку столбика В введите то, что должно получиться после обработки;
- В следующую ячейку, то же самое;
- А теперь выделите столбик;
- И щелкните на «Главная» -> «Заполнить» -> «Мгновенное заполнение»;
Готово! Вот результат:
Эту функцию, естественно, можно использовать не только для удаления текста после символа. Она работает там, где есть логика.
Однако, иногда, она может ошибаться. Поэтому всегда проверяйте то, что получилось после обработки.
С помощью Visual Basic
И, как обычно, разберем вариант с помощью Visual Basic.
Мы создадим свою собственную функцию и будем использовать её для обработки данных.
Это крайне удобно, если вы делаете что-либо очень часто. Например, как в нашем случае, удаляете данные после символа.
Код Visual Basic:
Код, чтобы он работал, нужно вставить в Visual Basic -> «Insert» -> «Module».
Давайте рассмотрим пример её использования.
Допустим, у нас есть такая табличка. Формула принимает такой вид:
В нашей функции, первым аргументом мы указали диапазон для поиска, а вторым символ, последнюю позицию которого нам нужно найти.
С помощью Visual Basic все проще.
Вот и все! Если вам нужно сделать что-то подобное 1-2 раза, то лучше всего использовать функцию «Найти и заменить…», а если вы делаете это постоянно, то используйте Visual Basic.
Надеюсь, эта статья оказалась полезна для вас!
Источник
Excel удалить значения после пробела
Например, вы хотите удалить все символы после последнего пробела из ячеек, как вы могли бы легко сделать это в Excel? А если убрать все символы после первого пробела? Для вас есть несколько решений:
В этом разделе будут представлены формулы для удаления всех символов после первого или последнего пробела в Excel. Пожалуйста, сделайте следующее:
Удалите все символы после последнего пробела
Выберите пустую ячейку, введите формулу =LEFT(A2,FIND(«^^»,SUBSTITUTE(A2,» «,»^^»,LEN(A2)-LEN(SUBSTITUTE(A2,» «,»»))))-1) (A2 — это ячейка, в которой вы удалите все символы после последнего пробела) и перетащите маркер заполнения в нужный диапазон.
Формула слишком сложна для запоминания? Сохраните формулу как запись Auto Text для повторного использования одним щелчком мыши в будущем! Подробнее . Бесплатная пробная версия |
И тогда вы увидите все символы после удаления последнего пробела в каждой ячейке. Смотрите скриншот:
Удалите все символы после первого пробела
Выберите пустую ячейку, введите формулу = ЛЕВЫЙ (A2; НАЙТИ («»; A2) -1) (A2 — это ячейка, в которой вы удалите все символы после первого пробела), и перетащите маркер заполнения вниз до нужного диапазона.
Простое разделение ячеек на несколько ячеек / строк (список столбцов) в Excel
Обычно пользователи Excel могут применять Текст в столбцы функция разбить одну ячейку на несколько столбцов, но нет прямого метода преобразования одной ячейки в несколько строк. Однако Kutools для Excel Разделить клетки Утилита может помочь вам легко сделать это, как показано на скриншоте ниже.
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now
Вы также можете применить функцию, определяемую пользователем, чтобы удалить все символы после последнего пробела из ячеек в Excel. Пожалуйста, сделайте следующее:
1. Нажмите другой + F11 одновременно клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модули, а затем скопируйте и вставьте следующий код в новое окно модуля.
VBA: удалить все символы после последнего пробела в Excel
3. Сохраните функцию, определяемую пользователем, и закройте окно Microsoft Visual Basic для приложений.
4. Выберите пустую ячейку и введите формулу. = RemoveAfterLastSpace (A2) (A2 — это ячейка, в которой вы удалите все символы после последнего пробела), и перетащите маркер заполнения в нужный диапазон.
И тогда вы увидите все символы после удаления последнего пробела из каждой ячейки. Смотрите скриншот:
Этот метод представит Kutools for Excel’s Разделить имена утилита для быстрого удаления всех символов после первого пробела из ячеек в Excel.
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!
Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel
1. Выберите диапазон, в котором вы удалите все символы после первого пробела из каждой ячейки, и щелкните Кутулс > Текст > Разделить имена. Смотрите скриншот:
2. В открывшемся диалоговом окне Split Names отметьте только Имя и нажмите Ok кнопку.
3. Затем укажите первую ячейку целевого диапазона во втором диалоговом окне «Разделить имена» и нажмите кнопку OK кнопку.
И теперь вы увидите, что все символы удаляются после первого пробела из каждой ячейки. Смотрите скриншот:
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now
Источник
Четыре способа, как быстро удалить пробелы в Excel
В процессе работы с любыми документами пользователь незаметно для себя может оставлять нежелательные пробелы между словами или числами. Существует множество способов исправления подобной ситуации. Рассмотрим их в статье.
Как удалить пробелы в Excel
Перед началом отметим, что сами пробелы бывают разные: между словами, между числовыми выражениями или же в начале или конце какого-либо значения. Соответственно, для устранения каждого типа существует свой отдельный метод. Именно о них сейчас и пойдет речь.
Способ 1: с помощью инструмента «Заменить»
Если вы в процессе работы в программе случайно устанавливали два пробела между словами вместо одного, тогда без проблем удалить пробелы в Excel можно с помощью инструмента «Заменить». Пользоваться им довольно просто:
- Перейдите на вкладку «Главная».
- На панели инструментов, в правой ее части, нажмите по кнопке «Найти и выделить». Нажмите по ней.
- В появившемся выпадающем списке выберите пункт «Заменить».
- Появится окно, в котором в поле «Найти» введите двойной пробел. Для этого просто дважды нажмите по соответствующей клавише.
- В поле «Заменить на» пропишите один пробел.
- Нажмите кнопку «Заменить все».
- В окне с отчетом нажмите «ОК».
После этого все двойные пробелы в Excel будут удалены. Как можно отметить, способ этот довольно простой в использовании. Все последующие методы не будут отличаться особой сложностью, и пользователь легко поймет, как удалить лишние пробелы в Excel.
Способ 2: удаление пробелов между разрядами
Только что мы разобрались, как удалить пробелы в ячейках Excel с текстовыми выражениями, но что, если появилась потребность убрать лишние одинарные пробелы в числовых выражениях, которые зачастую устанавливаются автоматически? В этом случае нам также поможет инструмент «Заменить».
- В таблице выделите область, в которой находятся ненужные пробелы.
- Находясь на главной странице на панели инструментов, нажмите по кнопке «Найти и заменить» и выберите инструмент «Заменить».
- В появившемся окне на этот раз нужно ввести немного другие значения.
- В поле «Найти» поставьте один пробел.
- Поле «Заменить на» оставьте нетронутым.
- Нажмите кнопку «Заменить все».
- Подтвердите свои действия, ознакомьтесь с отчетом и примите его.
После этого вы обнаружите, что пробелы между числами исчезли, соответственно, поставленная задача выполнена.
Способ 3: удаление путем форматирования текста
Вполне возможно, что использование вышеописанной инструкции по удалению пробелов в Excel не дало никаких результатов. При этом программа вам сказала, что пробелов попросту нет. Происходит это лишь в одном случае – если пробелы в числах были поставлены путем форматирования. По сути, это никак не повлияет на работу формул и всего прочего, однако некоторым пользователям очень важно, чтобы все числа были записаны в ряд без пробелов. Если вы из их числа, тогда выполните следующую инструкцию:
- Выделите область таблицы, в ячейках которой вы хотите избавиться от пробелов между числовыми выражениями.
- Кликните по выделению правой кнопкой мыши.
- Выберите пункт «Формат ячеек».
- Появится соответствующее окно, в котором перейдите в раздел «Числовой», расположенный во вкладке «Число».
- В правой части окна снимите отметку с пункта «Разделитель групп разрядов».
- Нажмите «ОК».
После этого окно будет закрыто, а между числовыми значениями пропадут пробелы. Так что, если вся суть заключалось в форматировании, то этот метод обязательно поможет вам.
Способ 4: с помощью специальной функции
Все вышеописанные методы неэффективны в том случае, если нужно в Excel удалить пробелы, находящиеся в начале или в конце значения. Однако с этим безукоризненно справляется функция СЖПРОБЕЛЫ.
- Установите курсор в той ячейке, которая находится параллельно столбцу или строке, пробелы из которых нужно убрать.
- Откройте окно Мастера функций, нажав по соответствующей кнопке, находящейся рядом со строкой функций.
- В списке «Категория» выберите «Текстовый», а в списке с перечнем функций выделите «СЖПРОБЕЛЫ» и нажмите «ОК».
- Появится окно ввода функции. В нем вам нужно указать ячейку, в которой хотите убрать пробелы. Для этого просто кликните по ней левой кнопкой мыши.
- Нажмите «ОК».
Сразу после этого лишние пробелы будут убраны. Однако исправленный вариант будет находиться в той ячейке, где была прописана формула. Ничего страшного, просто скопируйте ячейку и вставьте ее в нужную область.
Источник
kapitoshka Пользователь Сообщений: 14 |
Т.е. в столбце А1 артикулы (SC-123 вентилятор, JQ — 01238 кофеварка), необходимо что бы в другой ячейке получилось SC «пробел» — «пробел» 123, или JQ «пробел» — «пробел» 01238. Помогите пожалуйста, с написанием формулы |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
Ctrl+H, заменить «-» на » — «, чем не вариант — без формул и макросов?!. «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
kapitoshka Пользователь Сообщений: 14 |
Огромное спасибо за отклик. Это задание для руководителя. Необходимо сделать в отдельной ячейки. Артикулов очень много, нужно прописать формулы которая преобразует SC – 208 утюг в SC – 208 , но будет универсальная. Потому что SC – может быть 123456F. Посоветовали функции Использование формул ПОИСК, ЛЕВСИМВ. Функции Эксель «Замена». |
kapitoshka Пользователь Сообщений: 14 |
=ПСТР(A8;ПОИСК(» «;A8)+1;1) что то типа этого только нужно до пробела а не после. |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#5 20.02.2013 20:47:30
Так покажите строк 15-20. |
||
V Пользователь Сообщений: 5018 |
#6 20.02.2013 20:48:44
ИЛИ ТАК?
Изменено: V — 20.02.2013 20:52:50 |
||||
kapitoshka Пользователь Сообщений: 14 |
V — спасибо, после цифр идет наименование артикула Будильник, часы, их быть не должно. Заранее спасибо. |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#8 20.02.2013 20:52:03
Оно, конечно, так, да вот только если окажется » — » (двойной пробел слева/справа), то без СЖПРОБЕЛЫ, имхо, не обойтись, однако… Изменено: Z — 20.02.2013 20:52:50 «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
kapitoshka Пользователь Сообщений: 14 |
УВАЖАЕМЫЕ форумчане, я новичок в экселе. Половину не понимаю. Попробую еще раз. В столбце А перечень артикулов СП-123 утюг. Необходимо в отдельной строке получить СП – 123. Пробовал формулы =ЛЕВСИМВ(A8;6), но количество значений после – разное и СП-123 без пробелов получается а надо между – еще и пробел. Это Важно, помогите кто может. |
kapitoshka Пользователь Сообщений: 14 |
#10 20.02.2013 21:02:22
Работает! Спасибо ОГРОМНОЕ. А не могли бы вы рассказать логику работы, т.е. что за что отвечает был –бы вам премного благодарен. Вы просто ГУРУ!!!! |
||||||
V Пользователь Сообщений: 5018 |
функции легкие — почитайте справку. но формула ни совсем универсальная могут выплыть ошибки если дефис с пробелами окажется. |
kapitoshka Пользователь Сообщений: 14 |
Нет, я проверил все работает. Огромное спасибо. И почти разобрался. Задание которое в файле: Изменено: kapitoshka — 20.02.2013 22:47:46 |
V Пользователь Сообщений: 5018 |
можно и посмотреть. |
kapitoshka Пользователь Сообщений: 14 |
#14 20.02.2013 21:51:04 Тема закрыта, ВСЕМ ОГРОМНОЕ СПАСИБО!!!!! |
На чтение 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.
Надеюсь, эта статья оказалась полезна для вас!
Удалить данные ячейки после 3 пробела |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |