Как возвратить символы в excel

  • Первые N символов – формула в Excel
  • Разбить столбец по количеству символов
  • Извлечь первые символы автозаполнением
  • Извлечь первые символы с помощью регулярных выражений
  • Оставить первые / последние N символов в строке в 1 клик

Простейшая задача – взять и отделить от ячейки первый символ, скопировав его в соседний столбец. Или выбрать и оставить в ней первые 2, 3, 4… N символов.

Например, в строках переменной длины первые 6 символов – определенный цифровой код, который нужно скопировать в отдельный столбец.

Или задача является частью другой, где нужно сделать первую букву ячейки заглавной, а для этого, ее нужно вытащить из ячейки.

Рассмотрим все известные решения, снабдив их примерами. Итак, поехали.

Вытащить первый символ или N символов ячейки формулой проще простого. И есть даже 2 функции Excel, которые в этом помогут:

  1. ЛЕВСИМВ;
  2. ПСТР.

А так будут выглядеть формулы, извлекающие первые N символов из ячейки A1. Подставьте свое число вместо N, чтобы формулы работали:

Заметное отличие первой функции от второй — в отсутствии параметра, отвечающего за позицию, с которой начинается извлечение. Поэтому, если вычислить позицию первого вхождения определенного символа в ячейке, с помощью этой функции можно извлечь его, даже если он не является первым символом строки.

Например:

  • извлечь текст после цифр
  • извлечь первые N цифр
  • сделать первую букву ячейки заглавной

Разбить столбец по количеству символов

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

извлечение первых символов разбивкой текста по столбцам

Разбиваем столбец на два, оставляя в нем первые 6 символов и переносим оставшиеся в соседний

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

  • разбивка по столбцам не сохраняет исходный столбец
  • это единоразовая процедура, в отличие от формул, которые пересчитываются при обновлении данных
  • удобный момент — одна процедура создает сразу несколько столбцов
  • направление разбивки — только вправо
  • если справа есть данные, они могут быть перезаписаны, если не отменить операцию и не создать пустой столбец/столбцы.

Извлечь первые символы автозаполнением

Автозаполнение – замечательная процедура в Excel. Алгоритм действий прост.

  1. Заполняем пару ячеек соседнего столбца вручную;
  2. Уже при вводе третьей может быть предложено автозаполнение;
  3. Если согласны – жмём клавишу Ввод (Enter).

Однако с этой процедурой нужно быть осторожным. Алгоритм, который используется при автозаполнении, не показывается, поэтому результат может не соответствовать ожиданиям. Обычно алгоритм можно «доучить», чтобы он понял, что от него хотят.

пример работы автозаполнения в Excel

Автозаполнение предлагает извлечь все цифры вначале строки, а не первые две, но алгоритм можно “доучить”.

Извлечь первые символы с помощью регулярных выражений

Чтобы выбрать из строки символы по регулярным выражениям, в Google Spreadsheets доступна функция REGEXEXTRACT. Там она существует уже очень давно.

А вот Microsoft не столь серьезно озадачились вопросом – официально регулярные выражения в Excel существуют только как подключаемый модуль VBA. Поэтому доступны очень узкому кругу посвященных специалистов с навыками программирования на нем.

Чтобы сделать их необычайно гибкий синтаксис доступным обычным пользователям, я включил их поддержку в формулы и процедуры своей надстройки !SEMTools.

Подробно тут – регулярные выражения в Excel и примеры регулярных выражений. А ниже на картинке – примеры формул, которые позволят извлечь первые N символов, в том числе букв или цифр по отдельности, из любой ячейки.

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

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

Оставить первые / последние N символов в строке в 1 клик

Ну и напоследок – на панели !SEMTools доступны процедуры, позволяющие максимально легко и быстро выбрать первые или последние символы из ячеек.

Можно выделять одну ячейку, несколько, целый столбец или даже несколько несвязанных диапазонов – процедура обработает все выделенные данные. При желании можно вернуться назад на 1 шаг.

Если активна опция «Выводить результат справа», исходные данные не меняются, а извлеченные символы выводятся в соседний столбец/столбцы.

Смотрите демонстрацию ниже:

Как взять первые символы из ячеек Excel с помощью !SEMTools

Берем и вытаскиваем из произвольных ячеек первые / последние символы в 1 клик

Процедуры доступны в полной версии надстройки, но попробовать можно и бесплатно.

Жмите кнопку ниже, чтобы скачать и подключить надстройку к вашему Excel! Процедура займет всего пару минут.

Если вы оказались на этой странице, то наверняка сталкиваетесь с другими похожими задачами.
Сотни инструментов надстройки для Excel !SEMTools помогут решить эти задачи буквально в один клик!

 

Доброго вечера!  
Подскажите пожалуйста. Нужно вернуть все символы слева до ‘(штриха) или до +(плюса), что раньше встретится, но как?  

  Типа =ЛЕВСИМВ(A1;ПОИСК(ИЛИ(«+»;»‘»)A1)-1)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Там еще один знак :)  

  МИН(ПОИСК({«+»;»‘»;»»»»};B2&»‘+»»»))

 

Спасибо, Виктор!  
Я ошибся, подразумевался не ещё один знак «(кавычки), а »(два штриха).  
Значит, конечная формула такая  

  =ЛЕВСИМВ(B2;МИН(ПОИСК({«+»;»‘»};B2&»‘+»»»))-1)  

  А зачем надо к B2 прибавлять перечень всех знаков (B2&»‘+»»»)?  
