Строковые данные в excel

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

Примеры функции ТЕКСТ в Excel

Преобразует числа в текст. Синтаксис: значение (числовое или ссылка на ячейку с формулой, дающей в результате число); формат (для отображения числа в виде текста).

Самая полезная возможность функции ТЕКСТ – форматирование числовых данных для объединения с текстовыми данными. Без использования функции Excel «не понимает», как показывать числа, и преобразует их в базовый формат.

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

Выручка.

Использование амперсанда без функции ТЕКСТ дает «неадекватный» результат:

Плохой пример.

Excel вернул порядковый номер для даты и общий формат вместо денежного. Чтобы избежать подобного результата, применяется функция ТЕКСТ. Она форматирует значения по заданию пользователя.

ТЕКСТ.

Формула «для даты» теперь выглядит так:

Второй аргумент функции – формат. Где брать строку формата? Щелкаем правой кнопкой мыши по ячейке со значением. Нажимаем «Формат ячеек». В открывшемся окне выбираем «все форматы». Копируем нужный в строке «Тип». Вставляем скопированное значение в формулу.

Формат ячеек.

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

Числа.

Если нужно вернуть прежние числовые значения (без нулей), то используем оператор «—»:

Оператор 2 минуса.

Обратите внимание, что значения теперь отображаются в числовом формате.



Функция разделения текста в Excel

Отдельные текстовые функции и их комбинации позволяют распределить слова из одной ячейки в отдельные ячейки:

  • ЛЕВСИМВ (текст; кол-во знаков) – отображает заданное число знаков с начала ячейки;
  • ПРАВСИМВ (текст; кол-во знаков) – возвращает заданное количество знаков с конца ячейки;
  • ПОИСК (искомый текст; диапазон для поиска; начальная позиция) – показывает позицию первого появления искомого знака или строки при просмотре слева направо

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

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

ФИО.

В первой строке есть только имя и фамилия, разделенные пробелом. Формула для извлечения имени: =ЛЕВСИМВ(A2;ПОИСК(» «;A2;1)). Для определения второго аргумента функции ЛЕВСИМВ – количества знаков – используется функция ПОИСК. Она находит пробел в ячейке А2, начиная слева.

Формула для извлечения фамилии:

ПРАВСИМВ.

С помощью функции ПОИСК Excel определяет количество знаков для функции ПРАВСИМВ. Функция ДЛСТР «считает» общую длину текста. Затем отнимается количество знаков до первого пробела (найденное ПОИСКом).

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

ЛЕВСИМВ.

Формула для извлечения фамилии несколько иная: Это пять знаков справа. Вложенные функции ПОИСК ищут второй и третий пробелы в строке. ПОИСК(» «;A3;1) находит первый пробел слева (перед отчеством). К найденному результату добавляем единицу (+1). Получаем ту позицию, с которой будем искать второй пробел.

Часть формулы – ПОИСК(» «;A3;ПОИСК(» «;A3;1)+1) – находит второй пробел. Это будет конечная позиция отчества.

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

Формула «для отчества» строится по тем же принципам:

ПСТР.

Функция объединения текста в Excel

Для объединения значений из нескольких ячеек в одну строку используется оператор амперсанд (&) или функция СЦЕПИТЬ.

Например, значения расположены в разных столбцах (ячейках):

ФИО 2.

Ставим курсор в ячейку, где будут находиться объединенные три значения. Вводим равно. Выбираем первую ячейку с текстом и нажимаем на клавиатуре &. Затем – знак пробела, заключенный в кавычки (“ “). Снова — &. И так последовательно соединяем ячейки с текстом и пробелы.

Получаем в одной ячейке объединенные значения:

Объединение.

Использование функции СЦЕПИТЬ:

СЦЕПИТЬ.

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

Функция ПОИСК текста в Excel

Функция ПОИСК возвращает начальную позицию искомого текста (без учета регистра). Например:

СЦЕПИТЬ.

Функция ПОИСК вернула позицию 10, т.к. слово «Захар» начинается с десятого символа в строке. Где это может пригодиться?

Функция ПОИСК определяет положение знака в текстовой строке. А функция ПСТР возвращает текстовые значения (см. пример выше). Либо можно заменить найденный текст посредством функции ЗАМЕНИТЬ.

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

Читайте так же: как перевести число и сумму прописью.

Синтаксис функции ПОИСК:

  • «искомый текст» — что нужно найти;
  • «просматриваемый текст» — где искать;
  • «начальная позиция» — с какой позиции начинать искать (по умолчанию – 1).

Если нужно учитывать регистр, используется функция НАЙТИ.

На чтение 23 мин. Просмотров 18.7k.

VBA String Functions

Содержание

  1. Краткое руководство по текстовым функциям
  2. Введение
  3. Прочитайте это в первую очередь!
  4. Добавление строк
  5. Извлечение части строки
  6. Поиск в строке
  7. Удаление пробелов
  8. Длина строки
  9. Перевернуть текст
  10. Сравнение
  11. Сравнение строк с использованием сопоставления с шаблоном
  12. Заменить часть строки
  13. Преобразовать типы в строку (базовый)
  14. Преобразовать строку в число — CLng, CDbl, Val и т.д.
  15. Генерация строки элементов — функция строки
  16. Преобразовать регистр / юникод — StrConv, UCase, LCase
  17. Использование строк с массивами
  18. Форматирование строки
  19. Заключение

Краткое руководство по текстовым функциям

Текстовые операции Функции
Добавить две или более строки Format or «&»
Построить текст из массива Join
Сравнить StrComp or «=»
Сравнить — шаблон Like
Преобразовать в текст CStr, Str
Конвертировать текст в дату Просто: CDate 
Дополнительно: Format
Преобразовать текст в число Просто: CLng, CInt, CDbl, Val
Дополнительно: Format
Конвертировать в юникод, широкий, узкий StrConv
Преобразовать в верхний / нижний регистр StrConv, UCase, LCase
Извлечь часть текста Left, Right, Mid
Форматировать текст Format
Найти символы в тексте InStr, InStrRev
Генерация текста String
Получить длину строки Len
Удалить пробелы LTrim, RTrim, Trim
Заменить часть строки Replace
Перевернуть строку StrReverse
Разобрать строку в массив Split

Введение

Использование строк является очень важной частью VBA. Есть много типов манипуляций, которые вы можете делать со строками. К ним относятся такие задачи, как:

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

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

Эта статья содержит подробное руководство по использованию строки в VBA. Он объясняет строки в простых терминах с понятными примерами кода. Изложение в статье поможет легко использовать ее в качестве краткого справочного руководства.

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

Прочитайте это в первую очередь!

Следующие два пункта очень важны при работе со строковыми функциями VBA.

Исходная строка не изменяется

Важно помнить, что строковые функции VBA не изменяют исходную строку. Они возвращают новую строку с изменениями, внесенными функцией. Если вы хотите изменить исходную строку, вы просто назначаете результат исходной строке. См. Раздел «Извлечение части строки» для примеров.

Как использовать Compare

Некоторые строковые функции, такие как StrComp (), Instr () и т.д. имеют необязательный параметр Compare. Он работает следующим образом:

vbTextCompare: верхний и нижний регистры считаются одинаковыми

vbBinaryCompare: верхний и нижний регистр считаются разными

Следующий код использует функцию сравнения строк StrComp () для демонстрации параметра Compare.

Sub Comp1()

    ' Печатает 0  : Строки совпадают
    Debug.Print StrComp("АБВ", "абв", vbTextCompare)
    ' Печатает -1 : Строки не совпадают
    Debug.Print StrComp("АБВ", "абв", vbBinaryCompare)

End Sub

Вы можете использовать параметр Option Compare вместо того, чтобы каждый раз использовать этот параметр. Опция сравнения устанавливается в верхней части модуля. Любая функция, которая использует параметр Compare, примет этот параметр по умолчанию. Два варианта использования Option Compare:

  • Oпция Compare Text: делает vbTextCompare аргументом сравнения по умолчанию
Option Compare Text

Sub Comp2()
    ' Соответствие строк - использует vbCompareText в качестве 'аргумента сравнения
    Debug.Print StrComp("АБВ", "абв")
    Debug.Print StrComp("ГДЕ", "где")
End Sub
  • Опция Compare Binary: делает vbBinaryCompare аргументом сравнения по умолчанию.
Option Compare Binary

Sub Comp2()
    ' Строки не совпадают - использует vbCompareBinary в качестве 'аргумента сравнения
    Debug.Print StrComp("АБВ", "абв")
    Debug.Print StrComp("ГДЕ", "где")
End Sub

Если Option Compare не используется, то по умолчанию используется Option Compare Binary.

Теперь, когда вы понимаете эти два важных момента о строке, мы можем продолжить и посмотреть на строковые функции индивидуально.

Добавление строк

VBA String Functions - Smaller

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

Sub Dobavlenie()

    Debug.Print "АБВ" & "ГДЕ"
    Debug.Print "Иван" & " " & "Петров"
    Debug.Print "Длинный " & 22
    Debug.Print "Двойной " & 14.99
    Debug.Print "Дата " & #12/12/2015#

End Sub

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

 Это даст сообщение об ошибке: «Несоответствие типов»
    Debug.Print "Длинный " + 22

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

Извлечение части строки

Функции, обсуждаемые в этом разделе, полезны при базовом извлечении из строки. Для чего-то более сложного можете посмотреть раздел, как легко извлечь любую строку без использования VBA InStr.

Функция Параметры Описание Пример
Left строка, длина Вернуть
символы с
левой стороны
Left(«Иван
Петров»,4)
Right строка, длина Вернуть
символы с
правой
стороны
Right(«Иван
Петров»,5)
Mid строка, начало, длина Вернуть
символы из
середины
Mid(«Иван
Петров»,3,2)

Функции Left, Right и Mid используются для извлечения частей строки. Это очень простые в использовании функции. Left читает символы слева, Right справа и Mid от указанной вами начальной точки.

Sub IspLeftRightMid()

    Dim sCustomer As String
    sCustomer = "Иван Васильевич Петров"

    Debug.Print Left(sCustomer, 4)  '  Печатает: Иван
    Debug.Print Right(sCustomer, 6) '  Печатает: Петров

    Debug.Print Left(sCustomer, 15)  '  Печатает: Иван Васильевич
    Debug.Print Right(sCustomer, 17)  '  Печатает: Васильевич Петров

    Debug.Print Mid(sCustomer, 1, 4) ' Печатает: Иван
    Debug.Print Mid(sCustomer, 6, 10) ' Печатает: Васильевич
    Debug.Print Mid(sCustomer, 17, 6) ' Печатает: Петров

End Sub

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

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

Sub PrimerIspolzovaniyaLeft()

    Dim Fullname As String
    Fullname = "Иван Петров"

    Debug.Print "Имя: "; Left(Fullname, 4)
    ' Исходная строка не изменилась
    Debug.Print "Полное имя: "; Fullname

 End Sub

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

Sub IzmenenieStroki()

    Dim name As String
    name = "Иван Петров"

    ' Присвойте возвращаемую строку переменной имени
    name = Left(name, 4)

    Debug.Print "Имя: "; name

 End Sub

Поиск в строке

Функция Параметры Описание Пример
InStr Текст1,
текст2
Находит
положение
текста
InStr(«Иван
Петров»,»в»)
InStrRev Проверка
текста,
соответствие
текста
Находит
позицию
текста с конца
InStrRev(«Иван Петров»,»в»)

InStr и InStrRev — это функции VBA, используемые для поиска текста в тексте. Если текст поиска найден, возвращается позиция (с начала строки проверки) текста поиска. Когда текст поиска не найден, возвращается ноль. Если какой-либо текст имеет значение null, возвращается значение null.

InStr Описание параметров

InStr() Start[Необязат], String1, String2, Compare[Необязат]

  • Start [Необязательно — по умолчанию 1]: это число, указывающее начальную позицию поиска слева
  • String1: текст, в котором будем искать
  • String2: текст, который будем искать
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

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

InStr возвращает первую позицию в тексте, где найден данный текст. Ниже приведены некоторые примеры его использования.

Sub PoiskTeksta()

    Dim name As String
    name = "Иван Петров"

    ' Возвращает 3 - позицию от первой 
    Debug.Print InStr(name, "а")
    ' Возвращает 10 - позиция первого "а", начиная с позиции 4
    Debug.Print InStr(4, name, "а")
    ' Возвращает 8
    Debug.Print InStr(name, "тр")
    ' Возвращает 6
    Debug.Print InStr(name, "Петров")
    ' Возвращает 0 - текст "ССС" не найдет
    Debug.Print InStr(name, "ССС")

End Sub

InStrRev Описание параметров

InStrRev() StringCheck, StringMatch, Start[Необязат], Compare[Необязат]

  • StringCheck: текст, в котором будем искать
  • StringMatch: Текст, который будем искать
  • Start [Необязательно — по умолчанию -1]: это число, указывающее начальную позицию поиска справа
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

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

Функция InStrRev такая же, как InStr, за исключением того, что она ищет с конца строки. Важно отметить, что возвращаемая позиция является позицией с самого начала. Поэтому, если существует только один экземпляр элемента поиска, InStr () и InStrRev () будут возвращать одно и то же значение.

В следующем коде показаны некоторые примеры использования InStrRev.

Sub IspInstrRev()

    Dim name As String
    name = "Иван Петров"

    ' Обе возвращают 1 - позицию, только И
    Debug.Print InStr(name, "И")
    Debug.Print InStrRev(name, "И")

    ' Возвращает 11 - вторую в
    Debug.Print InStrRev(name, "в")
    ' Возвращает 3 - первую в с позиции 9
    Debug.Print InStrRev(name, "в", 9)

    ' Returns 1
    Debug.Print InStrRev(name, "Иван")

End Sub

Функции InStr и InStrRev полезны при работе с базовым поиском текста. Однако, если вы собираетесь использовать их для извлечения текста из строки, они могут усложнить задачу. Я написал о гораздо лучшем способе сделать это в своей статье Как легко извлечь любой текст без использования VBA InStr.

Удаление пробелов

Функция Параметры Описание Пример
LTrim Текст Убирает
пробелы слева
LTrim(» Иван «)
RTrim Текст Убирает
пробелы
справа
RTrim(» Иван «)
Trim Текст Убирает
пробелы слева и справа
Trim(» Иван «)

Функции Trim — это простые функции, которые удаляют пробелы в начале или конце строки.

Функции и примеры использования триммера Trim

  • LTrim удаляет пробелы слева от строки
  • RTrim удаляет пробелы справа от строки
  • Trim удаляет пробелы слева и справа от строки
Sub TrimStr()

    Dim name As String
    name = "  Иван Петров  "

    ' Печатает "Иван Петров  "
    Debug.Print LTrim(name)
    ' Печатает "  Иван Петров"
    Debug.Print RTrim(name)
    ' Печатает "Иван Петров"
    Debug.Print Trim(name)

End Sub

Длина строки

Функция Параметры Описание Пример
Len Текст Возвращает
длину строки
Len («Иван Петров»)

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

Sub IspLen()

    Dim name As String
    name = "Иван Петров"

    ' Печатает 11
    Debug.Print Len("Иван Петров")
    ' Печатает 3
    Debug.Print Len("АБВ")

    ' Печатает 4 с Long - это размер 4 байта
    Dim total As Long
    Debug.Print Len(total)

End Sub

Перевернуть текст

Функция Параметры Описание Пример
StrReverse Текст Перевернуть
текст
StrReverse
(«Иван
Петров»)

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

Sub RevStr()

    Dim s As String
    s = "Иван Петров"
    ' Печатает: вортеП навИ
    Debug.Print StrReverse(s)

End Sub

Сравнение

Функция Параметры Описание Пример
StrComp Текст1, текст2 Сравнивает 2
текста
StrComp
(«Иван»,
«Иван»)

Функция StrComp используется для сравнения двух строк. Следующие подразделы описывают, как используется.

Описание параметров

StrComp()  String1, String2, Compare[Необязат]

  • String1: первая строка для сравнения
  • String2: вторая строка для сравнения
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

StrComp Возвращаемые значения

Возвращаемое значение Описание
0 Совпадение строк
-1 строка1 меньше строки2
1 строка1 больше строки2
Null если какая-либо строка равна нулю

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

Ниже приведены некоторые примеры использования функции StrComp.

Sub IspStrComp()

   ' Возвращает  0
   Debug.Print StrComp("АБВ", "АБВ", vbTextCompare)
   ' Возвращает 1
   Debug.Print StrComp("АБВГ", "АБВ", vbTextCompare)
   ' Возвращает -1
   Debug.Print StrComp("АБВ", "АБВГ", vbTextCompare)
   ' Returns Null
   Debug.Print StrComp(Null, "АБВГ", vbTextCompare)

End Sub

Сравнение строк с использованием операторов

Вы также можете использовать знак равенства для сравнения строк. Разница между сравнением equals и функцией StrComp:

  1. Знак равенства возвращает только true или false.
  2. Вы не можете указать параметр Compare, используя знак равенства — он использует настройку «Option Compare».  

Ниже приведены некоторые примеры использования equals для сравнения строк.

Option Compare Text

Sub CompareIspEquals()

    ' Возвращает true
    Debug.Print "АБВ" = "АБВ"
    ' Возвращает true, потому что «Сравнить текст» установлен выше
    Debug.Print "АБВ" = "абв"
    ' Возвращает false
    Debug.Print "АБВГ" = "АБВ"
    ' Возвращает false
    Debug.Print "АБВ" = "АБВГ"
    ' Возвращает null
    Debug.Print Null = "АБВГ"

End Sub

Сравнение строк с использованием сопоставления с шаблоном

Функция Параметры Описание Пример
Like Текст, шаблон проверяет, имеет
ли строка
заданный
шаблон
«abX» Like «??X»
«54abc5» Like «*abc#»
Знак Значение
? Любой одиночный символ
# Любая однозначная цифра (0-9)
* Ноль или более символов
[charlist] Любой символ в списке
[!charlist] Любой символ не в списке символов

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

Если строка соответствует шаблону, возвращаемое значение равно true, в противном случае — false.

Сопоставление с образцом аналогично функции формата VBA в том смысле, что его можно использовать практически безгранично. В этом разделе я приведу несколько примеров, которые объяснят, как это работает. Это должно охватывать наиболее распространенные виды использования.

Давайте посмотрим на базовый пример с использованием знаков. Возьмите следующую строку шаблона.

[abc][!def]?#X*

 Давайте посмотрим, как работает эта строка

[abc] — символ, который является или a, b или c
[! def] — символ, который не является d, e или f
? любой символ
# — любая цифра
X — символ X
* следуют ноль или более символов

 Поэтому следующая строка действительна
apY6X

а — один из символов a,b,c
p — не один из символов d, e или f
Y — любой символ
6 — это цифра
Х — это буква Х

В следующих примерах кода показаны результаты различных строк с этим шаблоном.

Sub Shabloni()

    ' ИСТИНА
    Debug.Print 1; "apY6X" Like "[abc][!def]?#X*"
    ' ИСТИНА - любая комбинация символов после x действительна
    Debug.Print 2; "apY6Xsf34FAD" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - символ не из[abc]
    Debug.Print 3; "dpY6X" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - 2-й символ e находится в [def]
    Debug.Print 4; "aeY6X" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - A в позиции 4 не является цифрой
    Debug.Print 5; "apYAX" Like "[abc][!def]?#X*"
    ' ЛОЖЬ - символ в позиции 5 должен быть X
    Debug.Print 1; "apY6Z" Like "[abc][!def]?#X*"

End Sub

Реальный пример сопоставления с образцом

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

Важное примечание о сопоставлении с образцом VBA

Оператор Like использует двоичное или текстовое сравнение на основе параметра Option Compare. Пожалуйста, смотрите раздел Сравнение для более подробной информации.

Заменить часть строки

Функция Параметры Описание Пример
Replace строка, найти, заменить,
начать,
считать,
сравнивать
Заменяет текст Replace
(«Ива»,»а»,»ан»)

Replace используется для замены текста в строке другим текстом. Он заменяет все экземпляры текста, найденные по умолчанию.

Replace описание параметров

Replace()  Expression, Find, Replace, Start[Необязат], Count[Необязат], Compare[Необязат]

  • Expression: текст, в котором нужна замена символов
  • Find: текст для замены в строке выражения
  • Replace: строка для поиска замены текста поиска
  • Start [Необязательно — по умолчанию 1]: начальная позиция в строке
  • Count [Необязательно — по умолчанию -1]: количество замен. По умолчанию -1 означает все.
  • Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.

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

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

Sub PrimeriReplace()

    ' Заменяет все знаки вопроса (?) на точку с запятой (;)
    Debug.Print Replace("A?B?C?D?E", "?", ";")
    ' Заменить Петров на Иванов
    Debug.Print Replace("Евгений Петров,Артем Петров", "Петров", "Иванов")
    ' Заменить AX на AB
    Debug.Print Replace("ACD AXC BAX", "AX", "AB")

End Sub

На выходе:

A;B;C;D;E
Евгений Иванов,Артем Иванов
ACD ABC BAB

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

Sub ReplaceCount()

    ' Заменяет только первый знак вопроса
    Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=1)
    ' Заменяет первые три знака вопроса
    Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=3)

End Sub

На выходе:

