Excel очистить ячейку от текста

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Вы можете очистить ячейки, чтобы удалить содержимое ячеек (формулы и данные), форматы (включая числовые форматы, условные форматы и границы), а также все вложенные комментарии. Очищенные ячейки остаются пустыми или неформатированные ячейки на листе.

  1. Вы можете выбрать ячейки, строки или столбцы, которые нужно очистить.

    Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.

  2. На вкладке Главная в группе Редактирование щелкните стрелку рядом с кнопкой Очистить Изображение кнопкии сделайте следующее:

    • Чтобы очистить все содержимое, форматы и приметки, содержащиеся в выбранных ячейках, нажмите кнопку Очистить все.

    • Чтобы очистить только форматы, примененные к выбранным ячейкам, нажмите кнопку Очистить форматы.

    • Чтобы очистить только содержимое выбранных ячеек, оставив на месте любые форматы и комментарии, нажмите кнопку Очистить содержимое.

    • Чтобы очистить примечания или заметки, прикрепленные к выбранным ячейкам, нажмите кнопку Очистить примечания и заметки.

    • Чтобы очистить все гиперссылки, прикрепленные к выбранным ячейкам, выберите очистить гиперссылки.

Примечания: 

  • Если щелкнуть ячейку и нажать кнопку DELETE или BACKSPACE, содержимое ячейки будет очищено без удаления форматов и приметок к ячейкам.

  • Если очистить ячейку с помощью окну Очистить все или Очистить содержимое,ячейка больше не содержит значения, а формула, которая ссылается на эту ячейку, получает значение 0 (ноль).

  • Если вы хотите удалить ячейки с таблицы и сдвинуть окружающие ячейки, чтобы заполнить место, вы можете выбрать ячейки и удалить их. На вкладке Главная в группе Ячейки щелкните стрелку рядом с кнопкой Удалитьи выберите удалить ячейки.

Нужна дополнительная помощь?

  • Удалить текст до последнего символа
  • Удалить текст до первого пробела – формула
  • Удалить текст до первой цифры
  • Удаление текста в 1-2 клика с !SEMTools

Довольно часто в Excel нужно убрать из строки символы до определенного знака. Это может быть как один символ (пробел, точка, запятая, двоеточие и т.д.), так и символ из определенного множества (цифра, английская буква).

В зависимости от этих условий, решение может быть простым, а может потребовать использование довольно сложных формул и процедур.

В этой статье я подробно опишу известные мне варианты. Поехали!

Удалить текст до последнего символа

Наиболее просто удалить текст в диапазоне ячеек до последнего вхождения заданного символа или текста. Можно воспользоваться процедурой “Найти и заменить”:

  • выделить диапазон;
  • вызвать процедуру поиска и замены со вкладки “Главная” или сочетанием клавиш Ctrl + H;
  • использовать подстановочный символ * (звёздочку) прямо перед искомым в строке поиска;
  • оставить пустым второе поле и нажать «ОК».

Процедура заменит все символы до знака на пустоту, иначе говоря, удалит их. Звездочка как раз и обозначает “все символы”.

Удалить текст до первого пробела – формула

Данная формула универсальна и позволит удалить не только текст до первого пробела, но и до любого другого первого вхождения символа в строке.

Однако удалить первое слово в ячейке — самая популярная задача, и пробел как раз и является символом, который отгораживает первое слово слева от остального текста.

=ЗАМЕНИТЬ(A2;1;ПОИСК(" ";A2);"")
Удалить текст до первого пробела - формула
Результат применения формулы

Формулы для других символов аналогичны.

Убрать текст в ячейке до первой запятой:

=ЗАМЕНИТЬ(A2;1;ПОИСК(",";A2);"")

До точки:

=ЗАМЕНИТЬ(A2;1;ПОИСК(".";A2);"")

А чтобы удалить текст до вхождения последовательности символов, например, слова, нужно использовать в формуле длину этой последовательности, сократив её на 1.