Объясните пожалуйста.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

=ПСТР(B2;1;МИН(ПОИСК({«+»;»‘»;»»»»};B2&»‘+»»»))-1)  
Объединение B2&»‘+»»» помогает избежать ошибки при отсутствии знака (хоть всех) в тексте ячейки, ведь в объединенной строке все знаки есть.

 

Понятно, спасибо!  

  Значит,    
ПОИСК({«+»;»‘»;»»»};B2)    
ищет все эти знаки и если хоть одного не находит, то ошибка #ЗНАЧ!.    
А возвращает позицию только одного знака, который первым встретится.  

  Странная логика формулы: «вернуть позицию первого из перечисленных знаков, но пусть они все обязательно присутствуют». А зачем всем-то присутствовать?  
Да ладно, главное понял логику, хоть и странную.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Для лучшего восприятия переставим знаки:  
ПОИСК({«‘»;»+»;»»»»};B2)  
Результат работы — не одно значение, а массив {#ЗНАЧ!;4;#ЗНАЧ!}  
ПСТР(ЛЕВСИМВ) просят только одно значение, поэтому из массива нужно вычленить нужное, в нашем случае минимальное:  
МИН({#ЗНАЧ!;4;#ЗНАЧ!}) при наличии ошибки в массиве тоже покажет ошибку.  
Самый простой способ избежать ошибки — подсунуть функции знаки в конце текста:  
ПОИСК({«‘»;»+»;»»»»};B2&»‘+»»»)  
Теперь массив выглядит красивее: {7;4;9}  

  =ЛЕВСИМВ(«12345»;МИН(ПОИСК({«‘»;»+»;»»»»};»12345″&»‘+»»»))-1)  
=ЛЕВСИМВ(«12345»;МИН({6;7;8})-1)  
=ЛЕВСИМВ(«12345»;5)

 

Логика немного другая. Формула ПОИСК({«+»;»‘»;»»»};B2) возвращает массив  

  {4;#ЗНАЧ!;#ЗНАЧ!}  

  , а функция МИН ищет минимальное число. Но если среди аргументов МИН есть ошибка, она возвращает ошибку. Можно написать так:  

  =ПСТР(B2;1;МИН(ЕСЛИ(ЕОШИБКА(ПОИСК({«+»;»‘»;»»»»};B2));999;ПОИСК({«+»;»‘»;»»»»};B2)))-1)  

  , но Виктор предложил более изящное решение.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Аккуратнее, в варианте с ЕСЛИ важен одинаковый порядок в массиве констант для функции ПОИСК.

 

Благодарю за столь подробные объяснения!  
Теперь всё стало понятно.

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

=ПСТР(B3;1;НАИМЕНЬШИЙ(ЕСЛИ((ПОИСКПОЗ(КОДСИМВ(ПСТР(B3;СТРОКА($1:$10);1)&1);{0;48;52})=1)*СТРОКА($1:$10)>0;СТРОКА($1:$10));1)-1)  

  Как вариант. Да тяжеловат, но построен на том, что находит все символы не относящиеся к числам.

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

Извиняюсь, не ту формулу скопировал.  

  =ПСТР(B2;1;НАИМЕНЬШИЙ(ЕСЛИ((ПОИСКПОЗ(КОДСИМВ(ПСТР(B2;СТРОКА($1:$10);1)&1);{0;47;58})={1;3})*СТРОКА($1:$10)>0;СТРОКА($1:$10));1)-1)

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Прошу прощения, что поднял старую тему, но у меня возник подобный вопрос.  
В своих файлах я иногда использую ВЭБ-запросы и получается так, что текст типа  
Локомотив — Динамо  
или  
Спартак (Нч) — Кр. Советов  
копируются в одну ячейку.  
Мне нужно разделить текст таким образом, чтобы названия команд были в разных ячейках.  
Покрутил выложеные здесь и на других вктках формулы, но…  
Т.е. мне нужно в одной ячейке отобразить текст до тире, а в следующей после тире.

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

Данные — Текст по столбцам.

 

Юрий М  
Во-первых, почему-то не получается. Видимо, импортируемое тире чем-то отличается от обычного, скорее длиной, и как такое тире набрать на клаве даже не знаю…)  
Во-вторых, файл обновляется по запросу при загрузке и каждый раз ходить в меню Данные как-то не с руки здесь нужно выходить при помощи формул…

 

CTRL+H  
НАЙТИ —  
ЗАМЕНИТЬ —

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

Да — попробуйте в НАЙТИ вставить СКОПИРОВАННОЕ «тире» :-)

 

Да, замена скопированного тире на обычное работает. Я это сделал при помощи формулы =Подставить().  
Но это решает только вопрос «во-первых».  
Меня больше волнует «во-вторых», где это можно проделать при помощи формул.  
Сейчас у меня вместо  
Спартак (Нч) — Кр. Советов  
при помощи подставить уже имеется    
Спартак (Нч) — Кр. Советов  
т.е. я поменял тире на обычное.

 

Daulet

Пользователь

Сообщений: 626
Регистрация: 01.01.1970

файл приложите  
у Вас тире в кол-ве разные, или один тире в ячейке

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=kola}{date=09.05.2012 11:37}{thema=}{post}Спартак (Нч) — Кр. Советов  
при помощи подставить уже имеется    
Спартак (Нч) — Кр. Советов  
т.е. я поменял тире на обычное.{/post}{/quote}  
А вот теперь выделяете столбец (диапазон) и Текст по столбцам. Разделителем ставите дефис.

 

Daulet

Пользователь

Сообщений: 626
Регистрация: 01.01.1970

Если у Вас данные начинается с A1  
=ЕСЛИОШИБКА(ПОДСТАВИТЬ(ПРАВСИМВ(ПСТР(«-«&$A$1&»-«;1;ПОИСК(«/»;ПОДСТАВИТЬ(«-«&$A$1&»-«;»-«;»/»;СТОЛБЕЦ(B1))));ДЛСТР(ПСТР(«-«&$A$1&»-«;1;ПОИСК(«/»;ПОДСТАВИТЬ(«-«&$A$1&»-«;»-«;»/»;СТОЛБЕЦ(B1)))))-ПОИСК(«/»;ПОДСТАВИТЬ(«-«&$A$1&»-«;»-«;»/»;СТОЛБЕЦ(A1))));»-«;);»»)  

  СТОЛБЕЦ(A1) и СТОЛБЕЦ(B1) не меняете.  
еще / знака не должен быть в ячейках, если есть тогда замените все / знаки на другой как Вам угодно

 

Юрий М  
Это я уже проделал и всё получилось. Я уже об этом сказал.  
Меня интересует больше вариант с формулами. Причины этого я уже объяснил.  
Если допустить, что в ячейке С3 находится исходный текст    
Спартак (Нч) — Кр. Советов  
то я, кажись смог выделить первую команду при помощи формулы  
=ПОДСТАВИТЬ(ПСТР(C3;1;ПОИСК(«/»;ПОДСТАВИТЬ(C3;»-«;»/»))-1);» «;»»)  
и у меня получилось  
Спартак (Нч)  
Теперь нужно выделить в отдельную ячейку    
Кр. Советов  
пример прикладываю

 

Вообще-то при помощи  
=ПОДСТАВИТЬ(ПСТР(C3;1;ПОИСК(«/»;ПОДСТАВИТЬ(C3;»-«;»/»))-1);» «;»»)  
у меня полилось  
Спартак(Нч)  
без пробела между Спартак и (Нч), а єто нежелательно…

 

Daulet

Пользователь

Сообщений: 626
Регистрация: 01.01.1970

=ПСТР(C2;1;ПОИСК(» — «;C2)-1)  
=ПОДСТАВИТЬ(C2;E2&» — «;»»)

 

ABC  
Да, просто и со вкусом…))  
Спасибо! а то у меня получались 3-х этажные формулы…))  
Еще раз благодарю!

 

Прошу прощения, что опять будоражу эту тему, но у меня возник вопросЮ как выделить текст, который находится в скобках.  
К примеру, при помощи ВЭБ-запроса я в ячейке получил  
Боргес да Сільва Вілліан (Вілліан)  
а мне нужно только    
Вілліан  
Я, вроде, всё сделал, но слишком длинный путь при этом пришлось сделать.  
Можно ли это проделать одной формулой?  
Пример прилагаю.

 

k61

Пользователь

Сообщений: 2441
Регистрация: 21.12.2012

 
 

ikki

Пользователь

Сообщений: 9709
Регистрация: 22.12.2012

=ЕСЛИ(НАЙТИ(«(«;C7);ПСТР(C7;НАЙТИ(«(«;C7)+1;НАЙТИ(«)»;C7)-НАЙТИ(«(«;C7)-1);C7)  
(по файлу post_334820.xls)

фрилансер Excel, VBA — контакты в профиле
«Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Мо и фо…  
=ПОДСТАВИТЬ(ПСТР(C7;ПОИСК(«(«;C7)+1;20);»)»;)  
Без проверки на отсутствие скобок.  

  Ваш файл удален. Не издевайтесь.  
40 Кб в архиве для такого вопроса? Лень было две ячейки заполнить с именами со скобками? Учтите на будущее.

 

k61

Пользователь

Сообщений: 2441
Регистрация: 21.12.2012

#30

16.05.2012 09:49:54

Александр, Вам письмо.

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции СИМВОЛ в Microsoft Excel.

Описание

Возвращает знак с заданным кодом. Функция СИМВОЛ позволяет преобразовать числовые коды знаков, которые получены из файлов с других компьютеров, в знаки данного компьютера.

Операционная среда

Таблица знаков

Macintosh

Набор знаков Macintosh

Windows

ANSI

Набор символов ANSI — это стандартный набор символов, используемый в операционных системах Windows до Windows 95 и Windows NT, после чего был принят Юникод. AnSI состоит из 218 символов, многие из которых имеют одинаковые числимые коды, что и в форматах ASCII и Юникода. https://www.techopedia.com/definition/932/ansi-character-set

Синтаксис

СИМВОЛ(число)

Аргументы функции СИМВОЛ описаны ниже.

  • Число    — обязательный аргумент. Число от 1 до 255, определяющее нужный знак. Знаки выбираются из набора знаков компьютера.

    Примечание: 
    Excel в Интернете поддерживается только СИМВОЛ(9), СИМВОЛ(10), СИМВОЛ(13) и СИМВОЛ(32) и выше.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

=СИМВОЛ(65)

Отображает знак под номером 65 в наборе знаков компьютера.

A

=СИМВОЛ(33)

Отображает знак под номером 33 в наборе знаков компьютера.

!

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

Содержание

  1. Иероглифы в Excel вместо текста
  2. Иероглифы в Excel
  3. Вариант №2
  4. Извлечь первые N символов ячейки Excel
  5. Первые N символов – формула в Excel
  6. Разбить столбец по количеству символов
  7. Извлечь первые символы автозаполнением
  8. Извлечь первые символы с помощью регулярных выражений
  9. Оставить первые / последние N символов в строке в 1 клик
  10. Excel works!
  11. Excel works!
  12. Каракули и иероглифы в Excel
  13. Каракули и иероглифы в Excel. Неверная кодировка
  14. Неверная кодировка при получении данных из внешних источников. Открытие CSV файлов
  15. Открываем не той программой
  16. Как добавить символы-иероглифы в тексте?
  17. Столбцы в Excel стали цифрами, как вернуть буквенное обозначение
  18. Возвращаем столбцам Excel буквенное обозначение
  19. Видео «Столбцы в Excel стали цифрами, что делать»

Иероглифы в Excel вместо текста

Иероглифы в Excel

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

Для того, чтобы избежать этого нужно:

  • на вкладке «Данные», в блоке «Получение внешних данных» — нажать кнопку «Из текста»;
  • указать файл из которого нужно получить информацию;
  • затем в разделе «Формат данных» выбрать нужный вариант «С разделителями» или «Фиксированной ширины»;
  • в поле «Формат файла» изменить кодировку на «Юникод Windows», нажать «Далее»;
  • если раннее был выбран вариант «С разделителями», то на этом шаге можно выбрать символ (табуляция, точка, пробел и т.д.), нажать «Далее»;
  • на последнем шаге нужно определиться с форматом импортированных ячеек (Общий, текстовый, Дата), нажать «Готово».

Вариант №2

Можно попробовать пересохранить файл с иероглифами в нужной кодировке:

  • «Файл» — > «Сохранить как»;
  • щёлкаем по треугольнику после кнопки «Сервис»;

  • выбираем пункт «Параметры веб-документа»;
  • переходим на закладку «Кодировка» и выбираем вместо Кириллицы Юникод (UTF-8), жмём «ОК».

Иероглифы в Excel исчезнут!

Если остались вопросы — смотрите в наше новое видео!

Источник

Извлечь первые N символов ячейки Excel

Простейшая задача – взять и отделить от ячейки первый символ, скопировав его в соседний столбец. Или выбрать и оставить в ней первые 2, 3, 4… N символов.

Например, в строках переменной длины первые 6 символов – определенный цифровой код, который нужно скопировать в отдельный столбец.

Или задача является частью другой, где нужно сделать первую букву ячейки заглавной, а для этого, ее нужно вытащить из ячейки.

Рассмотрим все известные решения, снабдив их примерами. Итак, поехали.

Первые N символов – формула в Excel

Вытащить первый символ или N символов ячейки формулой проще простого. И есть даже 2 функции Excel, которые в этом помогут:

А так будут выглядеть формулы, извлекающие первые N символов из ячейки A1. Подставьте свое число вместо N, чтобы формулы работали:

Заметное отличие первой функции от второй — в отсутствии параметра, отвечающего за позицию, с которой начинается извлечение. Поэтому, если вычислить позицию первого вхождения определенного символа в ячейке, с помощью этой функции можно извлечь его, даже если он не является первым символом строки.

  • извлечь текст после цифр
  • извлечь первые N цифр
  • сделать первую букву ячейки заглавной

Разбить столбец по количеству символов

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

Разбиваем столбец на два, оставляя в нем первые 6 символов и переносим оставшиеся в соседний

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

  • разбивка по столбцам не сохраняет исходный столбец
  • это единоразовая процедура, в отличие от формул, которые пересчитываются при обновлении данных
  • удобный момент — одна процедура создает сразу несколько столбцов
  • направление разбивки — только вправо
  • если справа есть данные, они могут быть перезаписаны, если не отменить операцию и не создать пустой столбец/столбцы.

Извлечь первые символы автозаполнением

Автозаполнение – замечательная процедура в Excel. Алгоритм действий прост.

  1. Заполняем пару ячеек соседнего столбца вручную;
  2. Уже при вводе третьей может быть предложено автозаполнение;
  3. Если согласны – жмём клавишу Ввод ( Enter ).

Однако с этой процедурой нужно быть осторожным. Алгоритм, который используется при автозаполнении, не показывается, поэтому результат может не соответствовать ожиданиям. Обычно алгоритм можно «доучить», чтобы он понял, что от него хотят.

Автозаполнение предлагает извлечь все цифры вначале строки, а не первые две, но алгоритм можно “доучить”.

Извлечь первые символы с помощью регулярных выражений

Чтобы выбрать из строки символы по регулярным выражениям, в Google Spreadsheets доступна функция REGEXEXTRACT. Там она существует уже очень давно.

А вот Microsoft не столь серьезно озадачились вопросом – официально регулярные выражения в Excel существуют только как подключаемый модуль VBA. Поэтому доступны очень узкому кругу посвященных специалистов с навыками программирования на нем.

Чтобы сделать их необычайно гибкий синтаксис доступным обычным пользователям, я включил их поддержку в формулы и процедуры своей надстройки !SEMTools.

Подробно тут – регулярные выражения в Excel и примеры регулярных выражений. А ниже на картинке – примеры формул, которые позволят извлечь первые N символов, в том числе букв или цифр по отдельности, из любой ячейки.

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

Оставить первые / последние N символов в строке в 1 клик

Ну и напоследок – на панели !SEMTools доступны процедуры, позволяющие максимально легко и быстро выбрать первые или последние символы из ячеек.

Можно выделять одну ячейку, несколько, целый столбец или даже несколько несвязанных диапазонов – процедура обработает все выделенные данные. При желании можно вернуться назад на 1 шаг.

Если активна опция «Выводить результат справа», исходные данные не меняются, а извлеченные символы выводятся в соседний столбец/столбцы.

Смотрите демонстрацию ниже:

Берем и вытаскиваем из произвольных ячеек первые / последние символы в 1 клик

Процедуры доступны в полной версии надстройки, но попробовать можно и бесплатно.

Жмите кнопку ниже, чтобы скачать и подключить надстройку к вашему Excel! Процедура займет всего пару минут.

Если вы оказались на этой странице, то наверняка сталкиваетесь с другими похожими задачами.
Сотни инструментов надстройки для Excel !SEMTools помогут решить эти задачи буквально в один клик!

Источник

Excel works!

Excel работает за вас

Excel works!

Thanks for Visiting

Каракули и иероглифы в Excel

Почему появляются Каракули и иероглифы в Excel? У этой проблемы может быть несколько вариантов, соберу большинство решений в этой статье. Ну и заодно напишу, как добавлять и использовать символы-иероглифы в тексте.

Проблема с кодировкой часто возникает в разных программах. Кто выгружает данные из ИТ систем , уверен сталкивался с проблемой смены кодировки. Разберем и другие случаи

Каракули и иероглифы в Excel. Неверная кодировка

Если при открытии файла вы видите каракули/иероглифы в Excel, вам может помочь смена кодировки. Пересохраните файл следующим способом:

Нажав «Сохранить как», нажмите на кнопку Сервис и выберите Параметры веб-документа

На вкладке Кодировка выберите Юникод (UTF-8) или Кириллица (Windows)

Неверная кодировка при получении данных из внешних источников. Открытие CSV файлов

Если при вставке данных из других файлов или внешних источников получаются каракули/неизвестные символы, тоже рекомендуется уточнить кодировку. Сделать это можно следующим образом:

На ленте управления выберите вкладку Данные, а в разделе Получение внешних данных выберите нужный пункт.

Если вы вставляете обычные данные из файла, т.е. текст или таблицу, выберите Из текста

Укажите файл, из которого забираем данные, после выберите формат данных, а главное в разделе Формат файла выберите Юникод (UTF-8).

Что выбрать с разделителем или фиксированной ширины (шаг 1), а так же следующий шаг (шаг 2) подробно описан в этой статье.

В шаге 3 выбираем «Общий» формат данных.

Открываем не той программой

Так же я рекомендую проверить, какой именно программой вы открываете Excel-файл. Бывает, что книги 2010 формата Excel открываются в Excel 2003 (или более ранние версии) с измененным на иероглифы текстом. Подробнее про форматы Excel здесь .

Точно такая же проблема периодически возникает, если открывать сложные Excel-книги с большим набором данных через альтернативные табличные редакторы, такие как LibreOffice.Calc, Apache OpenOffice и другие.

Как добавить символы-иероглифы в тексте?

«С текстом у меня все в порядке, мне нужно вставить иероглиф/символ в Excel» — скажете вы. Чтобы вставить символ, перейдите на вкладку Вставка и в разделе Символы выберите Символ.

В таблице символов можно найти почти любой символ

Чтобы добавить его в текст, кликните по нему.

Источник

Столбцы в Excel стали цифрами, как вернуть буквенное обозначение

В один прекрасный день у меня в экселе все столбцы стали цифрами. Раньше они обозначались латинскими буквами, а тут вдруг стали цифрами. В принципе ничего страшного не произошло и формулы работают нормально, но я не люблю когда что-то само собой меняется и выходит из-под моего контроля. Поэтому пришлось порыться в настройках и вернуть всё на круги своя. то делать, если столбцы в Excel стали цифрами?

Чаще всего такие казусы происходят после сохранения данных 1С в формате Excel. Если у вас такая же проблема, то описываю способ её решения.

Возвращаем столбцам Excel буквенное обозначение

Есть несколько способов вернуть настройки столбцов Excel по умолчанию. Некоторые из них настолько мудреные, что создается впечатление какого волшебства, но мы пойдем самым простым и легким путем. Изменим настройки в параметрах самой программы.

Открываем программу Excel и переходим в её настройки: — Файл – Параметры

В открывшемся окне «Параметры» переходим на вкладку — Формулы -, и в блоке «Работа с формулами» снимаем галочку напротив записи « Стиль ссылок R1C1».

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

Видео «Столбцы в Excel стали цифрами, что делать»

Вот и все волшебство!

Источник

Skip to content

Как извлечь текст из ячейки при помощи функции ПСТР и специальных инструментов

ПСТР — одна из текстовых функций, которые Microsoft Excel предоставляет для управления текстовыми строками. На самом базовом уровне она используется для извлечения подстроки из середины текста. 

В этом руководстве мы обсудим синтаксис и особенности функции Excel ПСТР (в английской версии – MID), а затем вы узнаете несколько вариантов творческого её использования для выполнения сложных задач.

  • Синтаксис и особенности
  • Если 2 слова — извлекаем имя и фамилию
  • Как получить текст между двумя определенными символами
  • Как извлечь любое по счету слово
  • Получаем слово с нужными буквами или символами
  • Как заставить ПСТР возвращать число?
  • Использование регулярных выражений для извлечения части текста
  • Как извлечь текст из ячейки с помощью Ultimate Suite

Cинтаксис.

Функция ПСТР возвращает указанное количество знаков, начиная с указанной вами позиции.

Функция Excel ПСТР имеет следующие аргументы:

ПСТР(текст; начальная_позиция; количество_знаков)

Где текст — это исходная текстовая строка. Далее следует позиция первого символа, который вы хотите извлечь, и количество их для извлечения.

Все 3 аргумента обязательны.

Например, чтобы извлечь 6 знаков из A2, начиная с 17-го, используйте эту формулу:

=ПСТР(A2;17;6)

Результат может выглядеть примерно так:

5 вещей, которые вы должны знать о функции Excel ПСТР

Как вы только что убедились, в использовании функции ПСТР в Excel нет ничего страшного. И помня следующие простые факты, вы избежите наиболее распространенных ошибок.

  1. Функция ПСТР всегда возвращает текстовую строку, даже если извлеченная подстрока содержит только цифры. Это может иметь большое значение, если вы хотите использовать результат формулы ПСТР в других вычислениях. Чтобы преобразовать цифры в число, применяйте ПСТР в сочетании с функцией ЗНАЧЕН (VALUE в английской версии), как показано в этом примере. (ссылка на последний раздел).
  2. Когда начальная позиция больше, чем общая длина исходного текста, формула Excel ПСТР возвращает пустое значение («»).
  3. Если начальная позиция  меньше 1, формула ПСТР возвращает ошибку #ЗНАЧ!.
  4. Когда третий аргумент меньше 0 (отрицательное число), формула ПСТР возвращает ошибку #ЗНАЧ!. Если количество знаков для извлечения равно 0, выводится пустая строка (пустая ячейка).
  5. В случае, если сумма начальной позиции и количества знаков превышает общую длину исходного текста, функция ПСТР в Excel возвращает подстроку начиная с начальной позиции и до последнего символа.

При решении реальных задач в Excel вам чаще всего потребуется использовать ПСТР в сочетании с другими функциями, как показано в следующих примерах.

Как извлечь имя и фамилию.

Если у вас была возможность прочитать наши недавние уроки, вы уже знаете, как вытащить имя с помощью функции ЛЕВСИМВ и получить фамилию с помощью ПРАВСИМВ.  Но, как это часто бывает в Excel, одно и то же можно сделать разными способами.

Получаем имя.

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

=ПСТР(A2;1;ПОИСК(» «;A2)-1)

ПОИСК используется для сканирования исходного значения на предмет пробела (» «) и возврата его позиции, из которой вы вычитаете 1, чтобы избежать пробелов после имени. Затем вы используете ПСТР, чтобы вернуть подстроку, начинающуюся с первого знака и заканчивая предшествующим пробелу, таким образом извлекая первое имя.

Получаем фамилию.

Чтобы извлечь фамилию из A2, используйте эту формулу:

=СЖПРОБЕЛЫ(ПСТР(A2;ПОИСК(» «;A2);ДЛСТР(A2)))

Опять же, вы используете ПОИСК, чтобы определить начальную позицию (пробел). Нам не нужно точно рассчитывать конечную позицию (как вы помните, если вместе взятые начальная позиция и количество символов больше, чем общая длина текста, возвращаются просто все оставшиеся). Итак, в аргументе количество символов вы просто указываете общую первоначальную длину , возвращаемую функцией ДЛСТР . Впрочем, вместо этого вы можете просто ввести число, представляющее самую длинную фамилию, которую вы ожидаете найти, например 100. Наконец,  СЖПРОБЕЛЫ удаляет лишние интервалы, и вы получаете следующий результат:

Как выделить подстроку между двумя разделителями.

Продолжим предыдущий пример. А если, помимо имени и фамилии, ячейка A2 также содержит отчество, то как его извлечь?

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

  • Как и в предыдущем примере, используйте ПОИСК, чтобы определить позицию первого (» «), к которому вы добавляете 1, потому что вы хотите начать с символа, следующего за ним. Таким образом, вы получаете адрес начальной позиции: ПОИСК (» «; A2) +1
  • Затем вычислите позицию 2- го интервала, используя вложенные функции поиска, которые предписывают Excel начать поиск именно со 2-го:                                                  ПОИСК (» «; A2, ПОИСК (» «; A2) +1)

Чтобы узнать количество извлекаемых знаков, вычтите позицию первого пробела из положения второго. И затем еще вычтите 1 из результата, поскольку вам не нужны лишние интервалы в получившемся результате. Таким образом, у вас есть второй аргумент для формулы:          

ПОИСК(» «; A2; ПОИСК(» «; A2) +1) — ПОИСК(» «; A2)

Соединив все аргументы, мы получаем формулу для извлечения подстроки между двумя пробелами:

=ПСТР(A2;ПОИСК(» «;A2)+1;ПОИСК(» «;A2;ПОИСК(» «;A2)+1)-ПОИСК(» «;A2)-1)

На следующем скриншоте показан результат:

Аналогичным образом вы можете извлечь текст между любыми другими разделителями:

ПСТР( строка ; ПОИСК( разделитель ; строка ) +1; ПОИСК( разделитель ; строка ; ПОИСК( разделитель ; строка ) +1) — ПОИСК( разделитель ; строка ) -1)

Например, чтобы извлечь отрезок, выделенный запятой с пробелом после неё, используйте следующее выражение:

=ПСТР(A2;ПОИСК(«, «;A2)+1;ПОИСК(«, «;A2;ПОИСК(«, «;A2)+1)-ПОИСК(«, «;A2)-1)

На следующем рисунке эта формула используется для извлечения из адреса названия города, и она отлично справляется со своей задачей:

Как получить N-е слово из текста.

Этот пример демонстрирует оригинальное использование сложной формулы ПСТР в Excel, которое включает 5 различных составных частей:

  • ДЛСТР — чтобы получить общую длину.
  • ПОВТОР — повторение определенного знака заданное количество раз.
  • ПОДСТАВИТЬ — заменить один символ другим.
  • ПСТР — извлечь подстроку.
  • СЖПРОБЕЛЫ — удалить лишние интервалы между словами.

Общая формула выглядит следующим образом:

СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ( строка ; » «; ПОВТОР (» «; ДЛСТР( строка ))); ( N -1) * ДЛСТР( строка ) +1; ДЛСТР( строка )))