A;B?C?D?E
A;B;C;D?E

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

Sub ReplacePartial()

    ' Использовать оригинальную строку из позиции 4
    Debug.Print Replace("A?B?C?D?E", "?", ";", Start:=4)
    ' Используйте оригинальную строку из позиции 8
    Debug.Print Replace("AA?B?C?D?E", "?", ";", Start:=8)
    ' Элемент не заменен, но по-прежнему возвращаются только последние '2 символа
    Debug.Print Replace("ABCD", "X", "Y", Start:=3)

End Sub

На выходе:

;C;D;E
;E
CD

Иногда вы можете заменить только заглавные или строчные буквы. Вы можете использовать параметр Compare для этого. Он используется во многих строковых функциях. Для получения дополнительной информации об этом проверьте раздел сравнения.

Sub ReplaceCase()

    ' Заменить только заглавные А
    Debug.Print Replace("AaAa", "A", "X", Compare:=vbBinaryCompare)
    ' Заменить все А
    Debug.Print Replace("AaAa", "A", "X", Compare:=vbTextCompare)

End Sub

На выходе:

XaXa
XXXX

Многократные замены

Если вы хотите заменить несколько значений в строке, вы можете вкладывать вызовы. В следующем коде мы хотим заменить X и Y на A и B соответственно.

Sub ReplaceMulti()

    Dim newString As String

    ' Заменить А на Х
    newString = Replace("ABCD ABDN", "A", "X")
    ' Теперь замените B на Y в новой строке
    newString = Replace(newString, "B", "Y")

    Debug.Print newString

End Sub

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

Sub ReplaceMultiNested()

    Dim newString As String

    ' Заменить A на X, а B на Y
    newString = Replace(Replace("ABCD ABDN", "A", "X"), "B", "Y")

    Debug.Print newString

End Sub

Результатом обоих этих Subs является:
XYCD XYDN

Преобразовать типы в строку (базовый)

Этот раздел о преобразовании чисел в строку. Очень важным моментом здесь является то, что в большинстве случаев VBA автоматически конвертируется в строку для вас. Давайте посмотрим на некоторые примеры:

Sub AutoConverts()

    Dim s As String
    ' Автоматически преобразует число в строку
    s = 12.99
    Debug.Print s

    ' Автоматически преобразует несколько чисел в строку
    s = "ABC" & 6 & 12.99
    Debug.Print s

    ' Автоматически преобразует двойную переменную в строку
    Dim d As Double, l As Long
    d = 19.99
    l = 55
    s = "Значения: " & d & " " & l
    Debug.Print s

End Sub

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

Явное преобразование

Функция Параметры Описание Пример
CStr выражение Преобразует
числовую
переменную
в строку
CStr («45.78»)
Str число Преобразует
числовую
переменную
в строку
Str («45.78»)

В некоторых случаях вы можете захотеть преобразовать элемент в строку без необходимости сначала помещать его в строковую переменную. В этом случае вы можете использовать функции Str или CStr. Оба принимают выражение как функцию, и это может быть любой тип, например long, double, data или boolean.

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

Sub IspStr()

    Dim coll As New Collection
    Dim c As Range

    ' Считать значения ячеек в коллекцию
    For Each c In Range("A1:A10")
        ' Используйте Str для преобразования значения ячейки в строку
        coll.Add Str(c)
    Next

    ' Распечатайте значения и тип коллекции
    Dim i As Variant
    For Each i In coll
        Debug.Print i, TypeName(i)
    Next

End Sub

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

Multi Region

Разница между функциями Str и CStr заключается в том, что CStr преобразует в зависимости от региона. Если ваши макросы будут использоваться в нескольких регионах, вам нужно будет использовать CStr для преобразования строк.

Хорошей практикой является использование CStr при чтении значений из ячеек. Если ваш код в конечном итоге используется в другом регионе, вам не нужно вносить какие-либо изменения, чтобы он работал правильно.

Преобразовать строку в число — CLng, CDbl, Val и т.д.

Функция Возвращает Пример
CBool Boolean CBool(«True»), CBool(«0»)
CCur Currency CCur(«245.567»)
CDate Date CDate(«1/1/2019»)
CDbl Double CDbl(«245.567»)
CDec Decimal CDec(«245.567»)
CInt Integer CInt(«45»)
CLng Long Integer CLng(«45.78»)
CVar Variant CVar(«»)

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

Sub StrToNumeric()

    Dim l As Long, d As Double, c As Currency
    Dim s As String
    s = "45.923239"

    l = s
    d = s
    c = s

    Debug.Print "Long is "; l
    Debug.Print "Double is "; d
    Debug.Print "Currency is "; c

End Sub

Использование типов преобразования дает большую гибкость. Это означает, что вы можете определить тип во время выполнения. В следующем коде мы устанавливаем тип на основе аргумента sType, передаваемого в функцию PrintValue. Поскольку этот тип может быть прочитан из внешнего источника, такого как ячейка, мы можем установить тип во время выполнения. Если мы объявим переменную как Long, то при выполнении кода она всегда будет длинной.

Sub Test()
    ' Печатает  46
    PrintValue "45.56", "Long"
    ' Печатает 45.56
    PrintValue "45.56", ""
End Sub

Sub PrintValue(ByVal s As String, ByVal sType As String)

    Dim value

    ' Установите тип данных на основе строки типа
    If sType = "Long" Then
        value = CLng(s)
    Else
        value = CDbl(s)
    End If
    Debug.Print "Type is "; TypeName(value); value

End Sub

Если строка не является допустимым числом (т.е. Содержит символы, другие цифры), вы получаете ошибку «Несоответствие типов».

Sub InvalidNumber()

    Dim l As Long

    ' Даст ошибку несоответствия типов
    l = CLng("45A")

End Sub

Функция Val

Функция преобразует числовые части строки в правильный тип числа.

Val преобразует первые встреченные числа. Как только он встречает буквы в строке, он останавливается. Если есть только буквы, то в качестве значения возвращается ноль. Следующий код показывает некоторые примеры использования Val

Sub IspVal()

    ' Печатает 45
    Debug.Print Val("45 Новая улица")

    ' Печатает 45
    Debug.Print Val("    45 Новая улица")

    ' Печатает 0
    Debug.Print Val("Новая улица 45")

    ' Печатает 12
    Debug.Print Val("12 f 34")

End Sub

Val имеет два недостатка

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

Генерация строки элементов — функция строки

Функция Параметры Описание Пример
String число, символ Преобразует
числовую
переменную
в строку
String (5,»*»)

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

Sub IspString()

    ' Печатает: AAAAA
    Debug.Print String(5, "A")
    ' Печатает: >>>>>
    Debug.Print String(5, 62)
    ' Печатает: (((ABC)))
    Debug.Print String(3, "(") & "ABC" & String(3, ")")

End Sub

Преобразовать регистр / юникод — StrConv, UCase, LCase

Функция Параметры Описание Пример
StrConv строка,
преобразование, LCID
Преобразует
строку
StrConv(«abc»,vbUpperCase)

Если вы хотите преобразовать регистр строки в верхний или нижний регистр, вы можете использовать функции UCase и LCase для верхнего и нижнего соответственно. Вы также можете использовать функцию StrConv с аргументом vbUpperCase или vbLowerCase. В следующем коде показан пример использования этих трех функций.

Sub ConvCase()

    Dim s As String
    s = "У Мэри был маленький ягненок"

    ' верхний
    Debug.Print UCase(s)
    Debug.Print StrConv(s, vbUpperCase)

    ' нижний
    Debug.Print LCase(s)
    Debug.Print StrConv(s, vbLowerCase)

    ' Устанавливает первую букву каждого слова в верхний регистр
    Debug.Print StrConv(s, vbProperCase)

End Sub

На выходе: 

У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
у мэри был маленький ягненок
у мэри был маленький ягненок
У Мэри Был Маленький Ягненок

Другие преобразования

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

Постоянные Преобразует Значение
vbUpperCase 1 в верхний регистр
vbLowerCase 2 в нижнем регистре
vbProperCase 3 первая буква
каждого слова в
верхнем регистре
vbWide* 4 от узкого к
широкому
vbNarrow* 8 от широкого к
узкому
vbKatakana** 16 из Хираганы в
Катакану
vbHiragana 32 из Катаканы в
Хирагану
vbUnicode 64 в юникод
vbFromUnicode 128 из юникода

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

Функция Параметры Описание Пример
Split выражение,
разделитель,
ограничить,
сравнить
Разбирает
разделенную
строку в
массив
arr = Split(«A;B;C»,»;»)
Join исходный
массив,
разделитель
Преобразует
одномерный
массив в
строку
s = Join(Arr, «;»)

Строка в массив с использованием Split

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

Sub StrToArr()

    Dim arr() As String
    ' Разобрать строку в массив
    arr = Split("Иван,Анна,Павел,София", ",")

    Dim name As Variant
    For Each name In arr
        Debug.Print name
    Next

End Sub

На выходе:

Иван
Анна
Павел
София

Если вы хотите увидеть некоторые реальные примеры использования Split, вы найдете их в статье Как легко извлечь любую строку без использования VBA InStr.

Массив в строку, используя Join

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

Sub ArrToStr()

    Dim Arr(0 To 3) As String
    Arr(0) = "Иван"
    Arr(1) = "Анна"
    Arr(2) = "Павел"
    Arr(3) = "София"

    ' Построить строку из массива
    Dim sNames As String
    sNames = Join(Arr, ",")

    Debug.Print sNames

End Sub

На выходе:

Иван, Анна, Павел, София

Форматирование строки

Функция Параметры Описание Пример
Format выражение,
формат,
firstdayofweek,
firstweekofyear
Форматирует
строку
Format(0.5, «0.00%»)

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

Sub FormatDate()

    Dim s As String
    s = "31/12/2019 10:15:45"

    ' Печатает: 31 12 19
    Debug.Print Format(s, "DD MM YY")
    ' Печатает: Thu 31 Dec 2019
    Debug.Print Format(s, "DDD DD MMM YYYY")
    ' Печатает: Thursday 31 December 2019
    Debug.Print Format(s, "DDDD DD MMMM YYYY")
    ' Печатает: 10:15
    Debug.Print Format(s, "HH:MM")
    ' Печатает: 10:15:45 AM
    Debug.Print Format(s, "HH:MM:SS AM/PM")

End Sub

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

Sub FormatNumbers()

    ' Печатает: 50.00%
    Debug.Print Format(0.5, "0.00%")
    ' Печатает: 023.45
    Debug.Print Format(23.45, "00#.00")
    ' Печатает: 23,000
    Debug.Print Format(23000, "##,000")
    ' Печатает: 023,000
    Debug.Print Format(23000, "0##,000")
    ' Печатает: $23.99
    Debug.Print Format(23.99, "$#0.00")