Здесь из адресов удаляется текст до номера дома. Длина текста в кавычках – 3 символа (д, точка и пробел):

=ЗАМЕНИТЬ(A2;1;ПОИСК("д. ";A2)+2;"")
Удалить текст в ячейке до определенного слова

Удалить текст до первой цифры

Пожалуй, вы уже догадались, но я все же объясню, как работают формулы выше:

  1. excel-функция ПОИСК ищет позицию первого вхождения текстового паттерна (он всегда в кавычках). Соответствующий фрагмент выделен красным;
  2. функция ЗАМЕНИТЬ принимает эту позицию как аргумент;
  3. она же заменяет фрагмент от первого символа до этой позиции на пустоту (две кавычки подряд), таким образом, удаляя его.

Следовательно, чтобы удалить текст до первой цифры, нужно вычислить позицию первой цифры в строке. Поскольку цифр не одна, а 10, простая формула уже не подойдет. Но можно сделать это вот такой формулой массива:

{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(48:57));A1);""))}

А подставив это выражение в исходную формулу, мы сможем решить исходную задачу — получить текст после первой цифры включительно, удалив текст до неё.

{=ЗАМЕНИТЬ(A2;1;МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА($48:$57));A2);""))-1;"")}

Что за числа 48 и 57, можно прочитать подробнее тут:

Функция СИМВОЛ в Excel

Обратите внимание на фигурные скобки! Их не нужно вводить, они появятся сами при вводе формулы сочетанием клавиш Ctrl + Shift + Enter.

Формула выдаст ошибку, если цифр в строке нет.

Результат применения формулы для удаления текста до первой цифры
Убираем текст до первой цифры в ячейках формулами массива

Удаление текста в 1-2 клика с !SEMTools

Каждый из перечисленных способов хорош по-своему, но всем им недостает одного важного фактора – скорости исполнения.

В каждом из случаев нужно вводить много символов и производить много действий.

Для экономии времени я включил быстрые процедуры в меню своей надстройки для Excel – !SEMTools.

Теперь удалить текст до первого или последнего вхождения конкретного символа или подстроки, включая и не включая сам текст, можно в считанные мгновения!

При этом можно как менять данные на месте, так и автоматически выводить в соседний столбец – за это отвечает глобальный чекбокс.

Смотрите пример:

Удаление текста до определенного символа в Excel с !SEMTools
Удаляем символы в тексте до первого или последнего вхождения определенного текста с !SEMTools

Найти повторяющиеся значения в Excel и решить сотни других задач поможет надстройка !SEMTools.

Скачайте прямо сейчас и убедитесь сами!


Смотрите также по теме:

  • Удалить последнее слово из ячейки;
  • Удалить первое слово в ячейках Excel;
  • Удалить первые N символов в ячейках;
  • Извлечь первые N символов ячейки.

На чтение 5 мин Просмотров 11к. Опубликовано 16.05.2022

Люди, которые только начинают работать в Excel часто встречаются с таким вопросом.

Допустим, у нас есть такая табличка:

Примерно так выглядит удаление всех символов после «,».

Это можно сделать разными способами. Мы рассмотрим несколько.

Итак, начнём!

Содержание

  1. С помощью функции «Найти и заменить»
  2. С помощью формул
  3. С помощью функции «Заполнить»
  4. С помощью 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.

Надеюсь, эта статья оказалась полезна для вас!

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


Вы можете использовать следующие основные формулы для удаления определенного текста из ячеек в Excel:

Способ 1: удалить один конкретный текст

=SUBSTITUTE( A1 ,"text1","")

Эта конкретная формула удаляет «text1» из ячейки A1 .

Способ 2: удалить несколько определенных текстов

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( A1 ,"text1",""),"text2",""),"text3","")

Эта конкретная формула удаляет «текст1», «текст2» и «текст3» из ячейки A1 .

В следующих примерах показано, как использовать каждый метод на практике.

Пример 1: удалить один конкретный текст

