Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel функции работы со строками

Функции Excel для работы с элементами строк

Следующие функции находят и возвращают части текстовых строк или составляют большие строки из небольших: НАЙТИ (FIND), ПОИСК (SEARCH), ПРАВСИМВ (RIGHT), ЛЕВСИМВ (LEFT), ПСТР (MID), ПОДСТАВИТЬ (SUBSTITUTE), ПОВТОР (REPT), ЗАМЕНИТЬ (REPLACE), СЦЕПИТЬ (CONCATENATE).

Функции НАЙТИ и ПОИСК

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

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

Аргумент искомый_текст задает текстовую строку, которую надо найти, а аргумент просматриваемый_текст — текст, в котором производится поиск. Любым из этих аргументов может быть строка символов, заключенная в двойные кавычки, или ссылка на ячейку. Необязательный аргумент нач_позиция задает позицию в просматриваемом тексте, с которой начинается поиск. Аргумент нач_позиция следует использовать в том случае, когда просматриваемый_текст содержит несколько вхождений искомого текста. Если данный аргумент опущен, Excel возвращает позицию первого вхождения.

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

Например, чтобы определить позицию буквы «ж» в строке «Гаражные ворота», надо использовать формулу:

Эта формула возвращает 5.

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

Функции ПРАВСИМВ и ЛЕВСИМВ

Функция ПРАВСИМВ (RIGHT) возвращает крайние правые символы строки аргумента, в то время как функция ЛЕВСИМВ (LEFT) возвращает первые (левые) символы. Синтаксис:

=ПРАВСИМВ(текст;количество_символов)
=ЛЕВСИМВ(текст;количество_символов)

Аргумент количество_символов задает число символов, извлекаемых из аргумента текст. Эти функции учитывают пробелы и поэтому, если аргумент текст содержит пробелы в начале или конце строки, в аргументах функций следует использовать функцию СЖПРОБЕЛЫ.

Аргумент количестов_символов должен быть больше или равен нулю. Если этот аргумент опускается, Excel считает его равным 1. Если количество_символов больше числа символов в аргументе текст, то возвращается весь аргумент.

Функция ПСТР

Функция ПСТР (MID) возвращает заданное число символов из строки текста, начиная с указанной позиции. Эта функция имеет следующий синтаксис:

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

Аргумент текст — это текстовая строка, содержащая извлекаемые символы, нач_позиция — это позиция первого символа, извлекаемого из текста (относительно начала строки), а количество_символов — это число извлекаемых символов.

Функции ЗАМЕНИТЬ и ПОДСТАВИТЬ

Эти две функции заменяют символы в тексте. Функция ЗАМЕНИТЬ (REPLACE) замещает часть текстовой строки другой текстовой строкой и имеет синтаксис:

=ЗАМЕНИТЬ(старый_текст;нач_позиция;количество_символов;новый_текст)

Аргумент старый_текст — это текстовая строка, а которой надо заменить символы. Следующие два аргумента задают символы, которые нужно заменить (относительно начала строки). Аргумент новый_текст задает вставляемую текстовую строку.

Например, ячейка А2 содержит текст «Вася Иванов». Чтобы поместить этот же текст в ячейку А3, заменив имя, надо в ячейку А3 вставить следующую функцию:

В функции ПОДСТАВИТЬ (SUBSTITUTE) начальная позиция и число заменяемых символов не задаются, а явно указывается замещаемый текст. Функция ПОДСТАВИТЬ имеет следующий синтаксис:

=ПОДСТАВИТЬ(текст;старый_текст;новый_текст;номер_вхождения)

Аргумент номер_вхождения является необязательным. Он предписывает Excel заменить только заданное вхождение строки старый_текст.

Например, ячейка А1 содержит текст «Ноль меньше восьми». Надо заменить слово «ноль» на «нуль».

Читать еще:  Параметры листа в excel

Число 1 в этой формуле указывает, что надо изменить только первое «о» в строке ячейки А1. Если аргумент номер_вхождения опущен, Excel заменяет все вхождения строки старый_текст на строку новый_текст.

Функция ПОВТОР

Функция ПОВТОР (REPT) позволяет заполнить ячейку строкой символов, повторенной заданное количество раз. Синтаксис:

=ПОВТОР(текст;число_повторений)

Аргумент текст — это размноженная строка символов, заключенная в кавычки. Аргумент число_повторений указывает, сколько раз нужно повторить текст. Если аргумент число_повторений равен 0, функция ПОВТОР оставляет ячейку пустой, а если он не является целым числом, эта функция отбрасывает десятичные знаки после запятой.

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

Функция СЦЕПИТЬ (CONCATENATE) является эквивалентом текстового оператора & и используется для объединения строк. Синтаксис:

=СЦЕПИТЬ(текст1;текст2;. )

В функции можно использовать до 30 аргументов.

Например, ячейка А5 содержит текст «первое полугодие», следующая формула возвращает текст «Всего за первое полугодие»:

=СЦЕПИТЬ(«Всего за «;А5)

В начало страницы

В начало страницы

Текстовые функции (справка)

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

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

Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полноширинные (двухбайтовые) знаки в полуширинные (однобайтовые).