End Sub

Функция «Формат» — довольно обширная тема, и она может самостоятельно занять всю статью. Если вы хотите получить больше информации, то страница формата MSDN предоставляет много информации.

Полезный совет по использованию формата

Быстрый способ выяснить используемое форматирование — использовать форматирование ячеек на листе Excel. Например, добавьте число в ячейку. Затем щелкните правой кнопкой мыши и отформатируйте ячейку так, как вам нужно. Если вы довольны форматом, выберите «Пользовательский» в списке категорий слева. При выборе этого вы можете увидеть строку формата в текстовом поле типа. Это формат строки, который вы можете использовать в VBA.

VBA Format Function

Заключение

Практически в любом типе программирования вы потратите много времени на манипулирование строками. В этой статье рассматриваются различные способы использования строк в VBA.

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

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

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 Еще…Меньше

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

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

Функция

Описание

Функция МАССИВВТЕКСТ

Кнопка Office 365

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

ASC

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

БАТТЕКСТ

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

СИМВОЛ

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

ПЕЧСИМВ

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

КОДСИМВ

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

СЦЕП

Excel 2016

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

СЦЕПИТЬ

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

DBCS

Excel 2013

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

РУБЛЬ

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

СОВПАД

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

НАЙТИ, НАЙТИБ

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

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

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

ЛЕВСИМВ, ЛЕВБ

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

ДЛСТР, ДЛИНБ

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

СТРОЧН

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

ПСТР, ПСТРБ

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

ЧЗНАЧ

Excel 2013

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

PHONETIC

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

ПРОПНАЧ

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

ЗАМЕНИТЬ, ЗАМЕНИТЬБ

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

ПОВТОР

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

ПРАВСИМВ, ПРАВБ

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

ПОИСК, ПОИСКБ

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

ПОДСТАВИТЬ

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

Т

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

ТЕКСТ

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

Функция TEXTAFTER

Кнопка Office 365

Возвращает текст, который происходит после заданного символа или строки

Функция TEXTBEFORE

Кнопка Office 365

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

Функция TEXTJOIN

Кнопка Office 365

Объединяет текст из нескольких диапазонов и (или) строк

Функция TEXTSPLIT

Кнопка Office 365

Разделение текстовых строк с помощью разделителей столбцов и строк

СЖПРОБЕЛЫ

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

ЮНИСИМВ

Excel 2013

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

UNICODE

Excel 2013

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

ПРОПИСН

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

ЗНАЧЕН

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

Функция ЗНАЧЕНИЕВТЕКСТ

Кнопка Office 365

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

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

См. также

Функции Excel (по категориям)

Функции Excel (по алфавиту)

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

Excel is mostly about numerical, however, we often have data of text data type. Here are a few functions we should know to handle text data.

  • LEFT
  • RIGHT
  • MID
  • LEN
  • FIND

The LEFT function

The LEFT function returns a given text from the left of our text string based on the number of characters specified.

Syntax:

LEFT(text, [num_chars])

Parameters:

  • Text: The text we want to extract from.  
  • Num_chars (Optional): The number of characters you want to extract. Default num_chars is 1 and the number must be a positive number that is greater than zero.  

Example:

Step 1: Format your data.

Now if you want to get the first “Geeks” from “Geeksforgeeks” in B2. Let us follow the next step.

Step 2: We will enter =LEFT(B2,5) in the B3 cell. Here we want Excel to extract the first 5 characters from the left side of our text in B2.

This will return “Geeks”.

The RIGHT Function

The RIGHT function returns a given text from the left of our text string based on the number of characters specified.

Syntax:

RIGHT(text, [num_chars])

Parameters:

  • Text: The text we want to extract from.  
  • Num_chars (Optional): The number of characters you want to extract. Default num_chars is 1 and the number must be a positive number that is greater than zero.  

Example:

Step 1: Format your data.

Now if you want to get the last geeks from “Geeksforgeeks” in B2. Let us follow the next step.

Step 2: We will enter =RIGHT(B2,5) in the B3 cell. Here we want Excel to extract the last 5 characters from the right side of our text in B2.

This will return “geeks”.

The MID function

The MID function returns the text from any middle part of our text string based on the starting position and number of characters specified.

Syntax:

MID(text, start_num, num_chars)

Parameters:

  • Text: The text we want to extract from.  
  • start_num: The starting number of the first character from the text we want to extract.
  • Num_chars: The number of characters you want to extract.

Example:

Step 1: Format your data.

Now if you want to get the character “for” which is located in the middle of our text “Geeksforgeeks” in B2. Let us follow the next step.

Step 2: We will enter =MID(B2,5,3) in the B3 cell. Here we want Excel to extract the characters located in the middle of our text in B2.

This will return “for”.

The Len Function

The LEN function returns the number of characters in the text strings.

Syntax:

LEN(text)

Parameters:

  • Text: The text we want to know the length

Example:

Step 1: Format your data.

Now if you want to know how many characters are in the text “Geeksforgeeks”. Let us follow the next step.

Step 2: We will enter =LEN(B2) in the B3 cell. Excel will count how many characters are in the text.

This will return 13.

The FIND Function

The FIND function returns the position of a given text within a text.

Syntax:

FIND(find_text, within_text, [start_num])

Parameters:

  • Find_text: The text we want to find.  
  • Within_text: The text containing our find_text.
  • Start_num (Optional): The starting position of our find_text. Default is 1.  

Example:

Step 1: Format your data.

Now if you want to find “for” in geeksforgeeks in B2. Let us follow the next step.

Step 2: We will enter =FIND(“for”,B2) in B3 cell. Here we want Excel to find “for” in our text in B2.

This will return 6 because “for” is located at character number 6 in our text.

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

ФИО, номера банковских карт, адреса клиентов или сотрудников, комментарии и многое другое –все это является строками, с которыми многие сталкиваются, работая с приложением Excel. Поэтому полезно уметь обрабатывать информацию подобного типа. В данной статье будут рассмотрены текстовые функции в Excel, но не все, а те, которые, по мнению office-menu.ru, самые полезные и интересные:

Список всех текстовых функций Вы можете найти на вкладке «Формулы» => выпадающий список «Текстовые»:

Функция ЛЕВСИМВ

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

Синтаксис: =ЛЕВСИМВ(текст; [количество_знаков])

  • текст – строка либо ссылка на ячейку, содержащую текст, из которого необходимо вернуть подстроку;
  • количество_знаков – необязательный аргумент. Целое число, указывающее, какое количество символов необходимо вернуть из текста. По умолчанию принимает значение 1.

Пример использования:

Формула: =ЛЕВСИМВ(«Произвольный текст»;8) – возвращенное значение «Произвол».

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

Данная функция аналогична функции «ЛЕВСИМВ», за исключением того, что знаки возвращаются с конца строки.

Пример использования:

Формула: =ПРАВСИМВ(«произвольный текст»;5) – возвращенное значение «текст».

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

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

Синтаксис: =ДЛСТР(текст)

Пример использования:

Функция НАЙТИ

Возвращает число, являющееся вхождением первого символа подстроки, искомого текста. Если текст не найден, то возвращается ошибка «#ЗНАЧ!».

Синтаксис: =НАЙТИ(искомый_текст; текст_для_поиска; [нач_позиция])

  • искомый_текст – строка, которую необходимо найти;
  • текст_для_поиска – текст, в котором осуществляется поиск первого аргумента;
  • нач_позиция – необязательный элемент. Принимает целое число, которое указывает, с какого символа текст_для_поиска необходимо начинать просмотр. По умолчанию принимает значение 1.

Пример использования:

Из отрывка стихотворения великого поэта С.А.Есенина находим вхождение первого символа строки «птица». Поиск осуществляется с начала строки. Если в приведенном примере поиск осуществлялся бы с 40 символа, то функция в результате вернула ошибку, т.к. позиции вхождения не было найдено.

Функция ЗАМЕНИТЬ

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

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

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

Пример использования:

Здесь в строке, содержащейся в ячейке A1, подменяется слово «старый», которое начинается с 19-го символа и имеет длину 6 символов, на слово «новый».

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

  • Аргумент «начальная_позиция» подменим функцией «НАЙТИ»;
  • В место аргумент «количество_знаков» вложим функцию «ДЛСТР».

В результате получим формулу: =ЗАМЕНИТЬ(A1;НАЙТИ(«старый»;A1);ДЛСТР(«старый»);»новый»)

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

Функция ПОДСТАВИТЬ

Данная функция заменяет в тексте вхождения указанной подстроки на новый текст, чем схожа с функцией «ЗАМЕНИТЬ», но между ними имеется принципиальное отличие. Если функция «ЗАМЕНИТЬ» меняет текст, указанный посимвольно вручную, то функция «ПОДСТАВИТЬ» автоматически находит вхождения указанной строки и меняет их.

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

  • текст – строка или ссылка на ячейку, содержащую текст;
  • старый_текст – подстрока из первого аргумента, которую необходимо заменить;
  • новый_текст – строка для подмены старого текста;
  • номер_вхождения – необязательный аргумент. Принимает целое число, указывающее порядковый номер вхождения старый_текст, которое подлежит замене, все остальные вхождения затронуты не будут. Если оставить аргумент пустым, то будут заменены все вхождения.

Пример использования:

Строка в ячейке A1 содержит текст, в котором имеются 2 подстроки «старый». Нам необходимо подставить на место первого вхождения строку «новый». В результате часть текста «…старый-старый…», заменяется на «…новый-старый…».

Если ли бы последний аргумент был опущен, то результатом бы стала строка «строка, содержащая новый-новый текст».

Функция ПСТР

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

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

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

Пример использования:

Из текста, находящегося в ячейке A1 необходимо вернуть последние 2 слова, которые имеют общую длину 12 символов. Первый символ возвращаемой фразы имеет порядковый номер 12.

Аргумент количество_знаков может превышать допустимо возможную длину возвращаемых символов. Т.е. если в рассмотренном примере вместо количество_знаков = 12, было бы указано значение 15, то результат не изменился, и функция так же вернула строку «функции ПСТР».

Для удобства использования данной функции ее аргументы можно подменить функциями «НАЙТИ» и «ДЛСТР», как это было сделано в примере с функцией «ЗАМЕНИТЬ».

Функция СЖПРОБЕЛЫ

Данная функция удаляется все лишние пробелы: пробелы по краям и двойные пробелы между словами. После обработки строк функцией остаются только одиночные пробелы между словами.

Синтаксис: =СЖПРОБЕЛЫ(текст)

Пример использования:

=СЖПРОБЕЛЫ( » Текст с лишними пробелами между словами и по краям « )

Результатом выполнения функции будет строка: «Текст с лишними пробелами между словами и по краям» .

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