Предположим, у нас есть следующий столбец в Excel, в котором показаны позиции 15 разных баскетболистов:

Мы можем использовать следующую формулу, чтобы удалить «r» из каждого имени позиции:

=SUBSTITUTE( A2 ,"r","")

Мы можем ввести эту формулу в ячейку B2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце B:

Excel удалить определенный текст из ячейки

Обратите внимание, что буква «r» была удалена из всех названий позиций.

Пример 2. Удаление нескольких определенных текстов

Предположим, у нас есть следующий столбец в Excel, который показывает имя пользователя для 10 разных людей на каком-то веб-сайте:

Предположим, мы хотим удалить следующий конкретный текст из каждого имени пользователя:

  • тире ( )
  • восклицательные знаки ( ! )
  • число 5 ( 5 )

Для этого мы можем использовать следующую формулу:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( A2 ,"-",""),"!",""),"5","")

Мы можем ввести эту формулу в ячейку B2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце B:

Обратите внимание, что все «-», «!» и «5» были удалены из каждого имени пользователя.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:

Excel: как проверить, содержит ли ячейка частичный текст
Excel: как проверить, содержит ли ячейка текст из списка
Excel: как рассчитать среднее значение, если ячейка содержит текст
Excel: как подсчитать частоту текста

Зачистка текста

Зачастую текст, который достается нам для работы в ячейках листа Microsoft Excel далек от совершенства. Если он был введен другими пользователями (или выгружен из какой-нибудь корпоративной БД или ERP-системы) не совсем корректно, то он легко может содержать:

  • лишние пробелы перед, после или между словами (для красоты!)
  • ненужные символы («г.» перед названием города)
  • невидимые непечатаемые символы (неразрывный пробел, оставшийся после копирования из Word или «кривой» выгрузки из 1С, переносы строк, табуляция)
  • апострофы (текстовый префикс – спецсимвол, задающий текстовый формат у ячейки)

Давайте рассмотрим способы избавления от такого «мусора».

Замена

«Старый, но не устаревший» трюк. Выделяем зачищаемый диапазон ячеек и используем инструмент Заменить с вкладки Главная – Найти и выделить (Home – Find & Select – Replace) или жмем сочетание клавиш Ctrl+H.

Изначально это окно было задумано для оптовой замены одного текста на другой по принципу «найди Маша – замени на Петя», но мы его, в данном случае, можем использовать его и для удаления лишнего текста. Например, в первую строку вводим «г.» (без кавычек!), а во вторую не вводим ничего и жмем кнопку Заменить все (Replace All). Excel удалит все символы «г.» перед названиями городов:

clean-text1.png

Только не забудьте предварительно выделить нужный диапазон ячеек, иначе замена произойдет на всем листе!

Удаление пробелов

Если из текста нужно удалить вообще все пробелы (например они стоят как тысячные разделители внутри больших чисел), то можно использовать ту же замену: нажать Ctrl+H, в первую строку ввести пробел, во вторую ничего не вводить и нажать кнопку Заменить все (Replace All).

Однако, часто возникает ситуация, когда удалить надо не все подряд пробелы, а только лишние – иначе все слова слипнутся друг с другом. В арсенале Excel есть специальная функция для этого – СЖПРОБЕЛЫ (TRIM) из категории Текстовые. Она удаляет из текста все пробелы, кроме одиночных пробелов между словами, т.е. мы получим на выходе как раз то, что нужно:

clean-text2.png

Удаление непечатаемых символов

В некоторых случаях, однако, функция СЖПРОБЕЛЫ (TRIM) может не помочь. Иногда то, что выглядит как пробел – на самом деле пробелом не является, а представляет собой невидимый спецсимвол (неразрывный пробел, перенос строки, табуляцию и т.д.). У таких символов внутренний символьный код отличается от кода пробела (32), поэтому функция СЖПРОБЕЛЫ не может их «зачистить».