Где:

  • Строка — это исходный текст, из которого вы хотите извлечь желаемое слово.
  • N – порядковый номер слова, которое нужно получить.

Например, чтобы вытащить второе слово из A2, используйте это выражение:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ($A$2;» «;ПОВТОР(» «;ДЛСТР($A$2))); (2-1)*ДЛСТР($A$2)+1; ДЛСТР($A$2)))

Или вы можете ввести порядковый номер слова, которое нужно извлечь (N) в какую-либо ячейку, и указать эту ячейку в формуле, как показано на скриншоте ниже:

Как работает эта формула?

По сути, Excel «оборачивает» каждое слово исходного текста множеством пробелов, находит нужный блок «пробелы-слово-пробелы», извлекает его, а затем удаляет лишние интервалы. Чтобы быть более конкретным, это работает по следующей логике:

  • ПОДСТАВИТЬ и ПОВТОР заменяют каждый пробел в тексте несколькими. Количество этих дополнительных вставок равно общей длине исходной строки: ПОДСТАВИТЬ($A$2;» «;ПОВТОР(» «;ДЛСТР($A$2)))

Вы можете представить себе промежуточный результат как «астероиды» слов, дрейфующих в пространстве, например: слово1-пробелы-слово2-пробелы-слово3-… Эта длинная строка передается в текстовый аргумент ПСТР.

  • Затем вы определяете начальную позицию для извлечения (первый аргумент), используя следующее уравнение: (N-1) * ДЛСТР(A1) +1. Это вычисление возвращает либо позицию первого знака первого слова, либо, чаще, позицию в N-й группе пробелов.
  • Количество букв и цифр для извлечения (второй аргумент) — самая простая часть — вы просто берете общую первоначальную длину: ДЛСТР(A2).
  • Наконец, СЖПРОБЕЛЫ избавляется от начальных и конечных интервалов в извлечённом тексте.

