Как закодировать текст в эксель на основе линейки символов
Таблица ниже приводит общий перечень и краткое описание соответствующих функций для работы с текстом в Excel.
Функция и ее синтаксис | Краткое описание работы |
---|---|
СИМВОЛ(число) | Возвращает знак с заданным числовым кодом |
ПЕЧСИМВ (текст) | Удаляет все непечатаемые знаки из текста. Функция ПЕЧСИМВ используется в том случае, когда текст, импортированный из другого приложения, содержит знаки, печать которых невозможна |
КОДСИМВ (текст) | Возвращает числовой код первого знака во введенной текстовой строке |
СЦЕПИТЬ (текст1; текст2;…) | Объединяет две или более текстовых строк в одну |
РУБЛЬ (число; число_знаков) | Функция преобразует число в текстовый формат и добавляет к нему обозначение денежной единицы рубль (р.) |
СОВПАД (текст1; текст2) | Сравнивает две строки текста и возвращает значение ИСТИНА, если они в точности совпадают, и ЛОЖЬ — в противном случае. Функция учитывает регистр, но игнорирует различия в форматировании |
НАЙТИ (искомый_текст; просматриваемый_текст; нач_позиция) | Функция находит вхождение одной текстовой строки в другой строке (с учетом регистра) и возвращает начальную позицию первой строки относительно крайнего левого знака второй строки |
ФИКСИРОВАННЫЙ (число; число_знаков; без_разделителей) | Округляет число до заданного количества десятичных цифр, форматирует число в десятичном формате с использованием запятой и разделителей тысяч и возвращает результат в виде текста |
ЛЕВСИМВ (текст; количество_знаков) | Функция ЛЕВСИМВ возвращает первые знаки текстовой строки, исходя из заданного количества знаков |
ДЛСТР (текст) | Функция ДЛСТР возвращает количество знаков в текстовой строке |
СТРОЧН (текст) | Преобразует знаки в текстовой строке из верхнего регистра в нижний |
ПСТР (текст; начальная_позиция; число_знаков) | Функция ПСТР возвращает указанное число знаков из текстовой строки, начиная с указанной позиции |
ПРОПНАЧ (текст) | Первая буква в строке текста и все первые буквы, следующие за знаками, отличными от букв, преобразуются в прописные (верхний регистр). Все прочие буквы в тексте преобразуются в строчные (нижний регистр) |
ЗАМЕНИТЬ (старый_текст;нач_поз; число_знаков;новый текст) | Функция ЗАМЕНИТЬ замещает указанную часть знаков текстовой строки другой строкой текста |
ПОВТОР (текст; число_повторений) | Повторяет текст заданное число раз. Функция ПОВТОР используется для заполнения ячейки заданным количеством вхождений текстовой строки |
ПРАВСИМВ (текст; число_знаков) | Функция ПРАВСИМВ возвращает заданное число последних знаков текстовой строки |
ПОИСК (искомый_текст; текст_для_поиска; нач позиция) | Функция находит одну текстовую строку внутри второй текстовой строки (без учета регистра) и возвращает номер начальной позиции первой строки, отсчитывая его от первого знака второй строки |
ПОДСТАВИТЬ (текст; стар_текст; нов_текст; номер_вхождения) | Подставляет значение аргумента «нов_текст» вместо значения аргумента «стар_текст» в текстовой строке. Функция ПОДСТАВИТЬ используется, когда нужно заменить определенный текст в текстовой строке |
Т (значение) | Возвращает текст, ссылка на который задается аргументом «значение» |
ТЕКСТ (значение; формат) | Преобразует значение в текст в заданном числовом формате заданном |
СЖПРОБЕЛЫ (текст) | Удаляет из текста все пробелы, за исключением одиночным пробелов между словами |
ПРОПИСН (текст) | Делает все буквы в тексте прописным |
ЗНАЧЕН (текст) | Преобразует строку текста, отображающую число, в число |
Новые публикации
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще. Меньше
Чтобы просмотреть более подробные сведения о функции, щелкните ее название в первом столбце.
Примечание: Маркер версии обозначает версию Excel, в которой она впервые появилась. В более ранних версиях эта функция отсутствует. Например, маркер версии 2013 означает, что данная функция доступна в выпуске Excel 2013 и всех последующих версиях.
Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полноширинные (двухбайтовые) знаки в полуширинные (однобайтовые).
Преобразует число в текст, используя денежный формат ß (БАТ).
Возвращает символ с заданным кодом.
Удаляет из текста все непечатаемые символы.
Возвращает числовой код первого знака в текстовой строке.
Объединяет текст из нескольких диапазонов или строк, но не добавляет разделитель или аргументы IgnoreEmpty.
Объединяет несколько текстовых элементов в один.
DBCS
Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полуширинные (однобайтовые) знаки в текстовой строке в полноширинные (двухбайтовые).
Преобразует число в текст, используя денежный формат рубля.
Проверяет идентичность двух текстовых значений.
Ищет вхождения одного текстового значения в другом (с учетом регистра).
Форматирует число и преобразует его в текст с заданным числом десятичных знаков.
Возвращают крайние слева знаки текстового значения.
Возвращают количество знаков в текстовой строке.
Преобразует все буквы текста в строчные.
Возвращают заданное число знаков из строки текста, начиная с указанной позиции.
ЧЗНАЧ
Преобразует текст в число независимо от языкового стандарта.
Извлекает фонетические (фуригана) знаки из текстовой строки.
Преобразует первую букву в каждом слове текста в прописную.
Заменяют знаки в тексте.
Повторяет текст заданное число раз.
Возвращают крайние справа знаки текстовой строки.
Ищут вхождения одного текстового значения в другом (без учета регистра).
Заменяет в текстовой строке старый текст новым.
Преобразует аргументы в текст.
Форматирует число и преобразует его в текст.
Объединяет текст из нескольких диапазонов или строк, вставляя между текстовыми значениями указанный разделитель. Если в качестве разделителя используется пустая текстовая строка, функция эффективно объединит диапазоны.
Удаляет из текста пробелы.
ЮНИСИМВ
Возвращает символ Юникод, на который ссылается заданное числовое значение.
UNICODE
Возвращает число (кодовую страницу), которая соответствует первому символу текста.
Преобразует все буквы текста в прописные.
Преобразует текстовый аргумент в число.
Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.
Для кодирования символов в unicode в программе Excel используется функция UNICODE. Она предназначена для выполнения преобразования первого символа строки в соответствующее ему кодовое (числовое) значение согласно таблице стандарта кодировки Юникод, и возвращает соответствующее числовое значение.
Unicode – распространенный стандарт кодирования символов, содержащий символы практически всех языков мира. Является наиболее востребованным стандартом для сервисов в глобальной сети и программных продуктов, используемых на локальных устройствах.
Примеры использования функции UNICODE для кодирования символов в Excel
Пример 1. В таблице введены несколько букв русского алфавита. Необходимо в смежном столбце вывести численные представления указанных символов в кодировке Юникод.
Чтобы вывести сразу все значения, выделим ячейки B1:B7 и запишем следующую формулу, а для подтверждения нажмем комбинацию клавиш CTRL+Enter:
Как видно из данного примера в кодировке Юникод каждый символ букв кириллицы кодируется в четырехзначное число.
Кодирование и представление символов чисел и в кодировке Юникод
Пример 2. Вывести массив случайных чисел от 0 до 9, создать массив кодов Unicode для данных чисел. Определить, существует ли между ними взаимосвязь (визуально с помощью графика).
Вид таблицы со столбцом, заполненным случайными числами:
Для заполнения столбца была использована функция СЛУЧМЕЖДУ(0;9). При любом действии на листе Excel, данная функция выполняет пересчет значений. Чтобы получить статические данные, полученные числа были скопированы и вставлены в ячейки с использованием инструмента Специальная вставка -> значения.
Вычислим значения кодов Unicode с помощью формулы:
На основании данного графика можно сделать вывод: для больших значений чисел предусмотрены большие значения кодов, то есть нумерация в таблице Unicode идет последовательно для числовых значений (что, собственно, и так очевидно).
Посимвольное кодирование паролей в Excel
Пример 3. Создать простой способ шифрования пароля цифрами. В таблице есть несколько вариантов паролей, записать в смежном столбце их числовые шифры.
Вид таблицы данных:
Чтобы автоматизировать процедуру шифрования, необходима следующая логика:
- Функция, выполняющая разбивку строки на отдельные символы.
- При переборе каждого символа из массива выполняется преобразование в числовое представление Юникод.
- Формирование новой строки из численных представлений символов.
Для такой задачи рационально использовать макросы VBA. С помощью функций Excel можно реализовать полу ручной подход:
- Разбивка на символы с помощью функции ПСТР и запись символов в отдельные ячейки.
- Преобразование с помощью функции UNICODE.
- Создание новой строки с использованием функции СЦЕП.
Получим массивы символов для каждого из паролей:
Функция ПСТР возвращает часть строки, ограниченную номерами позиций символов, указанных в качестве второго и третьего аргумента. Поскольку требуется вывести 1 символ, третий аргумент принимает значение 1. Функция ЧИСЛСТОЛБ($A$2:G$2) с зафиксированными ячейками (символ $) возвращает требуемый номер столбца, соответствующий номеру символа в строке.
Растянем данную формулу по строке и получим следующее:
Для получения шифра первого пароля используем следующую формулу массива:
Данная формула была записана в ячейку B7, поскольку формулы массивов не могут выполняться в объединенных ячейках. Аналогично сгенерируем шифры для остальных паролей:
Недостаток метода состоит в том, что для дешифрации (обратного преобразования) требуются ключи, указывающие на количество цифр, соответствующих числовому обозначению символа в Юникод.
Особенности кодирования с использованием функции UNICODE в Excel
Функция имеет следующую синтаксическую запись:
Единственным аргументом, обязательным для заполнения, является текст – текстовая строка или один символ, для которого требуется определить соответствующее числовое значение кодировки Юникод.
Функция ЛЕВСИМВ в Excel используется для получения части текста и возвращает заданное количество символов текстовой строки, при этом отсчет символов начинается слева.
Как вырезать часть текста из строки функцией ЛЕВСИМВ в Excel?
Пример 1. В таблице Excel содержатся имена переменных вместе с текстом, определяющим их тип данных. Необходимо выделить только названия переменных и записать их в отдельный столбец.
Исходная таблица данных:
Для выделения первого символа, которым является искомое название переменной, используем формулу:
Второй равен 1 по умолчанию, поэтому функция возвращает первый символ. Аналогично выделим названия переменных из других строк. В результате получим:
Как видно на рисунке с помощью функции ЛЕВСИМВ получилось вытащить левую часть текста из каждой ячейки по одному (первому) символу.
Как вытащить часть текста из ячейки в Excel используя функцию ЛЕВСИМВ?
Пример 2. В таблицу Excel подтягиваются данные из другого программного продукта. Одно из полей данных получило ошибку. Для обработки ошибки необходимо выделить ее код и описание из строки.
Выделим код ошибки с помощью следующей формулы:
- ЛЕВСИМВ(B5;НАЙТИ("3";B5)+1) – функция, выделяющая часть текстовой строки слева, количество символов в которой соответствуют порядковому номеру символа «3» (функция НАЙТИ выполняет поиск порядкового номера этого символа и возвращает соответствующее значение). Единица (+1) добавлена для выделения всего кода ошибки.
- 2 – количество символов, которые вернет функция ПРАВСИМВ, работающая аналогично рассматриваемой ЛЕВСИМВ (отличие – возвращает символы справа, а не слева строки).
В результате получим:
Выделим часть текста ошибки:
В данном случае удобнее использовать ПРАВСИМВ, которая является, по сути, зеркальным отражением ЛЕВСИМВ. Для определения второго аргумента используется запись ДЛСТР(B5)-НАЙТИ(":";B5)-1, определяющая позицию символа «u» в слове «unknown» (единица вычтена для удаления пробела).
В результате получим:
Округление чисел текстовыми функциями в текстовой строке
Пример 3. Создать функцию для округления дробных чисел до ближайших целых значений с использованием формул для работы с текстом.
Форма для округления числовых значений имеет следующий вид:
В ячейке B3 введена следующая сложная формула:
=5,ЛЕВСИМВ(A2+1,НАЙТИ(".",A2)-1),ЛЕВСИМВ(A2,НАЙТИ(".",A2)-1)),"Число не введено")' >
- Первая функция ЕСЛИ проверяет с помощью формулы ЕПУСТО, заполнена ли ячейка, которая должна содержать значение, которое требуется округлить.
- Если число введено, запись ЧЗНАЧ(ПРАВСИМВ(ЛЕВСИМВ(B2;НАЙТИ(",";B2)+1)) возвращает числовое значение первого символа после запятой и сравнивает полученное значение с числом 5.
- Если полученное значение больше 5, будет возвращен результат выполнения функции ЛЕВСИМВ(B2+1;НАЙТИ(",";B2)-1), то есть целой части числа +1 по правилам округления.
- Если
Примечание: данный алгоритм нельзя назвать гибким и он имеет некоторые недостатки (например, не учтен вариант ввода сразу целого числа). Он приведен в качестве примера использования функции ЛЕВСИМВ. Для расчетов лучше использовать встроенную функцию ОКРГУГЛ и подобные ей.
Функция ЛЕВСИМВ в Excel и особенности ее использования
Функция ЛЕВСИМВ используется наряду с прочими функциями для работы с текстовыми строками в Excel (ПРАВСИМВ, СИМВОЛ, СЦЕПИТЬ, ДЛСТР и прочими) и имеет следующую синтаксическую запись:
- текст – ссылка на ячейку, содержащую текст, или текстовая строка, в которой требуется выделить требуемое количество символов слева. Аргумент обязателен для заполнения.
- [число_знаков] – необязательный для заполнения аргумент; числовое значение, характеризующее количество символов, которые требуется выделить из текстовой строки.
Примечание 2: в Excel также существует схожая по принципу работы функция ЛЕВБ, возвращающая определенное количество символов текстовой строки слева на основе определенного количества байтов. Если по умолчанию используется язык с поддержкой двухбайтовой кодировки, для получения первого символа строки требуется в качестве аргумента указать число 2, а для получения последующих второго, третьего и прочих символов необходимо указывать соответствующие числа, кратные двум. Для языков с однобайтовой кодировкой функции ЛЕВСИМВ и ЛЕВБ возвращают идентичные результаты.
Одна из самых важных задач при редактировании текстовых строк в Excel – это отделение части строки для получения фрагмента текста.
Примеры основных текстовых функций в Excel с описанием
С помощью текстовых функций: ЛЕВСИМВ, ПРАВСИМВ и ПСТР в процессе офисной работы можно быстро и легко решить такие задачи как:
- преобразование территориального кода в почтовый код;
- удаление кода страны или кода оператора сотовой связи в номерах телефонов
- выборка фрагмента кода сотрудника или должности из номера картотеки в базе данных кадрового отдела;
- и похожие другие задачи…
Умение быстро решать подобного рода базовые задачи в Excel пригодиться каждому офисному сотруднику.
На рисунке примеров показано, как легко с помощью текстовых функций ЛЕВСИМВ, ПРАВСИМВ и ПСТР реализуются решения выше описанных задач:
Функция ЛЕВСИМВ предоставляет возможность пользователю Excel отделить от значения ячейки фрагмент текста или числа с определенным количеством символов от начала исходной строки данных. Данная функция требует указать 2 аргумента:
- Текст – исходные данные. Поддерживает и другие типы значений кроме текстовых: число, логическое значение. Не поддерживает значение ошибок, а дату воспринимает как числовое значение.
- Количество_знаков – количество символов, взятых от начала, которые следует оставить в фрагменте текста при отделения его от строки. Другими словами, длина вырезанного фрагмента текста с левой стороны исходной строки.
В примере функция =ЛЕВСИМВ(A2 ;5) отделяет 5 первых чисел из текста в ячейке A2.
Текстовая функция ПРАВСИМВ предоставляет возможность отделения определенного количества символов с конца исходной текстовой строки. Фактически данная функция работает обратно пропорционально для ЛЕВСИМВ. И требует заполнить такие же аргументы. Главное отличие — это направление действия функции: с права на лево, то есть начиная отсчет символов с конца.
В данном примере с помощью текстовой функции ПРАВСИМВ отделяется правая часть номеров телефонов сотрудников фирмы. Это 9 последних знаков в конце: =ПРАВСИМВ(A6;9).
Следующая текстовая функция ПСТР более продвинутая. Она позволяет получить фрагмент текста из середины исходной строки. Функция ПСТР требует заполнить 3 аргумента:
- Текст – исходные данные (текстовое либо числовое значение).
- Начальная_позиция – порядковый номер символа от начала строки с которого следует начать отделение фрагмента текста.
- Количество_знаков – количество символов, взятых из середины текста в исходных данных.
В описанном примере функция =ПСТР(A10;4;1) – отделяет только одно числовое значение начинающиеся от 4-го символа с начала исходной строки.
Читайте также: