Логотип
Надстройка VBA-Excel
Огромное спасибо за проделанный труд! Надстройка супер!!!
Иван

Поиск с конца строки в Excel

Функция КОНЕЦСТРОКИ из надстройки поможет быстро вернуть конец строки после заданного текста.

 

Добавить в Excel!

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

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

 Скачали:  29 344 чел.

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

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

Вот этот набор функций, не очень то очевидно, согласитесь:

 =ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ("Заданный текст";A1;1)-ДЛСТР("Заданный текст"))

Для удобства в надстройку VBA-Excel добавлена функция КОНЕЦСТРОКИ. Она выполняет поиск заданного текста с конца строки и возвращает текст от искомой позиции до конца строки. И интерфейс у нее намного понятнее:

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

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

Пример 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
    If Регистр = 1 Then
        КОНЕЦСТРОКИ = Right(ТЕКСТ, Len(ТЕКСТ) - InStr(Старт, ТЕКСТ, НАЙТИ) - Len(НАЙТИ) + 1)
    Else
        КОНЕЦСТРОКИ = Right(ТЕКСТ, Len(ТЕКСТ) - InStr(Старт, ТЕКСТ, НАЙТИ, vbTextCompare) - Len(НАЙТИ) + 1)
    End If
End Function

Установка

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

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


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

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

  1. Сцепить диапазон ячеек в Excel
  2. Посчитать количество определенных символов в ячейке excel
  3. Сравнение текста с шаблоном в Excel
  4. Как разделить текст в Excel на подстроки
  5. Извлечь текст из строки Excel
  6. Вернуть текст до найденного слова или символа

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

comments powered by Disqus