Приведенная выше формула отлично работает в большинстве ситуаций. Однако, если между словами окажется 2 или более пробелов подряд, это даст неверные результаты (1). Чтобы исправить это, вложите еще одну функцию СЖПРОБЕЛЫ в ПОДСТАВИТЬ, чтобы удалить лишние пропуски между словами, оставив только один, например:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($A$2);» «; ПОВТОР(» «;ДЛСТР($A$2))); (B2-1)*ДЛСТР($A$2)+1; ДЛСТР($A$2)))

Следующий рисунок демонстрирует улучшенный вариант (2) в действии:

Если ваш исходный текст содержит несколько пробелов между словами, а также очень большие или очень короткие слова, дополнительно вставьте СЖПРОБЕЛЫ в каждое ДЛСТР, чтобы вы были застрахованы от ошибки:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($A$2);» «; ПОВТОР(» «;ДЛСТР(СЖПРОБЕЛЫ ($A$2)))); (B2-1)*ДЛСТР(СЖПРОБЕЛЫ($A$2))+1; ДЛСТР(СЖПРОБЕЛЫ($A$2))))

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

Извлекаем слово, содержащее определенный символ.

В этом примере показана еще одна нестандартная формула Excel ПСТР, которая извлекает слово, содержащее определенную букву или цифру, из любого места:

СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ ( строка , » «, ПОВТОР(» «, 99)), МАКС(1, НАЙТИ( символ , ПОДСТАВИТЬ( строка , » «, ПОВТОР(» «, 99))) — 50), 99))

Предполагая, что исходный текст находится в ячейке A2, и вы хотите получить слово, содержащее символ «$» (цена), выражение принимает следующую форму:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A2;» «;ПОВТОР(» «;99)); МАКС(1;НАЙТИ(«$»;ПОДСТАВИТЬ(A2;» «;ПОВТОР(» «;99)))-50);99))

Аналогичным образом вы можете извлекать адреса электронной почты (на основе знака «@»), имена веб-сайтов (на основе «www») и так далее.

Теперь разберём пошагово:

Как и в предыдущем примере, ПОДСТАВИТЬ и ПОВТОР превращают каждый пробел в исходном тексте в несколько, точнее, в 99.

НАЙТИ находит позицию нужного символа (в данном примере $), из которой вы вычитаете 50. Это возвращает вас на 50 позиций назад и помещает где-то в середине блока из 99 пробелов, который предшествует слову, содержащему указанный символ.

МАКС используется для обработки ситуации, когда нужное значение появляется в начале исходного текста. В этом случае результат ПОИСК() — 50 будет отрицательным числом, а МАКС(1, ПОИСК() — 50) заменяет его на 1.

С этой начальной точки ПСТР отбирает следующие 99 знаков и возвращает интересующее нас слово, окруженное множеством пробелов. Как обычно, СЖПРОБЕЛЫ помогает избавиться от лишних из них, оставив только один.

Совет. Если извлекаемый отрезок очень большой, замените 99 и 50 на более крупные числа, например 1000 и 500.

Как заставить ПСТР возвращать число?

Как и другие текстовые функции, Excel ПСТР всегда возвращает текст, даже если он содержит только цифры и очень похож на число. Вы можете убедиться с этом, взглянув на пример чуть выше, когда мы получили число «20%» как текст.

Чтобы преобразовать результат в число, просто передайте полученный результат в функцию ЗНАЧЕН (VALUE в английской версии), которая преобразует текстовое значение, состоящее из цифр, в число.

Например, чтобы извлечь подстроку из 3 символов, начинающуюся с 7- го символа, и преобразовать ее в число, используйте:

=ЗНАЧЕН(ПСТР(A2;7;3))

На скриншоте ниже показан результат. Обратите внимание, что числа с выравниванием по правому краю помещены в столбец B, в отличие от исходных текстовых значений с выравниванием по левому краю в столбце A:

Тот же подход работает и для более сложных случаев. В приведенном выше примере, предполагая, что коды ошибок имеют переменную длину, вы можете извлечь их с помощью ПСТР, которая получает подстроку между двумя разделителями, вложенную в ЗНАЧЕН:

=ЗНАЧЕН(ПСТР(A2;ПОИСК(«:»;A2)+1;ПОИСК(«:»;A2;ПОИСК(«:»;A2)+1)-ПОИСК(«:»;A2)-1))

Вот как можно использовать функцию ПСТР в Excel. 

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

Регулярное выражение – это шаблон, состоящий из последовательности символов, который можно использовать для поиска соответствующей последовательности в другой строке.

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

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

Вот пример: из наименования товара — Коммутатор Optimus U1E-8F/1G/1S, нужно извлечь номер модели. Поскольку этот номер находится в конце наименования, то будем искать то, что записано после последнего пробела.

= RegExpExtract(A1; «([^s.]+)$»)

В результате получим U1E-8F/1G/1S, что и требовалось.

Как извлечь текст из ячейки с помощью Ultimate Suite

Как вы только что видели, Microsoft Excel предоставляет набор различных функций для работы с текстовыми строками. Если вам нужно извлечь какое-то слово или часть текста из ячейки, но вы не уверены, какая функция лучше всего подходит для ваших нужд, передайте работу Ultimate Suite for Excel. Заодно не придётся возиться с формулами.

Вы просто переходите на вкладку Ablebits Data > Текст, выбираете инструмент Split Text и в выпадающем списке нажимаете Извлечь (Extract) :

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

  1. Укажите, сколько символов вы хотите получить из начала, конца или середины строки; или выберите извлечение всего текста до или после определенного символа.
  2. Щелкните Вставить результаты (Insert Results). Готово!

Кроме того, вы можете извлечь любое число символов с начала или в конце текста, из середины текста, между какими-то символами. Например, чтобы извлечь доменные имена из списка адресов электронной почты, вы выбираете чекбокс Все после текста (All after text) и вводите @ в поле рядом с ним. Чтобы извлечь имена пользователей, выберите переключатель Все до текста (All before text), как показано на рисунке ниже.

Помимо скорости и простоты, инструмент «Извлечь текст» имеет дополнительную ценность — он поможет вам изучить формулы Excel в целом и функции подстроки в частности. Как? Выбрав флажок Вставить как формула (Insert as formula)  в нижней части панели, вы убедитесь, что результаты выводятся в виде формул, а не просто как значения. Естественно, эти формулы вы можете использовать в других таблицах.

В этом примере, если вы выберете ячейки B2 и C2, вы увидите следующие формулы соответственно:

  • Чтобы извлечь имя пользователя:

=ЕСЛИОШИБКА(ЛЕВСИМВ(A2,ПОИСК(«@»,A2)-1),»»)

  • Чтобы извлечь домен:

=ЕСЛИОШИБКА(ПРАВСИМВ(A2, ДЛСТР(A2)- ПОИСК(«@»,A2) — ДЛСТР(«@») + 1),»»)

Сколько времени вам потребуется, чтобы самостоятельно составить эти выражения?  ;)

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

Если вам интересно попробовать это, а также множество других полезных функций, включенных в Ultimate Suite for Excel, вы можете загрузить ознакомительную версию. Если вам нравятся инструменты, вы можете получить лицензию по очень специальной цене, которая доступна только для наших русскоязычных пользователей.

Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как быстро извлечь число из текста в Excel В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Как удалить пробелы в ячейках Excel Вы узнаете, как с помощью формул удалять начальные и конечные пробелы в ячейке, лишние интервалы между словами, избавляться от неразрывных пробелов и непечатаемых символов. В чем самая большая проблема с…
Функция СЖПРОБЕЛЫ — как пользоваться и примеры Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…

Понравилась статья? Поделить с друзьями:
  • Как возвести экспоненту в степень в excel
  • Как возвести в куб в excel
  • Как возводить числа в степень в excel
  • Как возвести число в степень в word
  • Как возвести в квадрат число в word