Вариантов решения два:

  • Аккуратно выделить мышью эти спецсимволы в тексте, скопировать их (Ctrl+C) и вставить (Ctrl+V) в первую строку в окне замены (Ctrl+H). Затем нажать кнопку Заменить все (Replace All) для удаления.
  • Использовать функцию ПЕЧСИМВ (CLEAN). Эта функция работает аналогично функции СЖПРОБЕЛЫ, но удаляет из текста не пробелы, а непечатаемые знаки. К сожалению, она тоже способна справится не со всеми спецсимволами, но большинство из них с ее помощью можно убрать.

Функция ПОДСТАВИТЬ

Замену одних символов на другие можно реализовать и с помощью формул. Для этого в категории Текстовые в Excel есть функция ПОДСТАВИТЬ (SUBSTITUTE). У нее три обязательных аргумента:

  • Текст в котором производим замену
  • Старый текст – тот, который заменяем
  • Новый текст – тот, на который заменяем

С ее помощью можно легко избавиться от ошибок (замена «а» на «о»), лишних пробелов (замена их на пустую строку «»), убрать из чисел лишние разделители (не забудьте умножить потом результат на 1, чтобы текст стал числом):

clean-text3.png

Удаление апострофов в начале ячеек

Апостроф (‘) в начале ячейки на листе Microsoft Excel – это специальный символ, официально называемый текстовым префиксом. Он нужен для того, чтобы дать понять Excel, что все последующее содержимое ячейки нужно воспринимать как текст, а не как число. По сути, он служит удобной альтернативой предварительной установке текстового формата для ячейки (Главная – Число – Текстовый) и для ввода длинных последовательностей цифр (номеров банковских счетов, кредитных карт, инвентарных номеров и т.д.) он просто незаменим. Но иногда он оказывается в ячейках против нашей воли (после выгрузок из корпоративных баз данных, например) и начинает мешать расчетам. Чтобы его удалить, придется использовать небольшой макрос. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

	 
Sub Apostrophe_Remove() 
   For Each cell In Selection 
      If Not cell.HasFormula Then 
         v = cell.Value 
         cell.Clear 
         cell.Formula = v 
      End If 
    Next 
End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то апострофы перед содержимым выделенных ячеек исчезнут.

Английские буквы вместо русских

Это уже, как правило, чисто человеческий фактор. При вводе текстовых данных в ячейку вместо русских букв случайно вводятся похожие английские («це» вместо русской «эс», «игрек» вместо русской «у» и т.д.) Причем снаружи все прилично, ибо начертание у этих символов иногда абсолютно одинаковое, но Excel воспринимает их, конечно же, как разные значения и выдает ошибки в формулах, дубликаты в фильтрах и т.д.

Можно, конечно, вручную заменять символы латинцы на соответствующую им кириллицу, но гораздо быстрее будет сделать это с помощью макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

	 
Sub Replace_Latin_to_Russian() 
  Rus = "асекорхуАСЕНКМОРТХ" 
  Eng = "acekopxyACEHKMOPTX" 
  For Each cell In Selection 
    For i = 1 To Len(cell) 
      c1 = Mid(cell, i, 1) 
      If c1 Like "[" & Eng & "]" Then 
         c2 = Mid(Rus, InStr(1, Eng, c1), 1) 
         cell.Value = Replace(cell, c1, c2) 
      End If 
    Next i 
  Next cell 
End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то все английские буквы, найденные в выделенных ячейках, будут заменены на равноценные им русские. Только будьте осторожны, чтобы не заменить случайно нужную вам латиницу :)

Ссылки по теме

  • Поиск символов латиницы в русском тексте
  • Проверка текста на соответствие заданному шаблону (маске)
  • Деление «слипшегося» текста из одного столбца на несколько

Понравилась статья? Поделить с друзьями:
  • Excel очистить ячейки от границ
  • Excel очистить форматирование таблицы в excel
  • Excel очистить фильтры горячие клавиши
  • Excel очистить фильтр сводной таблицы
  • Excel очистить фильтр комбинация клавиш