С помощью функции «СЦЕПИТЬ» можно объединить несколько строк между собой. Максимальное количество строк для объединения – 255.

Синтаксис: =СЦЕПИТЬ(текст1; [текст2]; …)

Функция должна содержать не менее одного аргумента

Пример использования:

Функция возвратит строку: «Слово1 Слово2».

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

Вместо использования данной функции можно применять знак амперсанда «&». Он так же объединяет строки. Например: «=»Слово1″&» «&«Слово2″».

Функции 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 содержит текст «Ноль меньше восьми». Надо заменить слово «ноль» на «нуль».

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

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

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

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

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

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

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

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

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

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

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

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

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

Канал в Telegram

Работа со строками в 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 «);» «;»_»)

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

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

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

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

Примеры функции ТЕКСТ в Excel

Преобразует числа в текст. Синтаксис: значение (числовое или ссылка на ячейку с формулой, дающей в результате число); формат (для отображения числа в виде текста).

Самая полезная возможность функции ТЕКСТ – форматирование числовых данных для объединения с текстовыми данными. Без использования функции Excel «не понимает», как показывать числа, и преобразует их в базовый формат.

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

Использование амперсанда без функции ТЕКСТ дает «неадекватный» результат:

Excel вернул порядковый номер для даты и общий формат вместо денежного. Чтобы избежать подобного результата, применяется функция ТЕКСТ. Она форматирует значения по заданию пользователя.

Формула «для даты» теперь выглядит так:

Второй аргумент функции – формат. Где брать строку формата? Щелкаем правой кнопкой мыши по ячейке со значением. Нажимаем «Формат ячеек». В открывшемся окне выбираем «все форматы». Копируем нужный в строке «Тип». Вставляем скопированное значение в формулу.

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

Если нужно вернуть прежние числовые значения (без нулей), то используем оператор «—»:

Обратите внимание, что значения теперь отображаются в числовом формате.

Функция разделения текста в Excel

Отдельные текстовые функции и их комбинации позволяют распределить слова из одной ячейки в отдельные ячейки:

  • ЛЕВСИМВ (текст; кол-во знаков) – отображает заданное число знаков с начала ячейки;
  • ПРАВСИМВ (текст; кол-во знаков) – возвращает заданное количество знаков с конца ячейки;
  • ПОИСК (искомый текст; диапазон для поиска; начальная позиция) – показывает позицию первого появления искомого знака или строки при просмотре слева направо

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

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

В первой строке есть только имя и фамилия, разделенные пробелом. Формула для извлечения имени: =ЛЕВСИМВ(A2;ПОИСК(» «;A2;1)). Для определения второго аргумента функции ЛЕВСИМВ – количества знаков – используется функция ПОИСК. Она находит пробел в ячейке А2, начиная слева.

Формула для извлечения фамилии:

С помощью функции ПОИСК Excel определяет количество знаков для функции ПРАВСИМВ. Функция ДЛСТР «считает» общую длину текста. Затем отнимается количество знаков до первого пробела (найденное ПОИСКом).

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

Формула для извлечения фамилии несколько иная: Это пять знаков справа. Вложенные функции ПОИСК ищут второй и третий пробелы в строке. ПОИСК(» «;A3;1) находит первый пробел слева (перед отчеством). К найденному результату добавляем единицу (+1). Получаем ту позицию, с которой будем искать второй пробел.

Часть формулы – ПОИСК(» «;A3;ПОИСК(» «;A3;1)+1) – находит второй пробел. Это будет конечная позиция отчества.

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

Формула «для отчества» строится по тем же принципам:

Функция объединения текста в Excel

Для объединения значений из нескольких ячеек в одну строку используется оператор амперсанд (&) или функция СЦЕПИТЬ.

Например, значения расположены в разных столбцах (ячейках):

Ставим курсор в ячейку, где будут находиться объединенные три значения. Вводим равно. Выбираем первую ячейку с текстом и нажимаем на клавиатуре &. Затем – знак пробела, заключенный в кавычки (“ “). Снова — &. И так последовательно соединяем ячейки с текстом и пробелы.

Получаем в одной ячейке объединенные значения:

Использование функции СЦЕПИТЬ:

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

Функция ПОИСК текста в Excel

Функция ПОИСК возвращает начальную позицию искомого текста (без учета регистра). Например:

Функция ПОИСК вернула позицию 10, т.к. слово «Захар» начинается с десятого символа в строке. Где это может пригодиться?

Функция ПОИСК определяет положение знака в текстовой строке. А функция ПСТР возвращает текстовые значения (см. пример выше). Либо можно заменить найденный текст посредством функции ЗАМЕНИТЬ.

Синтаксис функции ПОИСК:

  • «искомый текст» — что нужно найти;
  • «просматриваемый текст» — где искать;
  • «начальная позиция» — с какой позиции начинать искать (по умолчанию – 1).

Если нужно учитывать регистр, используется функция НАЙТИ.

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

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

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

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

Сначала рассмотрим основные текстовые функции, которые использованы в примерах ниже. Excel использует русские названия функций в отличие от своего ближайшего аналога LibreOffice.Calc. Ниже приведен формат записи текстовой функции и ее действие.

Задача 1. Объединение текстовых строк

Есть список сотрудников. Фамилии, имена и отчества разнесены в отдельные столбцы. Необходимо объединить данные в один столбец.

Решение. Задача достаточно простая и для ее реализации воспользуемся функцией СЦЕПИТЬ.

В ячейку D1 запишем формулу =СЦЕПИТЬ(A1;» «;B1;» «;C1). Можно воспользоваться мастером функций.

Далее скопируем ее на весь необходимый диапазон столбца D.

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

Посмотрите на рисунок ниже. Результат преобразования в столбце D.

Окно мастера функции СЦЕПИТЬ

Задача 2. Разделение текстовых строк

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

Решение. Задача сложнее предыдущей и для ее реализации понадобится несколько текстовых функций.

Для отделения фамилии сотрудника и запишем в ячейку B1 формулу

=ЛЕВСИМВ(A1;НАЙТИ(» «;A1))

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

Строка формул при разделении ФИО

Для записи имени в ячейку C1 запишем следующую формулу

=ПСТР(A1;НАЙТИ(» «;A1)+1;ПОИСК(» «;A1;НАЙТИ(» «;A1)+1)-НАЙТИ(» «;A1)-1)

Если посмотреть на синтаксис записи данной функции, то получаем:

  1. Выражение НАЙТИ(» «;A1)+1 отвечает поиск позиции первого пробела в текстовой строке. А чтобы получить позицию первой буквы имени, прибавляется единица.
  2. Для определения количества символов в имени используется конструкция посложнее ПОИСК(» «;A1;НАЙТИ(» «;A1)+1)-НАЙТИ(» «;A1)-1. Количество символов определяется как разность позиций пробелов, отделяющих имя. Чтобы исключить из числа найденных символов сами пробелы, в начальной позиции прибавляется единица, а потом из полученного результата вычитается единица.

Отчество получается в ячейке D1 по более сложной формуле

=ПСТР(A1;ПОИСК(» «;A1;НАЙТИ(» «;A1)+1)+1;ДЛСТР(A1)-ПОИСК(» «;A1;НАЙТИ(» «;A1)+1)+1)

Здесь количество знаков в отчестве определяется как разность общего количества символов (ДЛСТР) и позицией второго пробела.

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

Задача 3. Укорачивание текстовых строк

В список сотрудников внести изменения. Записать в одном столбце Фамилии и инициалы.

Решение. В зависимости от исходного состояния списка возможны два варианта.

1 вариант. Исходные данные содержатся в одном столбце. ФИО разделены одинарным пробелом.

Записываем следующую формулу

=СЦЕПИТЬ(ЛЕВСИМВ(A1;НАЙТИ(» «;A1));ПСТР(A1;НАЙТИ(» «;A1);2);».»;ПСТР(A1;НАЙТИ(» «;A1; НАЙТИ(» «;A1)+1);2);».»)

Преобразуем имя и отчество в инициалы (исходные данные в одном столбце)

2 вариант. Исходные данные содержатся в разных столбцах.

Формула для преобразования

=СЦЕПИТЬ(A1;» «;ЛЕВСИМВ(B1);».»;ЛЕВСИМВ(C1);».»)

Преобразуем имя и отчество в инициалы (исходные данные в разных столбцах)

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

Функция СТРОКА

​Смотрите также​ ячеек», в следующем​ПОИСК – функция, находящая​​ новый учитель.».​​ двухбайтовой кодировки, для​

Описание

​ код ошибки #ЗНАЧ!.​ расчетов лучше использовать​

Синтаксис

​Пример 3. Создать функцию​

​ полей данных получило​ А4 («Переменный резистор»)​

  • ​ данные.​​ функции НАЙТИ и​ найти искомый текст.​ языков с однобайтовой​ используйте формулу =ТРАНСП(СТРОКА(F8:F18)).​

    • ​ не одно число,​ чтобы видеть все​В этой статье описаны​ поле вводим формулу:​ первое вхождение одной​

    • ​Для решения данной задачи​ получения первого символа​Если в качестве аргумента​ встроенную функцию ОКРГУГЛ​ для округления дробных​ ошибку. Для обработки​Переменный резистор​Данные​ НАЙТИБ, то возвращается​

    • ​Начальная_позиция​ кодировкой, а функция​

Примеры

​ Не забудьте нажать​ а массив целых​ данные.​ синтаксис формулы и​ =ДЛСТР(A2)>12, после чего​ текстовой строки в​ открываем Excel, в​ строки требуется в​ [число_знаков] будет переданы​ и подобные ей.​ чисел до ближайших​ ошибки необходимо выделить​Функция ЛЕВСИМВ в Excel​

​Владимир Егоров​

​ значение ошибки #ЗНАЧ!.​

​    — необязательный аргумент. Знак,​

​ НАЙТИБ — для​

​CTRL+SHIFT+ENTER​

​ чисел — соответствующих​

​Формула​

​ использование функции​

​ нажимаем кнопку формат​

support.office.com

Функция СТРОКА() в MS EXCEL

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

Синтаксис функции

​ целых значений с​​ ее код и​

​ используется для получения​​Формула​Аргумент «нач_позиция» можно использовать,​ с которого нужно​

  • ​ языков с двухбайтовой​.​ номеров строк. Для​Описание​СТРОКА​ и задаем необходимый​ начальную позицию найденной​​ фразу, длину которой​​ число 2, а​ ЛЕВСИМВ вернет код​

  • ​ с прочими функциями​ использованием формул для​ описание из строки.​ части текста и​

Использование функции в формулах массива

​Описание​ чтобы пропустить нужное​ начать поиск. Первый​ кодировкой. Заданный на​Записав в правиле Условного​ этого введите в​Результат​в Microsoft Excel.​ нам формат выбранных​ строки.​ необходимо определить, дальше​ для получения последующих​ ошибки #ЗНАЧ!.​ для работы с​​ работы с текстом.​​Исходные данные:​

