Excel функции текстовые. Формулы в Excel Выбрать текстовое значение в excel
Познакомимся с вариантами преобразования формулы Excel в текст
(в результате получается не значение ячейки, а формульное выражение в текстовом виде, например, "=A1+A2", "=СЕГОДНЯ()" и т.д.).
Возникают ситуации когда необходимо отобразить в ячейке не значение формульного выражения, а именно ее текстовую запись.
С помощью мы можем увидеть все формульные выражения листа и книги в текстовом виде, однако если мы хотим показать формулу не для всех, а для каких-то конкретных ячеек, то такой вариант не подходит.
Однако вне зависимости от целей преобразования нам понадобится способ извлечь из ячейки строку с формулой.
Преобразование формулы в текст в Excel
Начнем с более простого варианта, а именно предположим, что нам нужно преобразовать формулу в текст в самой ячейке (т.е. заменить значение на текстовую запись). Тогда в этом случае есть несколько способов преобразования:
- Поменять формат ячейки на текстовый, а затем произвести вычисление формулы;
При этом для каждой ячейки нужно будет вручную производить изменение. - Добавить апостроф (символ «‘») перед знаком равно (символ «=») в формульном выражении.
В данном варианте подставить апостроф можно как вручную, так и через замену («=» на «‘=» с помощью инструмента «Найти и заменить»).
Теперь перейдем к более общему случаю и рассмотрим 2 основных варианта перевода формулы в текст (т.е. получить текстовую запись):
- Функция Ф.ТЕКСТ (доступна начиная с версии Excel 2013);
- Пользовательская функция (UDF) .
Первый способ позволит нам перевести формулу в текст стандартными средствами в Excel, а во втором способе мы напишем пользовательскую функцию, которая будет выполнять аналогичные по функционалу преобразования (что и в первом способе) с небольшими видоизменениями.
Давайте подробнее остановимся на каждом из них.
Функция Ф.ТЕКСТ в Excel
Начиная с версии Excel 2013 для применения доступна функция Ф.ТЕКСТ (FORMULATEXT в английской версии):
- Ссылка (обязательный аргумент) — ссылка на ячейку или диапазон ячеек.
Перейдем к примерам. Применим Ф.ТЕКСТ , в качестве аргумента укажем ссылку на произвольную ячейку, где содержится какое-либо формульное выражение:
При этом в зависимости от выбранного у вас параметра отображения стиля ссылок (A1
или R1C1
) формула автоматически будет подстраиваться под формат записи:
Замечания
При работе с данной функцией есть несколько важных особенностей, на которые необходимо обратить внимание:
- Аргумент "Ссылка" может ссылаться на другие листы и книги;
- Если аргумент "Ссылка" не содержит формульное выражение или содержит ссылку на закрытую книгу, то в результате будет возвращено значение ошибки.
Пользовательская функция (UDF)
При использовании версии Excel 2010 или более ранней, стандартными инструментами Excel воспользоваться уже не получится.
Однако данную проблему мы можем решить с помощью создания пользовательской функции (UDF), которая позволит преобразовать формулу в текст в различных вариантах записи в зависимости от стиля ссылок.
Перейдем в редактор ( Alt + F11), вставляем новый модуль и добавляем следующий код:
Visual Basic
Public Function FText(myRange As Range) As String FText = myRange.FormulaLocal End Function
Public Function FText (myRange As Range ) As String FText = myRange . FormulaLocal End Function |
Как обычно, к новой функции мы можем обратиться либо через мастер функций (выбрав ее из категории Определенные пользователем ), либо ввести формульное выражение в пустую ячейку:
Как видим результат работы пользовательской функции FText
получился точно таким же, как и у стандартной Ф.ТЕКСТ
.
В данном примере мы использовали свойство диапазона FormulaLocal , которое позволяет преобразовать формульное выражение со стилем ссылок A1, однако в зависимости от предпочтений стиль записи можно изменить, а именно поменять свойство FormulaLocal на один из следующих вариантов:
- Formula — формат A1 (англоязычная формула);
- FormulaR1C1 — формат R1C1 (англоязычная);
- FormulaLocal — формат A1 (неанглоязычная/местная);
- FormulaR1C1Local — формат R1C1 (неанглоязычная/местная).
Выбираем необходимый формат записи, корректируем код FText в VBA и на выходе получаем итоговое преобразование:
Функция ТЕКСТ преобразует численное значение в текст и позволяет задать формат отображения с помощью специальных строк форматирования.
Описание функции ТЕКСТ
Функция ТЕКСТ преобразует численное значение в текст и позволяет задать формат отображения с помощью специальных строк форматирования. Эта функция полезна, если числа требуется отобразить в более удобном формате или если требуется объединить числа с текстом или символами.
Например, чтобы отформатировать число 23,5 как сумму в рублях, можно использовать указанную ниже формулу:
ТЕКСТ(A1,"0,00р.")
Результат: 23,50р.
Числа также можно форматировать с помощью команд в группе Число, которая находится на вкладке ленты Главная. Однако эти команды работают лишь в том случае, если ячейка содержит только число. Если требуется отформатировать число и объединить его с другим текстом, лучше всего использовать функцию ТЕКСТ. Например, к предыдущей формуле можно добавить следующий текст:
ТЕКСТ(A1,"0,00р.")& " в час"
Результат: 23,50р. в час .
Синтаксис
=ТЕКСТ(значение; формат)Аргументы
значение формат
Обязательный аргумент. Численное значение, формула, вычисление которой дает числовое значение, или ссылка на ячейку, содержащую численное значение.
Обязательный аргумент. Численный формат в виде текстовой строки в кавычках (например, «Д.М.ГГГГ» или «# ##0,00». Правила форматирования представлены ниже.
Форматы чисел
Заполнитель | Описание |
---|---|
0 (ноль) | Отображает незначащие нули, если число имеет меньше разрядов, чем количество нулей в строке форматирования. Например, формат #,00 позволяет отобразить значение 8,9 как 8,90. |
# | Работает так же, как 0 (ноль). Но в этом случае функция Text не возвращает дополнительные нули, если число имеет слева или справа от десятичного разделителя меньше цифр, чем количество символов # в строке форматирования. Например, число 8,9 при использовании формата #,## будет отображаться как 8,9. |
? | Действует по тем же правилам, что и 0 (нуль). Однако, до и после запятой вместо незначащих нулей отображаются пробелы, чтобы десятичные разделители были выровнены в столбце. Например, формат 0,0? обеспечивает выравнивание запятых для чисел 8,9 и 88,99. (Правда, для чистоты эксперимента, следует выбрать ) |
, (запятая) | Отображает символ десятичного разделителя. Поведение этого символа зависит от языка пользовательского формата. |
Если в дробной части числа больше цифр, чем заполнителей в формате, число округляется до количества разрядов, равного количеству заполнителей. Если в целой части числа больше цифр, чем заполнителей в формате, отображаются дополнительные цифры. Если формат содержит слева от запятой только знаки номера (#), то числа, меньшие 1, будут начинаться с запятой, например ,47 .
Разделитель групп разрядов
Чтобы отображать пробел в качестве разделителя групп разрядов или представлять число в масштабе, кратном 1000, включите в числовой формат разделитель, указанный ниже.
Форматы даты и времени. Дни, месяцы и годы. Для отображения чисел в формате даты (с указанием числа, месяца и года) в аргументе формат используются коды, указанные ниже.
Формат | Описание |
---|---|
М | Отображение месяца в виде числа без начального нуля. |
ММ | Отображение месяца в виде числа с начальным нулем, если он необходим. |
МММ | Отображение сокращенного названия месяца (Янв–Дек). |
ММММ | Отображение полного названия месяца (Январь–Декабрь). |
МММММ | Отображение месяца в виде одной буквы (Я–Д). |
Д | Отображение дня в виде числа без начального нуля. |
ДД | Отображение дня в виде числа с начальным нулем, если он необходим. |
ДДД | Отображение сокращенного названия дня недели (пн–вс). |
ДДДД | Отображение полного названия дня недели (понедельник–воскресенье). |
ГГ | Отображение года в виде двузначного числа. |
ГГГГ | Отображение года в виде четырехзначного числа. |
Часы, минуты и секунды
Для отображения чисел в формате времени (с указанием часов, минут и секунд) в аргументе формат используются коды, указанные ниже.
Формат | Описание |
---|---|
ч | Отображение часов в виде числа без начального нуля. |
[ч] | Отображение истекшего времени в часах. Если формула возвращает значение времени, в котором число часов превышает 24, используйте числовой формат наподобие следующего: [ч]:мм:сс. |
чч | Отображение часов в виде числа с начальным нулем, если он необходим. Если формат содержит пометку AM или PM, часы отображаются на основе 12-часового цикла. В противном случае используется 24-часовой цикл. |
м | Отображение минут в виде числа без начального нуля.
Примечание. |
[м] | Отображение истекшего времени в минутах. Если формула возвращает значение времени, в котором число минут превышает 60, используйте числовой формат наподобие следующего: [мм]:сс. |
мм |
Отображение минут в виде числа с начальным нулем, если он необходим.
Примечание. Код м или мм должен быть указан непосредственно после кода ч или чч или непосредственно перед кодом сс, иначе вместо минут отображается месяц. |
с | Отображение секунд в виде числа без начального нуля. |
[с] | Отображение истекшего времени в секундах. Если формула возвращает значение времени, в котором число секунд превышает 60, используйте числовой формат наподобие следующего: [сс]. |
сс | Отображение секунд в виде числа с начальным нулем, если он необходим. Для отображения долей секунды используйте числовой формат наподобие следующего: ч:мм:сс,00. |
AM/PM, am/pm, A/P, a/p | Отображение часов на основе 12-часового цикла. Коды AM, am, A и a означают время суток от полуночи до полудня, а PM, pm, P и p - время от полудня до полуночи. |
Форматы денежных сумм, процентов и экспоненциального представления
Символы валют. Чтобы указать перед числом знак доллара ($), введите его в начале аргумента формат (например, «$# ##0,00»). Чтобы включить в числовой формат один из указанных ниже символов валют, нажмите клавишу NUM LOCK и введите с цифровой клавиатуры код ANSI соответствующего символа.
- Примечание . Необходимо использовать цифровую панель клавиатуры. При использовании клавиши ALT с цифрами верхнего ряда клавиш коды ANSI не генерируются.
- Процентные значения. Чтобы отображать числа в виде процентов - например, 0,08 как 8% или 2,8 как 280%, - включите в аргумент формат знак процента (%).
- Экспоненциальное представление. Для отображения чисел в экспоненциальном формате включите в аргумент формат код из числа указанных ниже.
Включение текста и добавление пробелов
Если в аргумент формат включить любой из указанных ниже символов, они будут отображаться так же, как были введены.
Замечания
- Аргумент формат не может содержать звездочку (*).
- Функция ТЕКСТ преобразует число в форматированный текст, и результат больше не может быть использован в вычислениях в качестве числа. Чтобы отформатировать число и при этом оставить его числом, щелкните ячейку правой кнопкой мыши, выберите команду Формат ячеек и в диалоговом окне Формат ячеек на вкладке Число настройте нужные параметры форматирования. Для получения дополнительных сведений об использовании диалогового окна Формат ячеек нажмите кнопку справки (?) в верхнем правом углу окна.
Программа Excel предлагает своим пользователям целых 3 функции для работы с большими и маленькими буквами в тексте (верхний и нижний регистр). Эти текстовые функции делают буквы большими и маленькими или же изменяют только первую букву в слове на большую.
Формулы с текстовыми функциями Excel
Сначала рассмотрим на примере 3 текстовых функции Excel:
- ПРОПИСН – данная текстовая функция изменяет все буквы в слове на прописные, большие.
- СТРОЧН – эта функция преобразует все символы текста в строчные, маленькие буквы.
- ПРОПНАЧ – функция изменяет только первую букву в каждом слове на заглавную, большую.
Как видно в примере на рисунке эти функции в своих аргументах не требуют ничего кроме исходных текстовых данных, которые следует преобразовать в соответствии с требованиями пользователя.
Не смотря на такой широкий выбор функций в Excel еще нужна функция, которая умеет заменить первую букву на заглавную только для первого слова в предложении, а не в каждом слове. Однако для решения данной задачи можно составить свою пользовательскую формулу используя те же и другие текстовые функции Excel:
Чтобы решить эту популярную задачу нужно в формуле использовать дополнительные текстовые функции Excel: ЛЕВСИМВ, ПРАВСИМВ и ДЛСТР.
Принцип действия формулы для замены первой буквы в предложении
Если внимательно присмотреться к синтаксису выше указанной формулы, то легко заменить, что она состоит из двух частей, соединенных между собой оператором &.
В левой части формулы используется дополнительная функция ЛЕВСИМВ:
Задача этой части формулы изменить первую букву на большую в исходной текстовой строке ячейки A1. Благодаря функции ЛЕВСИМВ можно получать определенное количество символов начиная с левой стороны текста. Функция требует заполнить 2 аргумента:
- Текст – ссылка на ячейку с исходным текстом.
- Количесвто_знаков – число возвращаемых символов с левой стороны (с начала) исходного текста.
В данном примере необходимо получить только 1 первый символ из исходной текстовой строки в ячейке A1. Далее полученный символ преобразуется в прописную большую букву верхнего регистра.
Правая часть формулы после оператора & очень похожа по принципу действия на левую часть, только она решает другую задачу. Ее задача – преобразовать все символы текста в маленькие буквы. Но сделать это нужно так чтобы не изменять первую большую букву, за которую отвечает левая часть формулы. В место функции ЛЕВСИМВ в правой части формулы применяется функция ПРАВСИМВ:
Текстовая функция ПРАВСИМВ работает обратно пропорционально функции ЛЕВСИМВ. Так же требует запыления двух аргументов: исходный текст и количество знаков. Но возвращает она определенное число букв, полученных с правой стороны исходного текста. Однако в данном случаи мы в качестве второго аргумента не можем указать фиксированное значение. Ведь нам заранее неизвестно количество символов в исходном тексте. Кроме того, длина разных исходных текстовых строк может отличаться. Поэтому нам необходимо предварительно подсчитать длину строки текста и от полученного числового значения отнять -1, чтобы не изменять первую большую букву в строке. Ведь первая буква обрабатывается левой частью формулы и уже преобразована под требования пользователя. Поэтом на нее недолжна влиять ни одна функция из правой части формулы.
Для автоматического подсчета длины исходного текста используется текстовая функция Excel – ДЛСТР (расшифроваться как длина строки). Данная функция требует для заполнения всего лишь одного аргумента – ссылку на исходный текст. В результате вычисления она возвращает числовое значение, попетому после функции =ДЛСТР(A1) отнимаем -1. Что дает нам возможность не затрагивать первую большую букву правой частью формулы. В результате функция ПРАВСИМВ возвращает текстовую строку без одного первого символа для функции СТРОЧН, которая заменяет все символы текста в маленькие строчные буквы.
В результате соединения обеих частей формулы оператором & мы получаем красивое текстовое предложение, которое как по правилам начинается с первой большой буквы. А все остальные буквы – маленькие аж до конца предложения. В независимости от длины текста используя одну и ту же формулу мы получаем правильный результат.
Для удобства работы с текстом в Excel существуют текстовые функции. Они облегчают обработку сразу сотен строк. Рассмотрим некоторые из них на примерах.
Примеры функции ТЕКСТ в Excel
Преобразует числа в текст. Синтаксис: значение (числовое или ссылка на ячейку с формулой, дающей в результате число); формат (для отображения числа в виде текста).
Самая полезная возможность функции ТЕКСТ – форматирование числовых данных для объединения с текстовыми данными. Без использования функции Excel «не понимает», как показывать числа, и преобразует их в базовый формат.
Покажем на примере. Допустим, нужно объединить текст в строках и числовые значения:
Использование амперсанда без функции ТЕКСТ дает «неадекватный» результат:
Excel вернул порядковый номер для даты и общий формат вместо денежного. Чтобы избежать подобного результата, применяется функция ТЕКСТ. Она форматирует значения по заданию пользователя.
Формула «для даты» теперь выглядит так:
Второй аргумент функции – формат. Где брать строку формата? Щелкаем правой кнопкой мыши по ячейке со значением. Нажимаем «Формат ячеек». В открывшемся окне выбираем «все форматы». Копируем нужный в строке «Тип». Вставляем скопированное значение в формулу.
Приведем еще пример, где может быть полезна данная функция. Добавим нули в начале числа. Если ввести вручную, Excel их удалит. Поэтому введем формулу:
Если нужно вернуть прежние числовые значения (без нулей), то используем оператор «--»:
Обратите внимание, что значения теперь отображаются в числовом формате.
Функция разделения текста в Excel
Отдельные текстовые функции и их комбинации позволяют распределить слова из одной ячейки в отдельные ячейки:
- ЛЕВСИМВ (текст; кол-во знаков) – отображает заданное число знаков с начала ячейки;
- ПРАВСИМВ (текст; кол-во знаков) – возвращает заданное количество знаков с конца ячейки;
- ПОИСК (искомый текст; диапазон для поиска; начальная позиция) – показывает позицию первого появления искомого знака или строки при просмотре слева направо
При разделении текста в строке учитывается положение каждого знака. Пробелы показывают начало или конец искомого имени.
Распределим с помощью функций имя, фамилию и отчество в разные столбцы.
В первой строке есть только имя и фамилия, разделенные пробелом. Формула для извлечения имени: =ЛЕВСИМВ(A2;ПОИСК(" ";A2;1)). Для определения второго аргумента функции ЛЕВСИМВ – количества знаков – используется функция ПОИСК. Она находит пробел в ячейке А2, начиная слева.
Формула для извлечения фамилии:
С помощью функции ПОИСК Excel определяет количество знаков для функции ПРАВСИМВ. Функция ДЛСТР «считает» общую длину текста. Затем отнимается количество знаков до первого пробела (найденное ПОИСКом).
Вторая строка содержит имя, отчество и фамилию. Для имени используем такую же формулу:
Формула для извлечения фамилии несколько иная: Это пять знаков справа. Вложенные функции ПОИСК ищут второй и третий пробелы в строке. ПОИСК(" ";A3;1) находит первый пробел слева (перед отчеством). К найденному результату добавляем единицу (+1). Получаем ту позицию, с которой будем искать второй пробел.
Часть формулы – ПОИСК(" ";A3;ПОИСК(" ";A3;1)+1) – находит второй пробел. Это будет конечная позиция отчества.
Формула «для отчества» строится по тем же принципам:
Функция объединения текста в Excel
Для объединения значений из нескольких ячеек в одну строку используется оператор амперсанд (&) или функция СЦЕПИТЬ.
Например, значения расположены в разных столбцах (ячейках):
Ставим курсор в ячейку, где будут находиться объединенные три значения. Вводим равно. Выбираем первую ячейку с текстом и нажимаем на клавиатуре &. Затем – знак пробела, заключенный в кавычки (“ “). Снова - &. И так последовательно соединяем ячейки с текстом и пробелы.
Получаем в одной ячейке объединенные значения:
Использование функции СЦЕПИТЬ:
С помощью кавычек в формуле можно добавить в конечное выражение любой знак или текст.
Функция ПОИСК текста в Excel
Функция ПОИСК возвращает начальную позицию искомого текста (без учета регистра). Например:
Функция ПОИСК вернула позицию 10, т.к. слово «Захар» начинается с десятого символа в строке. Где это может пригодиться?
Функция ПОИСК определяет положение знака в текстовой строке. А функция ПСТР возвращает текстовые значения (см. пример выше). Либо можно заменить найденный текст посредством функции ЗАМЕНИТЬ.
Синтаксис функции ПОИСК:
- «искомый текст» - что нужно найти;
- «просматриваемый текст» - где искать;
- «начальная позиция» - с какой позиции начинать искать (по умолчанию – 1).
Если нужно учитывать регистр, используется функция НАЙТИ.
Excel предлагает большое количество функций, с помощью которых можно обрабатывать текст. Область применения текстовых функций не ограничивается исключительно текстом, они также могут быть использованы с ячейками, содержащими числа. В рамках данного урока мы на примерах рассмотрим 15 наиболее распространенных функций Excel из категории Текстовые .
СЦЕПИТЬ
Для объединения содержимого ячеек в Excel, наряду с оператором конкатенации , можно использовать текстовую функцию СЦЕПИТЬ . Она последовательно объединяет значения указанных ячеек в одной строке.
СТРОЧН
Если в Excel необходимо сделать все буквы строчными, т.е. преобразовать их в нижний регистр, на помощь придет текстовая функция СТРОЧН . Она не заменяет знаки, не являющиеся буквами.
ПРОПИСН
Текстовая функция ПРОПИСН делает все буквы прописными, т.е. преобразует их в верхний регистр. Так же, как и СТРОЧН , не заменяет знаки, не являющиеся буквами.
ПРОПНАЧ
Текстовая функция ПРОПНАЧ делает прописной первую букву каждого слова, а все остальные преобразует в строчные.
Каждая первая буква, которая следует за знаком, отличным от буквы, также преобразуется в верхний регистр.
ДЛСТР
ЛЕВСИМВ и ПРАВСИМВ
Текстовые функции ЛЕВСИМВ и ПРАВСИМВ возвращают заданное количество символов, начиная с начала или с конца строки. Пробел считается за символ.
ПСТР
Текстовая функция ПСТР возвращает заданное количество символов, начиная с указанной позиции. Пробел считается за символ.
СОВПАД
Функция СОВПАД позволяет сравнить две текстовые строки в Excel. Если они в точности совпадают, то возвращается значение ИСТИНА, в противном случае – ЛОЖЬ. Данная текстовая функция учитывает регистр, но игнорирует различие в форматировании.
Если регистр для Вас не играет большой роли (так бывает в большинстве случаев), то можно применить формулу, просто проверяющую равенство двух ячеек.
СЖПРОБЕЛЫ
Удаляет из текста все лишние пробелы, кроме одиночных между словами.
В случаях, когда наличие лишнего пробела в конце или начале строки сложно отследить, данная функция становится просто незаменимой. На рисунке ниже видно, что содержимое ячеек А1 и B1 абсолютно одинаково, но это не так. В ячейке А1 мы намеренно поставили лишний пробел в конце слова Excel . В итоге функция СОВПАД возвратила нам значение ЛОЖЬ.
Применив функцию СЖПРОБЕЛЫ к значению ячейки А1, мы удалим из него все лишние пробелы и получим корректный результат:
Функцию СЖПРОБЕЛЫ полезно применять к данным, которые импортируются в рабочие листы Excel из внешних источников. Такие данные очень часто содержат лишние пробелы и различные непечатаемые символы. Чтобы удалить все непечатаемые символы из текста, необходимо воспользоваться функцией ПЕЧСИМВ .
ПОВТОР
Функция ПОВТОР повторяет текстовую строку указанное количество раз. Строка задается как первый аргумент функции, а количество повторов как второй.
НАЙТИ
Текстовая функция НАЙТИ находит вхождение одной строки в другую и возвращает положение первого символа искомой фразы относительно начала текста.
Данная функция чувствительна к регистру…
… и может начинать просмотр текста с указанной позиции. На рисунке ниже формула начинает просмотр с четвертого символа, т.е. c буквы “r “. Но даже в этом случае положение символа считается относительно начала просматриваемого текста.
ПОИСК
Текстовая функция ПОИСК очень похожа на функцию НАЙТИ , основное их различие заключается в том, что ПОИСК не чувствительна к регистру.
ПОДСТАВИТЬ
Заменяет определенный текст или символ на требуемое значение. В Excel текстовую функцию ПОДСТАВИТЬ применяют, когда заранее известно какой текст необходимо заменить, а не его местоположение.
Приведенная ниже формула заменяет все вхождения слова “Excel” на “Word”:
Заменяет только первое вхождение слова “Excel”:
Удаляет все пробелы из текстовой строки:
ЗАМЕНИТЬ
Заменяет символы, расположенные в заранее известном месте строки, на требуемое значение. В Excel текстовую функцию ЗАМЕНИТЬ применяют, когда известно где располагается текст, при этом сам он не важен.
Формула в примере ниже заменяет 4 символа, расположенные, начиная с седьмой позиции, на значение “2013”. Применительно к нашему примеру, формула заменит “2010” на “2013”.
Заменяет первые пять символов текстовой строки, т.е. слово “Excel”, на “Word”.
Вот и все! Мы познакомились с 15-ю текстовыми функциями Microsoft Excel и посмотрели их действие на простых примерах. Надеюсь, что данный урок пришелся Вам как раз кстати, и Вы получили от него хотя бы малость полезной информации. Всего доброго и успехов в изучении Excel!