Приложение для работы с электронными таблицами Microsoft Office, Microsoft Excel, предлагает множество способов управления значениями в ячейках ваших электронных таблиц. Например, если у меня есть образец файла данных, в котором я хочу уменьшить количество символов в ячейке или диапазоне ячеек, я могу использовать определенную формулу для достижения этой цели, не затрагивая исходные значения ячейки.
Я провожу много времени, работая с числами UPC в таблицах Microsoft Excel. Одна из распространенных ситуаций, с которыми я сталкиваюсь, — это когда у меня есть полный номер UPC, но мне нужно удалить последнюю цифру номера. Это обычно называется контрольной цифрой и автоматически генерируется на основе остальных чисел в UPC. Хотя это простая задача с одним или двумя номерами UPC, это очень утомительно при работе с сотнями или тысячами из них.
К счастью, в Excel есть формула, которая автоматически удаляет последнюю цифру числа. Просто введите формулу в другую ячейку, и конечным результатом будет число за вычетом последней цифры. Затем эту формулу можно скопировать, чтобы заполнить остальные ячейки столбца.
- Откройте электронную таблицу.
- Выберите ячейку, чтобы отобразить число с удаленной цифрой.
- Введите формулу = LEFT (A1, LEN (A1) -1), но замените A1 правильным номером ячейки.
- Нажмите клавишу Enter, чтобы выполнить формулу.
Наше руководство продолжается ниже с более подробной информацией о том, как удалить последний символ в Excel, включая изображения этих шагов.
Как удалить последнюю цифру из числа в Excel 2013 (Руководство с изображениями)
Шаги, описанные в этой статье, покажут вам, как использовать формулу для удаления последней цифры из числа в ячейке вашей электронной таблицы Excel. Это означает, что ячейка, содержащая число «1234», будет обрезана до «123». Хотя мы сосредоточимся конкретно на удалении одной цифры, вы можете удалить любое количество цифр, изменив последнюю часть формулы.
Шаг 1. Откройте электронную таблицу, содержащую ячейку, которую вы хотите обрезать.
Шаг 2: Щелкните внутри ячейки, в которой вы хотите отобразить номер, у которого была удалена последняя цифра.
Шаг 3: Введите в ячейку формулу = LEFT (A1, LEN (A1) -1), но замените каждый A1 местоположением ячейки, содержащей число, для которого вы хотите удалить цифру. Затем вы можете нажать Enter на клавиатуре, чтобы вычислить формулу.
Затем вы можете скопировать ячейку, содержащую формулу, и вставить ее в любую другую ячейку, содержащую число, которое вы хотите сократить на одну цифру. Например, на изображении ниже я вставляю формулу в ячейки B2 — B9.
Наше руководство продолжается ниже с дополнительным обсуждением удаления последних цифр из чисел в Microsoft Excel.
Могу ли я использовать функцию LEN для изменения числового значения в ячейке?
В разделе выше показано, как объединить функцию LEN с функцией LEFT, чтобы удалить последние n символов из ячейки, где значение «n» определено в конце формулы.
Мы специально сосредоточились на уменьшении количества символов в исходном значении на 1. Однако это не просто сокращение общей длины значения на один или несколько символов. Он также изменяет фактическое значение данных, отображаемых в этой ячейке.
Например, когда вы используете функцию LEN для удаления первого или последнего символа из числа или текстовой строки, она создает числовое или текстовое значение, соответствующее этому новому набору данных. если вы используете другую пользовательскую функцию или код VBA для ссылки на ячейку, из которой был удален первый или последний символ, то вместо этого будет использоваться это значение.
По сути, это означает, что формула не просто создает пустую строку, числа или буквы. Это значение, которое вы можете использовать в других формулах. Использование функции значения (= Value (XX)) покажет текущее значение этой ячейки, которое является числом или текстовой строкой без символов с левой или правой стороны значения исходной ячейки.
Дополнительная информация о том, как удалить последнюю цифру в Excel 2013
Если вы хотите сократить строку символов более чем на одну цифру, измените число «1» в формуле на количество цифр, которое вы хотите удалить. Например, если бы я хотел удалить 4 цифры, я бы изменил формулу на = LEFT (A1, LEN (A1) -4).
Эта формула также может использоваться для удаления символов из текстовых строк.
Совет. Если вы также используете эту формулу по причинам UPC, и ваш номер отображается в экспоненциальном представлении, возможно, вам нужно изменить форматирование. Эта статья покажет вам, как увидеть форматирование, примененное к ячейке, а затем вы можете вместо этого переключиться на числовое или текстовое форматирование.
Формула, которую мы используем в этой статье, служит конкретной цели удаления символов из конца значения ячейки. Однако это лишь одна из нескольких связанных функций, которые выполняют аналогичные задачи. Например, есть функция MID, которая извлекает набор символов из середины значения ячейки. Хотя в VBA есть функция END, это не формула, которую можно вводить в ячейки Excel. Его также нельзя использовать для возврата «конечных» символов из текстовой строки.
Группа: Пользователи Ранг: Участник Сообщений: 88
Замечаний: |
Приветствую форумчан!
Помогите пожалуйста с файлом. Хотелось бы формулу которая удаляет последнюю цифру из номера как в приложенном примере. В номере может быть разное кол-во цифр, а номеров от 1 до 15 тыс. В ручную представляется это очень сложным.
Заранее благодарен
К сообщению приложен файл:
primer1.xls
(22.5 Kb)
stevie4 Пользователь Сообщений: 104 |
Здравствуйте! |
vikttur Пользователь Сообщений: 47199 |
ЛЕВСИМВ(код;17) |
stevie4 Пользователь Сообщений: 104 |
{quote}{login=vikttur}{date=24.10.2010 08:19}{thema=}{post}ЛЕВСИМВ(код;17) А как это полностью прописать?) Это я так понимаю макрос? Я просто не силен в excel… |
vikttur Пользователь Сообщений: 47199 |
Это формула в соседнем столбце |
kim Пользователь Сообщений: 3139 Игорь |
Или без формул: |
stevie4 Пользователь Сообщений: 104 |
{quote}{login=vikttur}{date=24.10.2010 08:23}{thema=}{post}Это формула в соседнем столбце{/post}{/quote} Не понял, и где ее прописать? В ячейке? Я же туда сканировать буду серийники.. А можно файл примерный вложить, пожалуйста? |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Вить, Игорь мож ему сразу, при Worksheet_Change отрывать последнюю цифру? А то тема затянется. Автор макросом формулы называет:-) Я сам — дурнее всякого примера! … |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
{quote}{login=stevie4}{date=24.10.2010 08:29}{thema=Re: }{post}{quote}{login=vikttur}{date=24.10.2010 08:23}{thema=}{post}{/post}{/quote} А можно файл примерный вложить, пожалуйста?{/post}{/quote} |
stevie4 Пользователь Сообщений: 104 |
{quote}{login=Юрий М}{date=24.10.2010 08:36}{thema=Re: Re: }{post}{quote}{login=stevie4}{date=24.10.2010 08:29}{thema=Re: }{post}{quote}{login=vikttur}{date=24.10.2010 08:23}{thema=}{post}{/post}{/quote} А можно файл примерный вложить, пожалуйста?{/post}{/quote} Так а мой файл во вложении в 1 сообщении Я ступил) Я макрос за функцию принял) А как он полностью пишется, не знаю. |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
{quote}{login=KuklP}{date=24.10.2010 08:35}{thema=}{post}Вить, Игорь мож ему сразу, при Worksheet_Change отрывать последнюю цифру? А то тема затянется. Автор макросом формулы называет:-){/post}{/quote} |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
stevie4, файл Вы действительно выложили, но не все его могут посмотреть. Впрочем, будем надеяться, что у кого-то из присутствующих есть 2007/2010 |
stevie4 Пользователь Сообщений: 104 |
Вот файл для 97/2000 |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
stevie4, я ведь писал — в Правила загляните. |
stevie4 Пользователь Сообщений: 104 |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
stevie4, уточните — в столбец В попадают данные от сканера, а в столбце А их нужно кастрировать. Так? |
stevie4 Пользователь Сообщений: 104 |
{quote}{login=Юрий М}{date=24.10.2010 09:36}{thema=}{post}stevie4, уточните — в столбец В попадают данные от сканера, а в столбце А их нужно кастрировать. Так?{/post}{/quote} В столбец B попадают данные со сканера, все верно. А в столбец «A» мы прогружаем данные с программы по складу, т.е. в файле столбец «A» трогать не нужно, там все корректно всегда будет подгружаться. |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
Так где данные менять? Прямо «на месте» в столбце В или создать рядом столбец с новыми данными? |
stevie4 Пользователь Сообщений: 104 |
{quote}{login=Юрий М}{date=24.10.2010 09:41}{thema=}{post}Так где данные менять? Прямо «на месте» в столбце В или создать рядом столбец с новыми данными?{/post}{/quote} В столбце B можно менять. Я как раз туда буду сканировать серийники. |
{quote}{login=stevie4}{date=24.10.2010 09:46}{thema=Re: }{post}{quote}{login=Юрий М}{date=24.10.2010 09:41}{thema=}{post}Так где данные менять? Прямо «на месте» в столбце В или создать рядом столбец с новыми данными?{/post}{/quote} |
|
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Z, не пугайте. Если бы не знал, про приколы с цитированием — подумал бы, что пора завязывать с грибами:-) 91441 Я сам — дурнее всякого примера! … |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
|
stevie4! Знаете, иногда полезно не только малую часть вашей задачи решать, но и представлять ее общую картину. В первом файле был еще лист для «анализов» — определить есть-нет, свой-чужой — так во втором примере он исчез. Почему? Чтобы всплыть с совершенной новой постановкой проблемы? Давайте определяться, вдумчиво и без спешки. |
|
stevie4 Пользователь Сообщений: 104 |
{quote}{login=Z}{date=24.10.2010 10:05}{thema=повтор из-за глюка}{post}stevie4! Знаете, иногда полезно не только малую часть вашей задачи решать, но и представлять ее общую картину. В первом файле был еще лист для «анализов» — определить есть-нет, свой-чужой — так во втором примере он исчез. Почему? Чтобы всплыть с совершенной новой постановкой проблемы? Давайте определяться, вдумчиво и без спешки.{/post}{/quote} 2 ист исчез, так как я скинул в формате 97/2000, и с тем листом файл весил больше допустимого лимита. Пришлось лист удалить… В 2007 файл в полном объеме. |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
«… с тем листом файл весил больше допустимого лимита. Пришлось лист удалить…» |
stevie4 Пользователь Сообщений: 104 |
#25 24.10.2010 22:50:16 {quote}{login=Юрий М}{date=24.10.2010 10:18}{thema=Re: Re: повтор из-за глюка}{post}»… с тем листом файл весил больше допустимого лимита. Пришлось лист удалить…» Юрий, спасибо Вам большое!) Файл прекрасно работает теперь!) Очень помогли!) |
- Удаление цифр последовательной заменой
- Формула для удаления цифр из ячейки
- Удалить цифры из текста ячеек в 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!
Skip to content
В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое.
Среди множества различных функций, которые Microsoft Excel предоставляет для работы с текстовыми данными, ЛЕВСИМВ — одна из наиболее широко применяемых. Как следует из названия, она позволяет извлекать определенное количество знаков, начиная с левой стороны текста. Однако она способна на гораздо большее, чем такая простая операция. В этом руководстве вы найдете несколько базовых формул для понимания синтаксиса, а затем я покажу вам несколько способов, с помощью которых вы можете использовать ЛЕВСИМВ далеко за пределами ее базового применения.
- Правила синтаксиса.
- Как получить подстроку слева от определенного символа?
- Удаляем последние N символов.
- Как заставить ЛЕВСИМВ вернуть число, а не текст.
- Почему не работает?
Cинтаксис.
Функция ЛЕВСИМВ в Excel возвращает указанное количество символов (подстроку) от начала содержимого ячейки.
Синтаксис следующий:
ЛЕВСИМВ (текст; [колич_знаков])
Где:
- Текст (обязательно) — это текст, из которого вы хотите извлечь подстроку. Обычно предоставляется как ссылка на ячейку, в которой он записан.
- Второй аргумент (необязательно) — количество знаков для извлечения, начиная слева.
- Если параметр опущен, то по умолчанию подразумевается 1, то есть возвращается 1 знак.
- Если введенное значение больше общей длины ячейки, формула вернет всё ее содержимое.
Например, чтобы извлечь первые 6 символов из A2, запишите такое выражение:
=ЛЕВСИМВ(A2; 6)
На следующем скриншоте показан результат:
Важное замечание! ЛЕВСИМВ относится к категории текстовых функций, поэтому результатом её всегда является текстовая строка, даже если исходное значение, из которого вы извлекаете цифры, является числом. Если вы работаете с числовым набором данных и хотите, чтобы было извлечено именно число, применяйте ее вместе с функцией ЗНАЧЕН, как показано в одном из примеров ниже.
Что еще можно делать, помимо извлечения текста слева? В следующих примерах показано, как можно применять её в сочетании с другими функциями Excel для решения более сложных задач.
Как извлечь подстроку перед определенным символом.
В некоторых случаях может потребоваться извлечь часть текста, который предшествует определенному знаку. Например, вы можете извлечь имена из столбца ФИО или получить коды стран из колонки с телефонными номерами. Проблема в том, что каждое имя и каждый код содержат разное количество символов, и поэтому вы не можете просто указать точное число сколько знаков отделить, как мы сделали в приведенном выше примере.
Если имя и фамилия разделены пробелом, проблема сводится к определению положения этого разделителя. Это можно легко сделать с помощью функции ПОИСК или НАЙТИ .
Предположим, что полное имя находится в ячейке A2, позиция пробела возвращается по этой простой формуле: ПОИСК(» «; A2)). А теперь вы вставляете это выражение в ЛЕВСИМВ:
=ЛЕВСИМВ(A2; ПОИСК(» «; A2))
Чтобы еще немного улучшить результат, избавьтесь от конечного пробела, вычтя 1 из результата поиска. Ведь невидимые конечные пробелы могут вызвать множество проблем, особенно если вы планируете использовать извлеченные имена в других вычислениях:
=ЛЕВСИМВ(A2; ПОИСК(» «; A2)-1)
Таким же образом вы можете извлечь коды стран из столбца телефонных номеров. Единственное отличие состоит в том, что вам теперь нужно узнать позицию первого дефиса («-«), а не пробела:
=ЛЕВСИМВ(A2; ПОИСК(«-«; A2)-1)
Думаю, вы поняли, что можете брать эту универсальную формулу, чтобы получить подстроку, которая предшествует любому другому знаку:
ЛЕВСИМВ( строка ; ПОИСК( символ ; строка ) — 1)
Как удалить последние N символов.
Вы уже знаете, отрезать кусочек от начала текстовой строки. Но иногда вы можете захотеть сделать что-то другое — удалить определенное количество символов из конца строки и перенести оставшееся в другую ячейку. Для этого можно также применять функцию ЛЕВСИМВ в сочетании с ДЛСТР , например:
ЛЕВСИМВ ( текст ; ДЛСТР( текст ) — число_символов_для_удаления )
Это работает с такой логикой: ДЛСТР получает общее количество символов в ячейке, затем вы вычитаете количество ненужных знаков из общей длины, а ЛЕВСИМВ возвращает оставшееся.
Например, чтобы удалить последние 7 знаков из текста в A2, запишите такое выражение:
=ЛЕВСИМВ(A2; ДЛСТР(A2)-11)
Как показано на скриншоте, формула успешно отсекает слово «продукты» (8 букв, разделитель и 2 пробела) из текстовых значений в столбце A.
При этом взять на вооружение способ, рассмотренный нами в предыдущем примере, будет очень сложно, так как все разделители разные.
Как заставить ЛЕВСИМВ возвращать число.
Как вы уже знаете, ЛЕВСИМВ в Эксель всегда возвращает текст, даже если вы извлекаете несколько первых цифр из ячейки. Для вас это означает, что вы не сможете использовать эти результаты в вычислениях или в других функциях Excel, которые работают с числами.
Итак, как заставить ЛЕВСИМВ выводить числовое значение, а не текстовую строку, состоящую из цифр? Просто заключив его в функцию ЗНАЧЕН (VALUE), которая предназначена для преобразования текста, состоящего из цифр, в число.
Например, чтобы извлечь символы перед разделителем “-” из A2 и преобразовать результат в число, можно сделать так:
=ЗНАЧЕН(ЛЕВСИМВ(A2;ПОИСК(«-«;A2;1)-1))
Результат будет выглядеть примерно так:
Как вы можете видеть на скриншоте выше, числа в столбце B, полученные с помощью преобразования, автоматически выровнены по правому краю в ячейках, в отличие от текста с выравниванием по левому краю в столбце A. Поскольку Эксель распознает итоговые данные как числа, вы можете суммировать и усреднять эти значения, находить минимальное и максимальное значение и выполнять любые другие вычисления с ними.
Это лишь некоторые из множества возможных вариантов использования ЛЕВСИМВ в Excel.
Дополнительные примеры формул ЛЕВСИМВ можно найти на следующих ресурсах:
- Разделить строку запятой, двоеточием, косой чертой, тире или другим разделителем
- Как разбить текстовую строку вида «число + текст» по столбцам
- Подсчитайте количество символов до или после данного символа
Не работает ЛЕВСИМВ — причины и решения
Если ЛЕВСИМВ не работает на ваших листах должным образом, это, скорее всего, связано с одной из причин, которые мы перечислим ниже.
1. Аргумент «количество знаков» меньше нуля
Если ваша формула возвращает ошибку #ЗНАЧ!, то первое, что вам нужно проверить, — это значение аргумента количество_знаков. Если вы видите отрицательное число, просто удалите знак минус, и ошибка исчезнет (конечно, очень маловероятно, что кто-то намеренно поставит отрицательное число, но человек может ошибиться
Чаще всего ошибка #ЗНАЧ! возникает, когда этот аргумент получен в результате вычислений, а не записан вручную. В этом случае скопируйте это вычисление в другую ячейку или выберите его в строке формул и нажмите F9, чтобы увидеть результат ее работы. Если значение меньше 0, проверьте на наличие ошибок.
Чтобы лучше проиллюстрировать эту мысль, возьмем формулу, которую мы записали в первом примере для извлечения телефонных кодов страны:
ЛЕВСИМВ(A2; ПОИСК(«-«; A2)-1)
Как вы помните, функция ПОИСК в наших примерах вычисляет позицию первого дефиса в исходной строке, из которой мы затем вычитаем 1, чтобы удалить дефис из окончательного результата. Если я случайно заменю -1, скажем, на -11, Эксель выдаст ошибку #ЗНАЧ!, потому что нельзя извлечь отрицательное количество букв и цифр:
2. Начальные пробелы в исходном тексте
Если вы скопировали свои данные из Интернета или экспортировали из другого внешнего источника, довольно часто такие неприятные сюрпризы попадаются в самом начале текста. И вы вряд ли заметите, что они там есть, пока что-то не пойдет не так. Следующее изображение иллюстрирует проблему:
Чтобы избавиться от ведущих пробелов на листах, воспользуйтесь СЖПРОБЕЛЫ (TRIM).
3. ЛЕВСИМВ не работает с датами.
Если вы попытаетесь использовать ЛЕВСИМВ для получения отдельной части даты (например, дня, месяца или года), в большинстве случаев вы получите только первые несколько цифр числа, представляющего эту дату. Дело в том, что в Microsoft Excel все даты хранятся как числа, представляющие количество дней с 1 января 1900 года. То, что вы видите в ячейке, это просто визуальное представление даты. Ее отображение можно легко изменить, применив другой формат.
Например, если у вас есть дата 15 июля 2020 года в ячейке A1 и вы пытаетесь извлечь день с помощью выражения ЛЕВСИМВ(A1;2). Результатом будет 44, то есть первые 2 цифры числа 44027, которое представляет 15 июля 2020г. во внутренней системе Эксель.
Чтобы извлечь определенную часть даты, возьмите одну из следующих функций: ДЕНЬ(), МЕСЯЦ() или ГОД().
Если же ваши даты вводятся в виде текстовых строк, то ЛЕВСИМВ будет работать без проблем, как показано в правой части скриншота:
Вот как можно использовать функцию ЛЕВСИМВ в Excel.
Все описанные выше операции, а также многие другие действия с текстовыми значениями в Excel вы можете выполнить при помощи специального инструмента работы с текстом, включённого в надстройку Ultimate Suite. Вот только некоторые из этих возможностей: удалить лишние пробелы и ненужные символы, изменить регистр текста, подсчитать буквы и слова, добавить один и тот же текст в начало или конец всех ячеек в диапазоне, преобразовать текст в числа, разделить по ячейкам, извлечь отдельные слова, найти дубликаты слов.