​ возвращает заданное количество​Результат​ количество знаков. Предположим,​ знак в тексте​ компьютере язык по​ форматирования для диапазона​ Строке формул выражение​

​=СТРОКА()​Возвращает номер строки, определяемой​ полей. Ориентировочный вид​Полученные результаты проиллюстрированы на​​ выбираем функцию ДЛСТР.​​ второго, третьего и​Если число, переданное в​ текстовыми строками в​Форма для округления числовых​Выделим код ошибки с​​ символов текстовой строки,​​=НАЙТИ(«В»;A2)​

​ например, что для​ «просматриваемый_текст» имеет номер​ умолчанию влияет на​A5:A18​ =СТРОКА(F8:F18). Выделите формулу​Строка формулы​​ ссылкой.​​ после заполнения данного​ рисунке 2.​ В качестве текста​ прочих символов необходимо​

​ качестве необязательного аргумента,​ Excel (ПРАВСИМВ, СИМВОЛ,​ значений имеет следующий​ помощью следующей формулы:​​ при этом отсчет​​Позиция первой «В» в​

Использование функции для чрезстрочного выделения

​ поиска строки «МДС0093.МесячныеПродажи»​ 1. Если номер​​ возвращаемое значение указанным​​формулу =НЕЧЁТ(СТРОКА())=СТРОКА() получим​ и нажмите​2​СТРОКА([ссылка])​

Формирование списка без повторов

​ окна показан выше​Рисунок 2 – Результат​​ выбираем ячейку с​​ указывать соответствующие числа,​ превышает количество знаков​ СЦЕПИТЬ, ДЛСТР и​ вид:​
​Описание:​
​ символов начинается слева.​ ячейке A2​ используется функция НАЙТИ.​

excel2.ru

НАЙТИ, НАЙТИБ (функции НАЙТИ, НАЙТИБ)

​ опущен, он полагается​ ниже образом.​ выделение цветом каждой​​F9​​=СТРОКА(C10)​​Аргументы функции СТРОКА описаны​​ на рисунке.​

Описание

​ выведения.​ исходной фразой и​ кратные двум. Для​ в текстовой строке,​ прочими) и имеет​В ячейке B3 введена​ЛЕВСИМВ(B5;НАЙТИ(«3»;B5)+1) – функция, выделяющая​

​Пример 1. В таблице​​1​

  • ​ Чтобы найти номер​ равным 1.​Функция НАЙТИ при подсчете​

  • ​ второй строки (см.​(см. файл примера).​Строка ссылки​ ниже.​После этого нажимаем на​Пример 3. Среди имеющегося​ контролируем полученный результат​ языков с однобайтовой​ рассматриваемая функция вернет​ следующую синтаксическую запись:​

  • ​ следующая сложная формула:​ часть текстовой строки​ Excel содержатся имена​=НАЙТИ(«в»;A2)​ первого вхождения «М»​Функции НАЙТИ и НАЙТИБ​ всегда рассматривает каждый​

  • ​ рисунок выше).​Получим массив последовательных чисел​10​Ссылка​ кнопку «Ок» и​ набора текстовых данных​ (см. рисунок 1).​ кодировкой функции ЛЕВСИМВ​ весь текст целиком.​=ЛЕВСИМВ(текст;[число_знаков])​=5,ЛЕВСИМВ(A2+1,НАЙТИ(«.»,A2)-1),ЛЕВСИМВ(A2,НАЙТИ(«.»,A2)-1)),»Число не введено»)’​

​ слева, количество символов​ переменных вместе с​Позиция первой «в» в​ в описательную часть​ работают с учетом​

Синтаксис

​ знак, как однобайтовый,​

​Если список значений содержит​

​ {8:9:10:11:12:13:14:15:16:17:18}. Подобные последовательности​Функция СТРОКА(), английский вариант​

  • ​    Необязательный. Ячейка или диапазон​​ переходим в окно​ в таблице Excel​

  • ​Рисунок 1 – Пример​​ и ЛЕВБ возвращают​Excel выполняет автоматическое преобразование​Описание аргументов:​

  • ​ class=’formula’>​​ в которой соответствуют​ текстом, определяющим их​ ячейке A2​ текстовой строки, задайте​ регистра и не​ так и двухбайтовый,​ повторяющиеся значения (диапазон​ часто используются в​

Замечания

  • ​ ROW(), вычисляет номер​ ячеек, для которых​ «Диспетчер правил условного​ необходимо осуществить выделение​ расчетов.​ идентичные результаты.​ типов данных там,​текст – ссылка на​Логика работы:​ порядковому номеру символа​

  • ​ тип данных. Необходимо​15​ значение аргумента «нач_позиция»​ позволяют использовать подстановочные​ как один знак,​A21:A34​ формулах массива (см.,​ строки, определяемой ссылкой:​ требуется вернуть номер​

  • ​ форматирования» (рисунок 4).​ тех ячеек, количество​

  • ​Простой пересчет символов этой​Функция ДЛСТР выполняет возвращение​ где это возможно.​ ячейку, содержащую текст,​Первая функция ЕСЛИ проверяет​

  • ​ «3» (функция НАЙТИ​ выделить только названия​=НАЙТИ(«и»;A2;3)​ равным 8, чтобы​

  • ​ знаки. Если необходимо​ независимо от выбранного​), то функция СТРОКА()​ например, статью Сложение​ формула =СТРОКА(B5) вернет​

  • ​ строки.​Рисунок 4 – Вид​ символов в которых​ фразы (с учетом​ количество знаков в​ Например, рассмотрим некоторые​ или текстовая строка,​ с помощью формулы​ выполняет поиск порядкового​ переменных и записать​Позиция первой «и» в​ поиск в той​ выполнить поиск без​ по умолчанию языка.​ может быть использована​ значений в каждой​ 5.​Если ссылка опущена, то​ окна «Диспетчер правил​ превышает 12.​ используемых пробелов) позволяет​ текстовой строке. Иными​ возможные варианты записи​ в которой требуется​ ЕПУСТО, заполнена ли​ номера этого символа​ их в отдельный​

Примеры

​ строке А2, начиная​ части текста, которая​ учета регистра или​Функция НАЙТИБ при подсчете​ для формирования списка​ третьей строке).​СТРОКА​ предполагается, что это​ условного форматирования».​Исходные данные приведены в​ убедиться в корректности​ словами, автоматически определяет​ функции ЛЕВСИМВ и​

​ выделить требуемое количество​

​ ячейка, которая должна​

​ и возвращает соответствующее​

​ столбец.​

​ с третьего знака​

​ является серийным номером,​

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

​ без повторов. Формула​

​Элементы этого массива можно​

​(ссылка)​ ссылка на ячейку,​

​В столбце «Применяется к»​

​ таблице 1:​

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

​ символов слева. Аргумент​

Пример 2

​ содержать значение, которое​

​ значение). Единица (+1)​

​Исходная таблица данных:​

​8​

​ не производился. Функция​

​ воспользуйтесь функцией ПОИСК​

​ знак как два​

​=ЕСЛИ(ПОИСКПОЗ(A21;$A$21:$A$34;0)=СТРОКА()-СТРОКА($A$20);A21;»»)​

​ вывести в отдельные​Ссылка​ в которой находится​ задаем необходимый нам​

​Исходная строка​

​​

​ подсчитав количество символов,​ЛЕВСИМВ(«текст»;200%) вернет значение «те»​ обязателен для заполнения.​ требуется округлить.​

​ добавлена для выделения​

​Для выделения первого символа,​

​Данные​ НАЙТИ начинает со​ или ПОИСКБ.​ знака, если включена​

​возвращает значение если​

support.office.com

Примеры использования функции ЛЕВСИМВ в Excel работа с текстом

​ ячейки. Для этого​  — ячейка или интервал​ сама функция СТРОКА.​ диапазон ячеек с​Добрый день, класс. Я​Пример 2. Имеется строка,​ которые содержит исходная​

Как вырезать часть текста из строки функцией ЛЕВСИМВ в Excel?

