Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Informatika_1 / Лаб раб опринж / labex / Текстовые функции в Excl

.doc
Скачиваний:
16
Добавлен:
07.02.2016
Размер:
62.98 Кб
Скачать

Текстовые функции в Excel

Функция СЦЕПИТЬ() 

Мы уже рассматривали одну из текстовых функций - это функция СЦЕПИТЬ(). Она работает аналогично символу амперсанда (&) – сцепляет несколько значений в единую текстовую строку.

 

Например, формула

 

=СЦЕПИТЬ("До Нового года осталось ";ДАТА(2007;1;1)-СЕГОДНЯ(); " дней")

 

вернет строку "До Нового года осталось 36 дней".

Функции ЛЕВСИМВ(), ПРАВСИМВ() и ПСТР() 

Функция ЛЕВСИМВ() возвращает указанное количество символов начиная с левого края строки. Формула

 

=ЛЕВСИМВ("кашалот";4)

 

Вернет строку "каша".

Аналогично, функция ПРАВСИМВ() возвращает заданное число символов с правого края строки.

 

=ПРАВСИМВ("кашалот";3)

 

дает значение "лот".

 

Функция ПСТР() "выдергивает" из строки подстроку, определенной длины, начиная с определенного символа.

 

=ПСТР("башмаки";4;3)

 

вернет "мак".

Функция ДЛСТР() 

Эта функция возвращает длину строки. Функцию обычно используют вместе с другими текстовыми функциями. Например, если у нас есть список основных средств, в котором в каждой строке содержатся инвентарные номера длиной 3 символа и наименования объектов различной длины. Тогда выделить наименование из записи, находящейся в ячейке А1, можно с помощью функции

 

=ПСТР(A1;4;ДЛСТР(A1)-3)

 

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

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

Функция НАЙТИ находит вхождение одной текстовой строки (искомый_текст) в другую текстовую строку (просматриваемый_текст) и возвращает положение начала искомого текста относительно крайнего левого знака просматриваемого текста. Для поиска вхождений одной текстовой строки в другую текстовую строку можно использовать также функцию ПОИСК, но в отличие от функции ПОИСК функция НАЙТИ учитывает регистр и не допускает использования подстановочных знаков.

Синтаксис

НАЙТИ(искомый_текст;просматриваемый_текст;нач_позиция)

ПОИСК(искомый_текст;просматриваемый_текст;нач_позиция)

Искомый_текст   — это искомый текст.

Просматриваемый_текст   — это текст, включающий искомый текст. Для функции ПОИСК можно использовать знаки шаблона: знак вопроса (?) и звездочка (*). Знак вопроса соответствует любому знаку; звездочка соответствует любой последовательности знаков. Если нужно найти один из этих знаков, то следует поставить перед ними знак тильда (~).

Нач_позиция   — это позиция знака, с которой следует начинать поиск. Первый знак в аргументе просматриваемый_текст имеет номер 1. Если аргумент нач_позиция опущен, то он полагается равным 1.

Функции НАЙТИ и ПОИСК можно использовать, например, в качестве аргументов функций ЛЕВСИМВ и ПРАВСИМВ.

Пример:

В столбце А мы имеем перечень сотрудников. Каждая запись включает Фамилию, имя и отчество, разделенные пробелами. Необходимо получить в отдельном столбце имена сотрудников. 

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

Для выделения имени необходимо с помощью функции НАЙТИ определить порядковый номер первого пробела в тексте, затем номер второго пробела и выделить подстроку между пробелами.

Для обработки текста в ячейке А2 формула будет выглядеть так:

=ПСТР(A2;НАЙТИ(" ";A2;1)+1;НАЙТИ(" ";A2;НАЙТИ(" ";A2;1)+1)-НАЙТИ(" ";A2;1)-1)

Не пугайтесь. Функция НАЙТИ использована здесь 4 раза для вычисления местоположения нужногой подстроки. Первый пробел в ячейке А2 имеет порядковый номер НАЙТИ(" ";A2;1). Следовательно имя начинается с символа номер НАЙТИ(" ";A2;1)+1.

Второй пробел идет сразу за именем. Чтобы найти его, нужно искать пробел не с начала строки, а начиная с символа, следующего за первым пробелом. Получается конструкция НАЙТИ(" ";A2;НАЙТИ(" ";A2;1)+1). Если из полученного числа вычесть место первого символа имени, мы получим длину имени.

Еще одна группа текстовых функций рабочего листа Excel - функции для преобразования регистра букв.

СТРОЧН

Преобразует знаки в текстовой строке из верхнего регистра в нижний.

Синтаксис

СТРОЧН(текст)

Текст    — текст, преобразуемый в нижний регистр. Функция СТРОЧН не меняет знаков, которые не являются буквами.

ПРОПИСН

Делает все буквы в тексте прописными.

Синтаксис

ПРОПИСН(текст)

Текст    — текст, преобразуемый в верхний регистр. Текст может быть ссылкой на текст или текстовой строкой.

ПРОПНАЧ

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

Синтаксис

ПРОПНАЧ(текст)

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

В завершение темы обработки текста в Excel поговорим о функциях форматирования и преобразования значений ячеек.

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

Например, число 39052 может отображаться так:

39 052 39052,00 39052,00 р. 01-01-06 1 января 2006 г. Январь 01.2006 и т.д.

При этом значение ячейки не изменяется и независимо от формата может участвовать в различных вычислениях и формулах.

Это удобно, но иногда нам нужно преобразовать число в текстовую строку, которая была бы отформатирована определенным образом. Чаще всего это нужно при объединении значений в одну строку с помощью знака амперсанда или функции СЦЕПИТЬ.

Например, мы хотим получить строку "Сегодня Среда, 6 декабря 2006 года". Причем дата и день недели должны автоматически меняться.

Если мы просто сцепим текст вступления и окончания с функцией СЕГОДНЯ, мы получим нечто похожее:

Сегодня 39057

Чтобы получить нужный результат, значение функции СЕГОДНЯ() нужно отформатировать с помощью функции ТЕКСТ.

ТЕКСТ

Функция ТЕКСТ преобразует значение в текст в заданном числовом формате.

Синтаксис

ТЕКСТ(значение;формат)

Значение    — либо числовое значение, либо формула, вычисление которой дает числовое значение, либо ссылка на ячейку, содержащую числовое значение.

Формат    — числовой формат в текстовой форме из списка Числовые форматы с вкладки Число диалогового окна Формат ячеек.

Заметки

  • Формат не может содержать звездочку (*).

  • Форматирование ячейки с помощью вкладки Число (команда Ячейки меню Формат) меняет только формат, но не значение. Использование функции ТЕКСТ преобразует значение в форматированный текст, и результат больше не участвует в вычислениях как число.

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

=СЦЕПИТЬ("Сегодня ";ТЕКСТ(СЕГОДНЯ();"дддд, ");ТЕКСТ(СЕГОДНЯ();"[$-FC19]Д ММММ ГГГГ \го\да\."))

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

Подробнее о числовых формтах поговорим в одном из следующих выпусков.

А сейчас еще несколько полезных функций.

ФИКСИРОВАННЫЙ

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

Синтаксис

ФИКСИРОВАННЫЙ(число; число_знаков; без_разделителей)

Число   — это число, которое округляется и преобразуется в текст.

Число_знаков   — это число цифр справа от десятичной запятой.

Без_разделителей   — это логическое значение, причем если аргумент без_разделителей имеет значение ИСТИНА, то ФИКСИРОВАННЫЙ не включает разделители тысяч в возвращаемый текст.

РУБЛЬ

Функция, описанная в этом разделе справки, преобразует число в текстовый формат и добавляет к нему обозначение денежной единицы. Имя этой функции (и добавляемое обозначение) зависит от языковых параметров.

Эта функция преобразует число в текст, используя денежный формат с округлением до заданного числа десятичных знаков. Используется следующий формат: # ##0,00 р.;- # ##0,00 р.

Синтаксис

РУБЛЬ(число; число_знаков)

Число    — это либо число, либо ссылка на ячейку, содержащую число, либо формула, вычисление которой дает число.

Число_знаков    — это число цифр справа от десятичной запятой. Если число_знаков отрицательно, то число округляется слева от десятичной запятой. Если число_знаков опущено, то оно полагается равным 2.

T

Возвращает текст, ссылка на который задается аргументом значение.

Синтаксис

Т(значение)

Значение    — проверяемое значение.

Заметки

  • Если значение является текстом или ссылается на текст, то функция Т возвращает само это значение. Если значение не ссылается на текст, функция T возвращает "" (пустой текст).

  • В общем случае нет необходимости использовать функцию Т в формулах, поскольку Microsoft Excel в случае необходимости автоматически преобразует значения. Эта функция предназначена для совместимости с другими системами электронных таблиц.

ЗНАЧЕН

Преобразует строку текста, отображающую число, в число.

Синтаксис

ЗНАЧЕН(текст)

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

Заметки

  • Текст может быть в любом формате, допускаемом Microsoft Excel для числа, даты и времени. Если текст не удовлетворяет ни одному из этих форматов, то функция ЗНАЧЕН возвращает значение ошибки #ЗНАЧ!.

  • Обычно нет необходимости использовать функцию ЗНАЧЕН в формулах, поскольку Microsoft Excel автоматически преобразует текст в число при необходимости. Эта функция предназначена для совместимости с другими программами электронных таблиц.