Преобразует число в текст, используя денежный формат ß (БАТ).

Возвращает символ с заданным кодом.

Удаляет из текста все непечатаемые символы.

Возвращает числовой код первого знака в текстовой строке.

СЦЕП

Объединяет текст из нескольких диапазонов или строк, но не добавляет разделитель или аргументы IgnoreEmpty.

Объединяет несколько текстовых элементов в один.

DBCS

Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полуширинные (однобайтовые) знаки в текстовой строке в полноширинные (двухбайтовые).

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

Проверяет идентичность двух текстовых значений.

Ищет вхождения одного текстового значения в другом (с учетом регистра).

Форматирует число и преобразует его в текст с заданным числом десятичных знаков.

Возвращают крайние слева знаки текстового значения.

Возвращают количество знаков в текстовой строке.

Преобразует все буквы текста в строчные.

Возвращают заданное число знаков из строки текста, начиная с указанной позиции.

ЧЗНАЧ

Преобразует текст в число независимо от языкового стандарта.

Извлекает фонетические (фуригана) знаки из текстовой строки.

Преобразует первую букву в каждом слове текста в прописную.

Заменяют знаки в тексте.

Повторяет текст заданное число раз.

Возвращают крайние справа знаки текстовой строки.

Ищут вхождения одного текстового значения в другом (без учета регистра).

Заменяет в текстовой строке старый текст новым.

Преобразует аргументы в текст.

Форматирует число и преобразует его в текст.

ОБЪЕДИНИТЬ

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

Удаляет из текста пробелы.

ЮНИСИМВ

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

UNICODE

Возвращает число (кодовую страницу), которая соответствует первому символу текста.

Преобразует все буквы текста в прописные.

Преобразует текстовый аргумент в число.

Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.

Канал в Telegram

Вы здесь

Работа со строками в Excel. Текстовые функции Excel

Часто в Excel приходится тем или иным образом обрабатывать текстовые строки. Вручную такие операции проделывать очень сложно когда кол-во строк составляет не одну сотню. Для удобства в Excel реализован не плохой набор функций для работы со строковым набором данных. В этой статье я коротко опишу необходимые функции для работы со строками категории «Текстовые» и некоторые рассмотрим на примерах.

Читать еще:  Как включить вкладку разработчик в excel

Функции категории «Текстовые»

Итак, рассмотрим основные и полезные функции категории «Текстовые», с остальными можно ознакомиться самостоятельно.

  • БАТТЕКСТ (Значение) – функция преобразующая число в текстовый тип;
  • ДЛСТР (Значение) – вспомогательная функция, очень полезна при работе со строками. Возвращает длину строки, т.е. кол-во символов содержащихся в строке;
  • ЗАМЕНИТЬ (Старый текст, Начальная позиция, число знаков, новый текст) – заменяет указанное кол-во знаков с определенной позиции в старом тексте на новый;
  • ЗНАЧЕН (Текст) – преобразует текст в число;
  • ЛЕВСИМВ (Строка, Кол-во знаков) – очень полезная функция, возвращает указанное кол-во символов, начиная с первого символа;
  • ПРАВСИМВ (Строка, Кол-во знаков) – аналог функции ЛЕВСИМВ, с той лишь разницей, что возврат символов с последнего символа строки;
  • НАЙТИ (текст для поиска, текст в котором ищем, начальная позиция) – функция возвращает позицию, с которой начинается вхождение искомого текста. Регистр символов учитывается. Если необходимо не различать регистр символов, воспользуйтесь функцией ПОИСК. Возвращается позиция только первого вхождения в строке!
  • ПОДСТАВИТЬ (текст, старый текст, новый текст, позиция) – интересная функция, на первый взгляд похожа на функцию ЗАМЕНИТЬ, но функция ПОДСТАВИТЬ способна заменить на новую подстроку все вхождения в строке, если опущен аргумент «позиция»;
  • ПСТР (Текст, Начальная позиция, Кол-во знаков) – функция похожа на ЛЕВСИМВ, но способна возвратить символы с указанной позиции:
  • СЦЕПИТЬ (Текст1, Текст 2 …. Текст 30) – функция позволяет соединить до 30-ти строк. Так же, можно воспользоваться символом «&», выглядеть будет так «=”Текст1” & ”Текст2” & ”Текст3”»;

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

Пример 1
Дан набор строк:

Необходимо из этих строк извлечь даты, номера накладных, а так же, добавить поле месяц для фильтрации строк по месяцам.

Извлечем в столбец В номера накладных. Для этого найдем так называемый ключевой символ или слово. В нашем примере видно, что перед каждым номером накладной стоит «№», а длина номера накладной 6 символов. Воспользуемся функциями НАЙТИ и ПСТР. Пишем в ячейку B2 следующую формулу :

= ПСТР (A2; НАЙТИ («№»;A2)+1;6)

Разберем формулу. Из строки А2 с позиции следующей после найденного знака «№», мы извлекаем 6 символов номера.

Теперь извлечем дату. Тут все просто. Дата расположена в конце строки и занимает 8 символов. Формула для С2 следующая:

= ПРАВСИМВ (A2;8)

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

= ЗНАЧЕН ( ПРАВСИМВ (A2;8))

а затем, задать формат отображения в ячейке, как это сделать было описано в статье «Формат данных в Excel».

Ну и последнее, для удобства дальнейшей фильтрации строк, введем столбец месяц, который мы получим из даты. Только для создания месяца нам необходимо откинуть день и заменить его на «01». Формула для D2:

= ЗНАЧЕН ( СЦЕПИТЬ («01»; ПРАВСИМВ (A2;6))) или = ЗНАЧЕН («01″& ПРАВСИМВ (A2;6))

Задайте формат ячеке «ММММ ГГГГ». Результат:

Пример 2
В строке «Пример работы со строками в Excel» необходимо все пробелы заменить на знак «_», так же перед словом «Excel» добавить «MS».

Формула будет следующая:

=ПОДСТАВИТЬ(ЗАМЕНИТЬ(A1;ПОИСК(«excel»;A1);0;»MS «);» «;»_»)

Читать еще:  Гетвидео официальный сайт

Для того, чтоб понять данную формулу, разбейте ее на три столбца. Начните с ПОИСК, последней будет ПОДСТАВИТЬ.

Все. Если есть вопросы, задавайте, не стесняйтесь

Функции VBA для работы с текстом

  • ASC ()— эта функция позволяет вернуть числовой код для переданного символа. Например, ASC( «D» ) вернет 68. Эту функцию удобно использовать для того, чтобы определить следующую или предыдущую букву. Обычно она используется вместе с функцией Chr(), которая производит обратную операцию — возвращает символ по переданному его числовому коду.Варианты этой функции — AscB() и AscW():
    • AscB () — возвращает только первый байт числового кода для символа.
    • AscW () — возвращает код для символа в кодировке Unicode
  • Chr () — возвращает символ по его числовому коду. Может использоваться в паре с функцией Asc(), но чаще всего её применяют, когда нужно вывести служебный символ (например кавычки — » ), т.к. кавычки просто так в VBA-коде не ввести(нужно ставить двойные). Я обычно именно эту функцию и использую.

    Dim sWord As String sWord = Chr(34) & «Слово в кавычках» & Chr(34)

    Есть варианты этой функции — ChrB() и ChrW(). Работают аналогично таким же вариантам для функции Asc().
    InStr () и InStrRev ()— одна из самых популярных функций. Позволяет обнаружить в теле строковой переменной символ или последовательность символов и вернуть их позицию. Если последовательность не обнаружена, то возвращается 0.

    Dim sStr As String sStr = «w» If InStr(1, «Hello, World!», sStr, vbTextCompare) > 0 Then MsgBox «Искомое слово присутствует!» Else MsgBox «Искомое слово отсутствует!» End If

    Разница функций в том, что InStr() ищет указанное слово от начала строки, а InStrRev() с конца строки
    Left (), Right (), Mid ()— возможность взять указанное вами количество символов из существующей строковой переменной слева, справа или из середины соответственно.

    Dim sStr As String sStr = «Hello, World!» MsgBox Mid(sStr, 1, 5)

    Dim sStr As String sStr = «Hello, World!» MsgBox Replace(sStr, «Hello», «Bay»)

    Dim sStr As String sStr = «Hello, World!» MsgBox StrConv(«Hello, World!», vbUpperCase)

    В качестве второго параметра параметра могут применяться константы:

    • vbUpperCase: Преобразует все текстовые символы в ВЕРХНИЙ РЕГИСТР
    • vbLowerCase: Преобразует все текстовые символы в нижний регистр
    • vbProperCase: Переводит первый символ каждого слова в Верхний Регистр
    • *vbWide: Преобразует символы строки из однобайтовых в двухбайтовые
    • *vbNarrow: Преобразует символы строки из двухбайтовых в однобайтовые
    • **vbKatakana: Преобразует символы Hiragana в символы Katakana
    • **vbHiragana: Преобразует символы Katakana в символы Hiragana
    • ***vbUnicode: Преобразует строку в Юникод с помощью кодовой страницы системы по умолчанию
    • ***vbFromUnicode: Преобразует строку из Юникод в кодовую страницу системы по умолчанию

    * применимо для локализацией Дальнего востока
    ** применимо только для Японии
    *** не поддерживается операционными системами под управлением Macintosh

  • StrReverse () — «перевернуть» строку, разместив ее символы в обратном порядке. Функция работает только начиная от Excel 2000 и выше. Пример использования функции, а так же иные методы переворачивания слова можно посмотреть в этой статье: Как перевернуть слово?
  • Tab () — еще одна функция, которая используется для форматирования вывода на консоль. Размножает символы табуляции в том количестве, в котором вы укажете. Если никакое количество не указано, просто вставляет символ табуляции. Для вставки символа табуляции в строковое значение можно также использовать константу vbTab.
  • String () — позволяет получить строку из указанного количества символов (которые опять-таки указываются Вами). Обычно используются для форматирования вывода совместно с функцией Len().
  • Ссылка на основную публикацию
    Adblock
    detector