​ (преобразование процентов в​[число_знаков] – необязательный для​Если число введено, запись​ всего кода ошибки.​ которым является искомое​Керамический изолятор №124-ТД45-87​ знака 8, находит​Если в качестве аргумента​ поддержка языка с​

​ оно встречается первый​

Исходная таблица.

​ выделите диапазон​ ячеек, для которых​Если значение аргумента «ссылка»​ исходными данными таблицы​

ЛЕВСИМВ.

​ ваш новый ученик​ содержащая следующую имя​ строка.​ числовое значение);​ заполнения аргумент; числовое​ ЧЗНАЧ(ПРАВСИМВ(ЛЕВСИМВ(B2;НАЙТИ(«,»;B2)+1)) возвращает числовое​2 – количество символов,​

первый символ.

​ название переменной, используем​Медная пружина №12-671-6772​ искомый_текст в следующем​ «искомый_текст» задана пустая​ БДЦС и такой​ раз.​A5:A18​

​ определяется номер строки.​

Как вытащить часть текста из ячейки в Excel используя функцию ЛЕВСИМВ?

​ является диапазоном ячеек,​ и нажимаем кнопку​Добрый день, класс.​ файла с его​Чаще всего данная функция​при аргументах: («текст»;ИСТИНА) вернет​ значение, характеризующее количество​ значение первого символа​ которые вернет функция​

​ формулу:​

Пример 2.

​Переменный резистор №116010​ знаке и возвращает​

код ошибки.

​ строка («»), функция​

  • ​ язык установлен по​В этой статье описаны​, состоящий из 13​Если ссылка опущена, то​ а функция СТРОКА​ «Ок». Полученный результат​Добрый день​ расширением: «Изменение.xlsx». Необходимо​ используется в связке​ «т» (логическое ИСТИНА​ символов, которые требуется​ после запятой и​
  • ​ ПРАВСИМВ, работающая аналогично​Второй равен 1 по​Формула​ число 9. Функция​ НАЙТИ выводит значение,​ умолчанию. В противном​ синтаксис формулы и​

​ ячеек, в Строке​

ЛЕВСИМВ и НАЙТИ.

​ функция СТРОКА() вернет​

​ введена как вертикальный​ приведен на рисунке​Я ваш учитель​ произвести отделение начальной​ с другими функциями,​ эквивалентно числовому значению​ выделить из текстовой​ сравнивает полученное значение​ рассматриваемой ЛЕВСИМВ (отличие​ умолчанию, поэтому функция​Описание (результат)​

​ НАЙТИ всегда возвращает​

В результате.

Округление чисел текстовыми функциями в текстовой строке

​ равное первому знаку​ случае функция НАЙТИБ​ использование функций​ формул введите выражение​ номер строки в​ массив, функция СТРОКА​

​ 5.​Я ваш​ части строки с​

Форма.

​ но бывают и​ 1);​

​ строки.​ с числом 5.​Логика формулы.

​ – возвращает символы​

  1. ​ возвращает первый символ.​Результат​ номер знака, считая​ в строке поиска​ рассматривает каждый знак​НАЙТИ​
  2. ​ =СТРОКА(F8:F18) как формулу​ которую введена сама​ возвращает номера строк,​Рисунок 5 – Окончательный​Решение данной задачи производится​ именем файла (до​
  3. ​ исключения. При работе​при аргументах: («текст»;ЛОЖЬ) вернет​Примечания 1:​Если полученное значение больше​ справа, а не​ Аналогично выделим названия​=ПСТР(A2;1;НАЙТИ(» №»;A2;1)-1)​
  4. ​ от левого края​

​ (знак с номером,​ как один знак.​и​ массива, нажав​ формула. Т.е. если​ указанных в аргументе​ результат.​ путем создания правила​ точки) без расширения​ с данной функцией​ пустое значение «»,​Если необязательный аргумента [число_знаков]​

Функция ЛЕВСИМВ в Excel и особенности ее использования

​ 5, будет возвращен​ слева строки).​ переменных из других​Выделяет текст от позиции​ текста «просматриваемый_текст», а​ соответствующим аргументу «нач_позиция»​К языкам, поддерживающим БДЦС,​НАЙТИБ​

​CTRL+SHIFT+ENTER​

​ формула =СТРОКА() введена​

  • ​ «ссылка», в виде​Читайте также:​ условного форматирования. На​ .xlsx.​ необходимо задать длину​ поскольку логическое ЛОЖЬ​ явно не указан,​
  • ​ результат выполнения функции​В результате получим:​ строк. В результате​ 1 до знака​ не от значения​ или 1).​

​ относятся японский, китайский​

  1. ​в Microsoft Excel.​.​ в ячейку​ вертикального массива.​Формула с ДЛСТР​ вкладке «Главная» в​Для решения подобной задачи​
  2. ​ текста. Функция ДЛСТР​ эквивалентно числовому 0​ по умолчанию будет​ ЛЕВСИМВ(B2+1;НАЙТИ(«,»;B2)-1), то есть​Выделим часть текста ошибки:​ получим:​ «№» в строке​ аргумента «нач_позиция».​Искомый_текст не может содержать​ (упрощенное письмо), китайский​
  3. ​Функции НАЙТИ и НАЙТИБ​Функция СТРОКА() вернула номера​B5​В аргументе «ссылка» нельзя​ для подсчета количества​
  4. ​ блоке инструментов «Стили»​ необходимо выполнить следующие​ возвращает количество знаков​ (нуль);​ возвращен первый символ​ целой части числа​
  5. ​В данном случае удобнее​Как видно на рисунке​ («Керамический изолятор»)​Скопируйте образец данных из​ подстановочные знаки.​ (традиционное письмо) и​ находят вхождение одной​
  • ​ строк, указанных в​, то результат будет​ указывать несколько областей.​
  • ​ слов в ячейке​ выбираем «Условное форматирование»,​ действия. В Excel​ с учетом пробелов.​
  • ​при аргументах: («текст»;15/7) вернет​ строки. Например, функция​ +1 по правилам​ использовать ПРАВСИМВ, которая​ с помощью функции​
  • ​Керамический изолятор​ следующей таблицы и​

​Если «искомый_текст» отсутствует в​ корейский.​ текстовой строки в​ аргументе «ссылка». Т.к.​ 5.​Скопируйте образец данных из​ Excel.​ в выпадающем меню​ в произвольной строке​ Важным моментом является​ значение «те».​ =ЛЕВСИМВ(«текст») вернет значение​ округления.​ является, по сути,​ ЛЕВСИМВ получилось вытащить​=ПСТР(A3;1;НАЙТИ(» №»;A3;1)-1)​ вставьте их в​ тексте «просматриваемый_текст», функции​НАЙТИ(искомый_текст;просматриваемый_текст;[нач_позиция])​ другую и возвращают​ число выделенных ячеек​В аргументе «ссылка» нельзя​ следующей таблицы и​Функция ДЛСТР активно используется​

exceltable.com

Примеры функции ДЛСТР для подсчета количества символов в Excel

​ указываем на опцию​ ввести исходные данные,​ тот факт, что​Примечание 2: в Excel​ «т».​Если​ зеркальным отражением ЛЕВСИМВ.​ левую часть текста​

Описание принципа работы функции ФИШЕР в Excel

​Выделяет текст от позиции​ ячейку A1 нового​ НАЙТИ и НАЙТИБ​НАЙТИБ(искомый_текст;просматриваемый_текст;[нач_позиция])​ начальную позицию искомой​ (13) было больше​ указывать несколько областей,​ вставьте их в​ в формулах Excel​ «Создать правило» (вид​ после чего необходимо​ данная функция может​ также существует схожая​Числовое значение, переданное в​Примечание: данный алгоритм нельзя​

​ Для определения второго​ из каждой ячейки​

​ 1 до знака​ листа Excel. Чтобы​ возвращают значение ошибки​Аргументы функций НАЙТИ и​ строки относительно первого​

​ числа строк диапазона​ т.е. запись =СТРОКА(A1:A2;B2:B3)​ ячейку A1 нового​ при комбинации с​ окна показан на​ в любой свободной​ быть доступна не​ по принципу работы​ качестве необязательного аргумента,​ назвать гибким и​ аргумента используется запись​

функция ДЛСТР.

​ по одному (первому)​ «№» в ячейке​

​ отобразить результаты формул,​ #ЗНАЧ!.​ НАЙТИБ описаны ниже.​ знака второй строки.​F8:F18​

​ не допустима.​

Формула с текстовыми функциями ДЛСТР ПРАВСИМВ и ПОИСК

​ листа Excel. Чтобы​ другими текстовыми функциями​ рисунке 3).​ ячейке набрать следующую​ на всех языках.​ функция ЛЕВБ, возвращающая​ должно быть взято​ он имеет некоторые​ ДЛСТР(B5)-НАЙТИ(«:»;B5)-1, определяющая позицию​

​ символу.​ А3 («Медная пружина»)​ выделите их и​Если «нач_позиция» не больше​Искомый_текст​Важно:​(10), то в​Так как функция СТРОКА()​ отобразить результаты формул,​

​ для решения более​

  • ​Рисунок 3 – Вид​ формулу с функциями:​Рассмотрим применение данной функции​ определенное количество символов​
  • ​ из диапазона неотрицательных​ недостатки (например, не​ символа «u» в​​Медная пружина​ нажмите клавишу F2,​

​ нуля, функции НАЙТИ​    — обязательный аргумент. Текст,​

ДЛСТР ПРАВСИМВ и ПОИСК.

​ ​ трех ячейках формула​

Логическая формула для функции ДЛСТР в условном форматировании

​ в качестве аргумента​ выделите их и​ сложных задач. Например,​ окна «Создать правило».​где:​ на конкретных примерах.​ текстовой строки слева​

​ чисел, то есть​ учтен вариант ввода​

​ слове «unknown» (единица​
​Пример 2. В таблицу​=ПСТР(A4;1;НАЙТИ(» №»;A4;1)-1)​
​ а затем — клавишу​
​ и НАЙТИБ возвращают​
​ который необходимо найти.​
​Эти функции могут быть​

​ вернула значения ошибки​ позволяет ввести ссылку​ нажмите клавишу F2,​ при подсчете количества​В окне в блоке​ПРАВСИМВ – функция, которая​Пример 1. Используя программу​ на основе определенного​ должно быть равным​ сразу целого числа).​ вычтена для удаления​

Условное форматирование.

​ Excel подтягиваются данные​Выделяет текст от позиции​

​ ВВОД. При необходимости​ значение ошибки #ЗНАЧ!.​Просматриваемый_текст​ доступны не на​ #Н/Д.​ на диапазон ячеек,​ а затем — клавишу​ слов или символов​ «Выберите тип правила»​ возвращает заданное число​ Excel, определить длину​ количества байтов. Если​ нулю или больше​ Он приведен в​

​ пробела).​ из другого программного​ 1 до знака​ измените ширину столбцов,​Если «нач_позиция» больше, чем​

Диспетчер правил условного форматирования.

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

​ то следует ожидать,​ ВВОД. При необходимости​ в ячейке и​ выбираем «Использовать формулу​ последних знаков текстовой​ фразы «Добрый день,​ по умолчанию используется​ нуля. В противном​

Полученный результат.

​ качестве примера использования​В результате получим:​

​ продукта. Одно из​

​ «№» в ячейке​ чтобы видеть все​ длина аргумента «просматриваемый_текст»,​ в котором нужно​

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

exceltable.com

​ функции ЛЕВСИМВ. Для​

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

Содержание

  1. СЦЕПИТЬ
  2. СТРОЧН
  3. ПРОПИСН
  4. ПРОПНАЧ
  5. ДЛСТР
  6. ЛЕВСИМВ и ПРАВСИМВ
  7. ПСТР
  8. СОВПАД
  9. СЖПРОБЕЛЫ
  10. ПОВТОР
  11. НАЙТИ
  12. ПОИСК
  13. ПОДСТАВИТЬ
  14. ЗАМЕНИТЬ

СЦЕПИТЬ

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

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

СТРОЧН

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

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

ПРОПИСН

Текстовая функция ПРОПИСН делает все буквы прописными, т.е. преобразует их в верхний регистр. Так же, как и СТРОЧН, не заменяет знаки, не являющиеся буквами.

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

ПРОПНАЧ

Текстовая функция ПРОПНАЧ делает прописной первую букву каждого слова, а все остальные преобразует в строчные.

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

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

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

ДЛСТР

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

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

ЛЕВСИМВ и ПРАВСИМВ

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

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

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

ПСТР

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

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

СОВПАД

Функция СОВПАД позволяет сравнить две текстовые строки в Excel. Если они в точности совпадают, то возвращается значение ИСТИНА, в противном случае – ЛОЖЬ. Данная текстовая функция учитывает регистр, но игнорирует различие в форматировании.

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

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

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

СЖПРОБЕЛЫ

Удаляет из текста все лишние пробелы, кроме одиночных между словами.

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

В случаях, когда наличие лишнего пробела в конце или начале строки сложно отследить, данная функция становится просто незаменимой. На рисунке ниже видно, что содержимое ячеек А1 и B1 абсолютно одинаково, но это не так. В ячейке А1 мы намеренно поставили лишний пробел в конце слова Excel. В итоге функция СОВПАД возвратила нам значение ЛОЖЬ.

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

Применив функцию СЖПРОБЕЛЫ к значению ячейки А1, мы удалим из него все лишние пробелы и получим корректный результат:

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

Функцию СЖПРОБЕЛЫ полезно применять к данным, которые импортируются в рабочие листы Excel из внешних источников. Такие данные очень часто содержат лишние пробелы и различные непечатаемые символы. Чтобы удалить все непечатаемые символы из текста, необходимо воспользоваться функцией ПЕЧСИМВ.

ПОВТОР

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

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

НАЙТИ

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

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

Данная функция чувствительна к регистру…

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

… и может начинать просмотр текста с указанной позиции. На рисунке ниже формула начинает просмотр с четвертого символа, т.е. c буквы «r«. Но даже в этом случае положение символа считается относительно начала просматриваемого текста.

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

ПОИСК

Текстовая функция ПОИСК очень похожа на функцию НАЙТИ, основное их различие заключается в том, что ПОИСК не чувствительна к регистру.

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

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

ПОДСТАВИТЬ

Заменяет определенный текст или символ на требуемое значение. В Excel текстовую функцию ПОДСТАВИТЬ применяют, когда заранее известно какой текст необходимо заменить, а не его местоположение.

Приведенная ниже формула заменяет все вхождения слова «Excel» на «Word»:

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

Заменяет только первое вхождение слова «Excel»:

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

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

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

ЗАМЕНИТЬ

Заменяет символы, расположенные в заранее известном месте строки, на требуемое значение. В Excel текстовую функцию ЗАМЕНИТЬ применяют, когда известно где располагается текст, при этом сам он не важен.

Формула в примере ниже заменяет 4 символа, расположенные, начиная с седьмой позиции, на значение «2013». Применительно к нашему примеру, формула заменит «2010» на «2013».

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

Заменяет первые пять символов текстовой строки, т.е. слово «Excel», на «Word».

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

Вот и все! Мы познакомились с 15-ю текстовыми функциями Microsoft Excel и посмотрели их действие на простых примерах. Надеюсь, что данный урок пришелся Вам как раз кстати, и Вы получили от него хотя бы малость полезной информации. Всего доброго и успехов в изучении Excel!

Оцените качество статьи. Нам важно ваше мнение:

  • На главную
  • Категории
  • Программы
  • Microsoft Excel
  • Работа с текстом в Excel

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

2020-09-20 08:34:0551

Работа с текстом в Excel

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

Функция ТЕКСТ в Excel

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

=ТЕКСТ(числовое_значение_или_формула_в_результате_вычисления_которой_получается_число;формат_ который_требуется_применить_к_указанному_значению)

Для определения формата следует предварительно клацнуть по значению правой кнопкой мышки – и в выпадающем меню выбрать одноименную опцию, либо нажать сочетание клавиш Ctrl+1. Перейти в раздел «Все…». Скопировать нужный формат из списка «Тип».

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

  1. Кликнуть по любому свободному месту, например, G Ввести знак «=» и ссылку на адрес ячейки – B2. Активировать Мастер функций, нажав на кнопку fx (слева) во вкладке «Формулы», или с помощью комбинации клавиш Shift+F3.
  2. На экране отобразится окно Мастера. В строке поиска ввести название функции и нажать «Найти».
  3. В списке нужное название будет выделено синим цветом. Нажать «Ок».
  4. Указать аргументы: ссылку на число и скопированное значение формата. В строке формулы после B2 вписать знак «&».
  5. В результате появится сумма в денежном формате вместе с наименованием товара. Протянуть формулу вниз.

Еще один пример.

Необходимо объединить текстовые и числовые значения с помощью формулы =A14&» «&»составляет»&» «&B14&»,»&» «&A15&» «&ТЕКСТ(B15;»ДД.ММ.ГГ;@»).

Таким образом любые данные преобразовываются в удобный формат.

Объединение ячеек в Excel

Чтобы объединить ячейки в одну строку без потери данных, можно использовать или знак «&», или функцию СЦЕПИТЬ (в новых версиях – ОБЪЕДИНИТЬ).

=СЦЕПИТЬ(ячейка_1;» «;ячейка_2;» «;ячейка_3;» «)

Пустые кавычки (» «) – это пробел. Без пробелов слова будут отображаться слитно. С помощью кавычек в формулу добавляется любой знак («.» или «,») и текст.

  1. Следует установить курсор в месте, где будет отображаться готовое значение.
  2. Написать формулу.
  3. Нажать «Enter».

Второй вариант формулы тоже простой: =ячейка1&» «&ячейка2&» «&ячейка3.

Если в результате строка будет содержать 32767 символов и более, появится ошибка #ЗНАЧ!.

Перенос текста в ячейке в Excel

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

  1. Выделить ячейку и кликнуть по опции «Перенос…», которая расположена во вкладке «Главная».
  2. Щелкнуть правой кнопкой мышки по выделенной ячейке, в выпадающем меню выбрать «Формат…». В появившемся на экране окне перейти на вкладку «Выравнивание», поставить галочку в поле «Переносить по словам». Сохранить изменения, нажав «Ок».
  3. При наборе текста перед конкретным словом зажать комбинацию клавиш Alt+Enter – курсор переместится на новую строку.
  4. С помощью функции СИМВОЛ(10). При этом нужно объединить текст во всех ячейках, а поможет сделать это амперсанд «&»: =A1&B1&СИМВОЛ(10)&A2&B2&СИМВОЛ(10).
  5. Также вместо оператора «&» можно использовать функцию СЦЕПИТЬ. Формула будет иметь вид: =СЦЕПИТЬ(A2;» «;СИМВОЛ(10);B2;» «;C2;» «;D2;СИМВОЛ(10);E2;СИМВОЛ(10);F2).

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

Какой бы метод не был выбран, текст распределяется по ширине столбца. При изменении ширины данные автоматически перестраиваются.

Количество символов в ячейке в Excel

При работе с данными иногда требуется посчитать количество символов в определенной ячейке. Вручную делать это неудобно, особенно когда значений много или содержимое меняется в зависимости от заданного условия. Для таких случаев используется функция ДЛСТР.

=ДЛСТР(ячейка_1)

Функция работает только с одним значением.

  1. Выделить ту ячейку, где будет показан подсчет.
  2. Вписать формулу, указывая ссылку на адрес определенной ячейки.
  3. Нажать «Enter».
  4. Растянуть результат на другие строки или столбцы.

Можно посчитать общее количество символов:

  1. Выделить все значения, во вкладке «Главная» на панели справа найти инструмент «Сумма».
  2. Кликнуть по одноименной опции. Рядом (под или с боковой стороны от выделенного диапазона) отобразится результат.

В разбросанных ячейках

В этом случае необходимо воспользоваться ДЛСТР и суммированием:

  1. Установить курсор в желаемом месте.
  2. Ввести формулу =ДЛСТР(значение1)+ДЛСТР(значение2)+ДЛСТР(значение3) и т.д.
  3. Нажать «Enter».

Как преобразовать текст в число

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

Когда возле значения (в левом углу сверху) есть зеленый треугольник, значит, где-то допущена ошибка. Существует несколько легких способов преобразования:

  1. Через меню «Ошибка». Если кликнуть по значению, слева появится значок с восклицательным знаком. Нужно навести на него курсор, клацнуть правой кнопкой мышки. В раскрывшемся меню выбрать вариант «Преобразовать в число».
  2. Используя простое математическое действие – прибавление / отнимание нуля, умножение / деление на единицу и т.п. Но необходимо создать дополнительный столбец.
  3. Добавив специальную вставку. В пустой ячейке написать цифру 1 и скопировать ее. Выделить диапазон с ошибками. Кликнуть по нему правой кнопкой мышки, из выпадающего меню выбрать «Специальную вставку». В открывшемся окне поставить галочку возле «Умножить». Нажать «Ок».
  4. При помощи функций ЗНАЧЕН (преобразовывает текстовый формат в числовой), СЖПРОБЕЛЫ (удаляет лишние пробелы), ПЕЧСИМВ (удаляет непечатаемые знаки).
  5. Применив инструмент «Текст по столбцам» к значениям, которые расположены в одном столбце. Нужно выделить все числовые элементы, во вкладке «Данные» найти указанную опцию. В открывшемся окне Мастера нажимать далее до 3-го шага – проверить, какой указан формат, при необходимости – изменить его. Нажать «Готово».

Как преобразовать дату в текст

Функция ТЕКСТ позволяет определить день недели по дате:

  1. Кликнуть по ячейке.
  2. Написать формулу =ТЕКСТ(значение;»ДДДД»).
  3. Нажать «Enter».
  4. Протянуть формулу вниз до последней даты.

Для представления даты в текстовом виде используется формула =ТЕКСТ(значение;»ДД МММ ГГГГ»).

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

Максим Орлов

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

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

Преобразование текстовых строк в числовые данные в Excel

Преобразование текста в числа с помощью специальной вставки

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

Преобразование текста в числа с помощью кнопки ошибки

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

Чтобы использовать кнопку «Ошибка» для преобразования текстовых данных в числа:

  1. Выберите ячейки, содержащие неверные данные.

  2. Нажмите кнопку «Ошибка» (желтый восклицательный знак) рядом с ячейкой, чтобы открыть контекстное меню.

  3. Выберите Преобразовать в число .

Данные в выбранных ячейках преобразуются в числа.

Объединить текстовые строки в таблицах Excel и Google

Формула, которая делает это:

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

Другим вариантом для объединения текстовых строк является использование функции CONCATENATE .

Разделить текстовые данные на несколько ячеек с текстом на столбцы

Чтобы сделать обратное объединению, разделить одну ячейку данных на две или более отдельных ячеек, используйте функцию «Текст в столбцы».

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

  1. Выберите столбец ячеек, содержащий объединенные текстовые данные.

  2. Выберите вкладку « Данные ».

  3. Выберите « Текст в столбцы», чтобы открыть мастер преобразования текста в столбцы.

  4. Выберите с разделителями и нажмите Далее .

  5. Выберите правильный текстовый разделитель или разделитель для ваших данных, например Tab или Space , и нажмите Next .

  6. Выберите формат данных столбца, например « Общие» , и выберите « Дополнительно».

  7. Выберите альтернативные настройки для десятичного разделителя и разделителя тысяч, если значения по умолчанию, точка и запятая соответственно не верны. После внесения изменений выберите ОК .

  8. Выберите Готово, чтобы закрыть мастер и вернуться к рабочему листу.

  9. Текст в выбранном столбце разделен на два или более столбцов.

Понравилась статья? Поделить с друзьями:
  • Строки в excel заморожены
  • Строки электронной таблицы в программе ms excel
  • Структура документа создание оглавления в word
  • Строки без повторений excel
  • Строки электронной таблицы microsoft excel