Логотип
Надстройка VBA-Excel
Огромное спасибо за надстройку! Все прекрасно работает, пользуюсь почти ежедневно!
Anna Barybina

Вернуть текст до найденного слова или символа

Функция НАЧАЛОСТРОКИ возвращает текст с начала строки до заданного текста или символа.

 

Добавить в Excel!

Установите программу

*Этого функционала нет в стандартном Excel

 Скачали:  32 471 чел.

Описание функции

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

Функция =НАЧАЛОСТРОКИ(ТЕКСТ; НАЙТИ; [Старт]; [Регистр]) имеет 4 аргумента:

  • ТЕКСТ - Исходный текст (или ссылка на ячейку), в котором необходимо найти начало строки.
  • НАЙТИ - Текст, до которого будет возвращаться начало строки
  • [Старт] - Необязательный параметр. Позиция внутри исходного текста, с которой начинается поиск текста. По умолчанию параметр равен 1.
  • [Регистр] - Необязательный аргумент, указывающий необходимость учета регистра. По умолчанию равен 1 - регистр учитывается. Укажите значение 0 если не хотите учитывать регистр при сравнении.

Пример 1

Найти текст до слова СТОП. Обратите внимание не важно в какой части текста находится заданное слово.

Найти текст с начала строки

Без применения данной функции, пришлось бы сооружать вот такую формулу: =ЛЕВСИМВ(B15;НАЙТИ("СТОП";B15)-1)

Пример 2

Еще один вариант вернуть первое слово в тексте - в качестве параметра НАЙТИ указать пробел.

Найти первое слово в тексте

Пример 3

Можно начинать поиск с заданной позиции (аргумент Старт). Может понадобиться в случае если стоп-слово встречается не один раз.

Функция НАЧАЛОСТРОКИ

Пример 4

В предыдущих примерах регистр искомого текста учитывался. Для того заглавные и строчные буквы НЕ учитывались при поиске, установите параметр Регистр = 0.

Поиск начала строки без учета регистра

Код на VBA

Function НАЧАЛОСТРОКИ(ByVal ТЕКСТ As String, ByVal НАЙТИ As String, _
                    Optional ByVal Старт As Long = 1, Optional ByVal Регистр As Long = 1) As String
    Dim nInStr As Long
    If Регистр = 1 Then
        nInStr = InStr(Старт, ТЕКСТ, НАЙТИ)
    Else
        nInStr = InStr(Старт, ТЕКСТ, НАЙТИ, vbTextCompare)
    End If
 
    If nInStr = 0 Then
        НАЧАЛОСТРОКИ = ТЕКСТ
    Else
        НАЧАЛОСТРОКИ = Left(ТЕКСТ, nInStr - 1)
    End If
End Function

Установка

Обращаем Ваше внимание, что функционал, описанный в данной статье, ОТСУТСТВУЕТ в Excel.

Чтобы его добавить, необходимо установить надстройку VBA-Excel. Данная программа содержит более сотни функций, которые сделают работу с Excel в разы эффективней. С ней рутинные задачи будут занимать считанные секунды. Программой уже воспользовались 32 471 чел., попробуйте и Вы!


Установите программу

Ссылки по теме

  1. Формула СЦЕПИТЬДИАПАЗОН
  2. Подсчет количества определенных символов ячейке excel
  3. Поиск с конца строки в Excel
  4. Сравнение текста с шаблоном в Excel
  5. Как разделить текст в Excel на подстроки
  6. Извлечь текст из строки Excel
  7. Как удалить лишние пробелы в диапазоне

Комментарии:

comments powered by Disqus