- Удаление цифр последовательной заменой
- Формула для удаления цифр из ячейки
- Удалить цифры из текста ячеек в 1 клик
- Удалить слова, содержащие цифры
Для массового удаления из диапазона ячеек всех цифр разом в стандартном арсенале Excel функций и процедур, к сожалению не предусмотрено. Есть несколько не самых изящных, но рабочих решений, которые и рассмотрим.
Если же задача – удалить не все цифры, а только отдельно стоящие, их еще можно назвать словами из одних цифр, то задача превращается в нереализуемую вовсе. С помощью надстройки !SEMTools можно – но об этом далее. Сначала рассмотрим обычное удаление цифр.
Обратите внимание – есть похожая процедура “извлечь числа из текста” – она позволит, наоборот, оставить только цифры, а все остальное удалить. А если массив данных огромен, быстрее будет сначала найти числа в ячейках, чтобы потом запустить процедуру удаления только в найденных, предварительно отсортировав их.
Удаление цифр последовательной заменой
Обычно пользователи пользуются функционалом поиска и замены, повторяя операцию 10 раз для каждой цифры и заменяя их на пустоту.
Можно автоматизировать процесс, записав его с помощью макрорекордера, но это не очень удобно – процедура замены требует значительных ресурсов и занимает значительное время на больших данных.
Формула для удаления цифр из ячейки
В Excel есть функция «ПОДСТАВИТЬ», она позволяет заменить символ или несколько символов, встречающиеся в ячейке, полностью, вне зависимости от того, сколько раз они встречаются в строке.
На ее основе можно составить многосоставную формулу с 10 уровнями вложенности, которая решит нашу задачу. Так она будет выглядеть:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"1";"");"2";"");"3";"");"4";"");"5";"");"6";"");"7";"");"8";"");"9";"");"0";"")
Автору этого сайта и надстройки !SEMTools часто приходилось решать эту и множество похожих задач, поэтому у него был огромный текстовый файлик с такими формулами. Его приходилось всегда иметь на виду, чтобы быстро использовать нужные. Это было неудобно.
Так пришла идея реализовать возможность производить такие операции в 1 клик и легко находить их. И теперь она есть, в составе целого пакета из 500+ похожих процедур надстройки !SEMTools.
Удалить цифры из текста ячеек в 1 клик
Процедура доступна на панели !SEMTools в разделе «УДАЛИТЬ» в меню «Удалить символы». Перед удалением рекомендуется воспользоваться похожей функций «Найти числа в ячейках», чтобы сначала посмотреть, какие ячейки затронет удаление. Смотрите пример:
Удалить слова, содержащие цифры
Как видно из примера выше, если цифры являются частью слов, в которых присутствуют и буквы, это повредит такие слова и не удалит их полностью. Для удаления таких слов в !SEMTools предусмотрены процедуры в меню «Удалить слова»:
- удалить слова, содержащие цифры;
- удалить слова, состоящие только из цифр.
Это позволяет удалять их полностью и не «испортить» данные.
Скачайте надстройку !SEMTools, чтобы упростить эту и сотни других задач в работе с Excel!
На чтение 5 мин Просмотров 8.3к. Опубликовано 12.05.2022
Часто бывает такое, что нужно удалить один или несколько символов из начала каждой ячейки.
Допустим у нас есть первый столбик, в котором лежат значения буква+цифры, нам нужно обрезать их таким образом, чтобы получились только цифры. Как на картинке ниже:
На самом деле, есть несколько вариантов, как можно это сделать.
Итак, давайте начнем!
Содержание
- С помощью функции ЗАМЕНА
- Копируем из ячейки все, кроме первого символа
- С помощью функции «Текст по столбцам»
- С помощью автозаполнения
- С помощью Visual Basic
С помощью функции ЗАМЕНА
Самый распространенный способ — использовать функцию ЗАМЕНА. Она довольно простая и в то же время полезная.
Для указанного выше примера формула функции принимает такой вид:
=ЗАМЕНА(A2;1;1;"")
Что она делает?
Просто заменяет первый символ в строке на пустое место.
С помощью неё можно удалить любое количество символов с начала строки, например удалить два символа можно так:
=ЗАМЕНА(A1;1;2;"")
Копируем из ячейки все, кроме первого символа
Можно сделать и так, в этом случае формула будет немного сложней, но результата мы добьемся.
Разница в том, что в первом случае мы удаляли первый символ из строки, а в этом случае — мы просто разделяем строку и переносим нужную её часть в другую ячейку.
Допустим, у нас тот же столбик, который нужно обработать:
В этой ситуации формула принимает такой вид:
=ПРАВСИМВ(A1;ДЛСТР(A1)-1)
Функция ДЛСТР получает длину всей строки, а далее из длины убавляется 1 (потому что 1 символ мы хотим «пропустить») и все это отдается в обработку функции ПРАВСИМВ.
С помощью функции «Текст по столбцам»
Прошлые методы простые, но неудобны тем, что для них нужен отдельный столбец, так сказать, «технический» (для расчетов).
Если, например, вам нужно получить результат в тех же ячейках, которые мы обрабатываем, грубо говоря, перезаписать их, то вам поможет этот метод.
Допустим, у нас тот же столбик:
Пошаговая инструкция:
- Выделите ячейки и щелкните на «Данные»;
- Далее «Текст по столбцам»;
- В открывшемся окошке:
- В первом шаге используйте вторую опцию (как на картинке);
- Во втором шаге установите стрелку на том делении, сколько символов вы хотите «отрезать»;
- И в последнем шаге, выберите «пропустить столбец»;
- Подтвердите.
Таким образом, первый символ был удален.
Как это работает?
Довольно просто: вы указали функции сколько символов нужно «отрезать» от начала строки, а также вы указали пропустить столбец. Это значит что данные, после обработки, будут записаны в тот же столбик, где они изначально были.
С помощью автозаполнения
Эта функция — одна из самых удобных функций в Excel. Она автоматически пытается угадать значения для следующих ячеек, если вы заполнили первую (одну или две).
Давайте посмотрим как это работает.
Допустим, у нас тот же столбик:
Воспользуемся этой функцией
Пошаговая инструкция:
- В следующем столбике, впишите значение, которое должно быть после преобразования (в нашем случае 271);
- А также, по аналогии, укажите значение для второй ячейки. На самом деле, функция автозаполнения уже поняла логику и предлагает нам заполнить всю оставшуюся часть;
- Теперь выделите обе ячейки с обработанными данными;
- Наведите курсор на правую нижнюю часть выделения и потяните её вниз;
- Готово!
Просто не правда ли?
Это удобная функция, но с ней нужно быть осторожным. Если она неправильно поймет логику вашего заполнения — могут быть ошибки.
С помощью Visual Basic
Ну и как обычно, напоследок, рассмотрим как можно сделать это с помощью Visual Basic.
Я дам вам код функции для такого рода задачи, вы сможете модифицировать его.
Также, как и в случае использования функции «Текст по столбцам» в этом методе нам не нужен дополнительный столбик для расчетов.
Обратите внимание, что если строк, которые нужно обработать у вас очень много, выполнение этого кода может замедлить работу компьютера на какое-то время.
Этот код удаляет первый символ из каждой ячейки:
For Each cell In Selection: cell.Value = Right(cell.Value, Len(cell.Value) - 1): Next cell
Как его использовать?
Пошаговая инструкция:
- Выделите диапазон ячеек, в которых нужно удалить первый символ
- Откройте просмотр кода (правой кнопкой на имя листа -> «Просмотр кода»);
- Далее щелкните на «View» -> «Immediate Window» (или CTRL + G);
- Поместите в окно наш код;
- Обязательно наведите мышь в конец кода;
- И просто подтвердите (нажав ENTER);
Готово, первый символ удален.
Что же делает этот код?
For Each cell In Selection: cell.Value = Right(cell.Value, Len(cell.Value) - 1): Next cell
Итак, здесь используется цикл, который копирует и перезаписывает каждую ячейку отдельно.
В общем то и все! Мы рассмотрели несколько удобных и практичных методов удаления первого символа из каждой ячейки.
Я надеюсь эта статья была полезна для вас! Потому что даже если какой-то способ вам не по душе, вы всегда можете использовать несколько других.
удаление первой цифры на столбце |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Часто бывает такое, что нужно удалить один или несколько символов из начала каждой ячейки.
Допустим у нас есть первый столбик, в котором лежат значения буква+цифры, нам нужно обрезать их таким образом, чтобы получились только цифры. Как на картинке ниже:
На самом деле, есть несколько вариантов, как можно это сделать.
Итак, давайте начнем!
С помощью функции ЗАМЕНА
Самый распространенный способ — использовать функцию ЗАМЕНА. Она довольно простая и в то же время полезная.
Для указанного выше примера формула функции принимает такой вид:
Просто заменяет первый символ в строке на пустое место.
С помощью неё можно удалить любое количество символов с начала строки, например удалить два символа можно так:
Копируем из ячейки все, кроме первого символа
Можно сделать и так, в этом случае формула будет немного сложней, но результата мы добьемся.
Разница в том, что в первом случае мы удаляли первый символ из строки, а в этом случае — мы просто разделяем строку и переносим нужную её часть в другую ячейку.
Допустим, у нас тот же столбик, который нужно обработать:
В этой ситуации формула принимает такой вид:
Функция ДЛСТР получает длину всей строки, а далее из длины убавляется 1 (потому что 1 символ мы хотим «пропустить») и все это отдается в обработку функции ПРАВСИМВ.
С помощью функции «Текст по столбцам»
Прошлые методы простые, но неудобны тем, что для них нужен отдельный столбец, так сказать, «технический» (для расчетов).
Если, например, вам нужно получить результат в тех же ячейках, которые мы обрабатываем, грубо говоря, перезаписать их, то вам поможет этот метод.
Допустим, у нас тот же столбик:
- Выделите ячейки и щелкните на «Данные»;
- Далее «Текст по столбцам»;
- В открывшемся окошке:
- В первом шаге используйте вторую опцию (как на картинке);
- Во втором шаге установите стрелку на том делении, сколько символов вы хотите «отрезать»;
- И в последнем шаге, выберите «пропустить столбец»;
- Подтвердите.
Таким образом, первый символ был удален.
Как это работает?
Довольно просто: вы указали функции сколько символов нужно «отрезать» от начала строки, а также вы указали пропустить столбец. Это значит что данные, после обработки, будут записаны в тот же столбик, где они изначально были.
С помощью автозаполнения
Эта функция — одна из самых удобных функций в Excel. Она автоматически пытается угадать значения для следующих ячеек, если вы заполнили первую (одну или две).
Давайте посмотрим как это работает.
Допустим, у нас тот же столбик:
Воспользуемся этой функцией
- В следующем столбике, впишите значение, которое должно быть после преобразования (в нашем случае 271);
- А также, по аналогии, укажите значение для второй ячейки. На самом деле, функция автозаполнения уже поняла логику и предлагает нам заполнить всю оставшуюся часть;
- Теперь выделите обе ячейки с обработанными данными;
- Наведите курсор на правую нижнюю часть выделения и потяните её вниз;
- Готово!
Просто не правда ли?
Это удобная функция, но с ней нужно быть осторожным. Если она неправильно поймет логику вашего заполнения — могут быть ошибки.
С помощью Visual Basic
Ну и как обычно, напоследок, рассмотрим как можно сделать это с помощью Visual Basic.
Я дам вам код функции для такого рода задачи, вы сможете модифицировать его.
Также, как и в случае использования функции «Текст по столбцам» в этом методе нам не нужен дополнительный столбик для расчетов.
Обратите внимание, что если строк, которые нужно обработать у вас очень много, выполнение этого кода может замедлить работу компьютера на какое-то время.
Этот код удаляет первый символ из каждой ячейки:
Как его использовать?
- Выделите диапазон ячеек, в которых нужно удалить первый символ
- Откройте просмотр кода (правой кнопкой на имя листа -> «Просмотр кода»);
- Далее щелкните на «View» -> «Immediate Window» (или CTRL + G);
- Поместите в окно наш код;
- Обязательно наведите мышь в конец кода;
- И просто подтвердите (нажав ENTER);
Готово, первый символ удален.
Что же делает этот код?
Итак, здесь используется цикл, который копирует и перезаписывает каждую ячейку отдельно.
В общем то и все! Мы рассмотрели несколько удобных и практичных методов удаления первого символа из каждой ячейки.
Я надеюсь эта статья была полезна для вас! Потому что даже если какой-то способ вам не по душе, вы всегда можете использовать несколько других.
Как убрать первую цифру в ячейке excel
Что делать, если вы хотите изменить первое число на другое в выбранных ячейках? А как насчет того, чтобы заменить первое число ничем? В этой статье вы получите решения для изменения или поиска и замены первого числа в ячейке.
Измените или найдите и замените первое число ничем по формуле
Вы можете удалить первое число в выбранных ячейках с помощью формулы. Пожалуйста, сделайте следующее.
1. Выберите пустую ячейку (говорит ячейка C1), введите формулу. = ЗАМЕНИТЬ (A1,1,1; «») в панель формул и нажмите клавишу Enter.
Внимание: В формуле первая цифра 1 означает, что удаление начинается с первой цифры, а вторая цифра 1 указывает, что она удалит только один символ слева от ячейки.
2. Продолжая выбирать ячейку C1, перетащите маркер заполнения в диапазон, который необходимо покрыть этой формулой. После этого вы увидите, что все первые числа в указанных ячейках немедленно удаляются.
Измените или найдите и замените первый номер ничем с помощью Kutools for Excel
Удалить по позиции полезности Kutools for Excel может легко удалить только первые числа выбранных ячеек. Пожалуйста, сделайте следующее.
Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.
1. Выберите диапазон с ячейками, в которых нужно удалить только первое число, затем нажмите Кутулс > Текст > Удалить по позиции. Смотрите скриншот:
2. в Удалить по позиции диалоговом окне введите число 1 в Номера выберите Слева в Позиция раздел и, наконец, щелкните OK кнопку.
Затем вы можете увидеть, что все первые числа в выбранных ячейках немедленно заменяются ничем.
Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Измените или найдите и замените первое число другим числом по формуле
Как показано на скриншоте ниже, вам нужно заменить все первые цифры 6 на 7 в списке, пожалуйста, сделайте следующее.
1. Выберите пустую ячейку, введите формулу. = ПОДСТАВИТЬ (A1; «6»; «7»; 1) в панель формул и нажмите клавишу Enter.
Заметки:
2. Продолжайте выбирать ячейку результата, затем перетащите маркер заливки в нужный диапазон. Теперь все первые ячейки в выбранном диапазоне заменяются тем же значением. Смотрите скриншот:
1. Select the range and click Kutools > Text > Remove by Position.
2. In the Remove by Position dialog box, enter number 1 into the Numbers box, select From left in the Position section, and finally click the OK button.
Then you can see all first numbers in selected cells are removed immediately.
3. Keep selecting these cells, and then click Kutools > Text > Add Text. In the Add text dialog box, enter the number you need to add at the beginning of the cell contents, select the Before first character, and finally click the OK button. See screenshot:
Now the first numbers in selected cells are replaced with a certain number as below screenshot shown.
0 / 0 / 0 Регистрация: 10.11.2011 Сообщений: 5 |
|
1 |
|
Помогите удалить число из каждой строки столбца10.11.2011, 15:49. Показов 31976. Ответов 11
Добрый день всем!
0 |
19 / 19 / 0 Регистрация: 30.09.2011 Сообщений: 283 |
|
10.11.2011, 16:00 |
2 |
Excel 2007 -2010 — вкладка данные — текст по столбцам — фиксированной ширины — Далее — устанавливайте ширину полей Добавлено через 1 минуту Добавлено через 7 минут Код =ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(A1;A1))
1 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
10.11.2011, 16:04 |
3 |
Сообщение было отмечено как решение Решение
формулой это делается вот так: А если хотите универсальную, то так: Код =ПРАВСИМВ(A1;ДЛСТР(A1)-1) ЗЫ caustic, в Вашей формуле надо убрать бинарное отрицание, при работе с текстом оно во-первых не нужно, во-вторых выдаст ошибку формулы #ЗНАЧ!
3 |
caustic |
|||||
10.11.2011, 16:08
|
|||||
Не по теме: уже проверил, и убрал ) Не по теме:
0 |
0 / 0 / 0 Регистрация: 10.11.2011 Сообщений: 5 |
|
10.11.2011, 16:49 [ТС] |
5 |
Спасибо большое, господа.
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
10.11.2011, 16:57 |
6 |
Нужно удалить точки и запятые. Код =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;".";);",";)
1 |
0 / 0 / 0 Регистрация: 10.11.2011 Сообщений: 5 |
|
10.11.2011, 17:13 [ТС] |
7 |
Serge007, а я могу использовать эту формулу, если я уже ввел формулу для очистки значения от «0»? сейчас попробовал, но где-то возникает ошибка. Добавлено через 5 минут
0 |
956 / 596 / 11 Регистрация: 11.06.2010 Сообщений: 1,345 |
|
10.11.2011, 17:22 |
8 |
Пока вижу только вариант очистки значений от запятых и точек, далее copy-past как значение и второй заход по удалению нулей. А Вы пример приложите и прямо в файле комменты: «Есть так» — «Надо так».
0 |
0 / 0 / 0 Регистрация: 10.11.2011 Сообщений: 5 |
|
10.11.2011, 17:48 [ТС] |
9 |
Да, так логичнее) , прилагаю.
0 |
671 / 177 / 10 Регистрация: 28.07.2010 Сообщений: 253 |
|
10.11.2011, 18:03 |
10 |
Пробуйте так: Код =--ПОДСТАВИТЬ(ПОДСТАВИТЬ(C2;".";);",00";)
1 |
0 / 0 / 0 Регистрация: 10.11.2011 Сообщений: 5 |
|
10.11.2011, 18:15 [ТС] |
11 |
Все гениальное -просто. Спасибо. А зачем два минуса «—» перед подставить? они что при этом дают?
0 |
671 / 177 / 10 Регистрация: 28.07.2010 Сообщений: 253 |
|
10.11.2011, 18:59 |
12 |
То же самое, что и функция ЗНАЧЕН() — преобразует строку текста, отображающую число, в число.
1 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
10.11.2011, 18:59 |
Помогаю со студенческими работами здесь Создать текстовый файл f2, в котором в каждой строке стоит число, равное числу слов каждой строки файла f1 Сумма каждой строки и столбца Найти сумму элементов каждой строки матрицы и удалить строки, содержащую максимальный элемент Из каждой строки удалить все цифры, и не содержащие цифр строки записать в новый список Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 12 |