Как найти последний символ в строке excel

ПРАВСИМВ, ПРАВБ (функции ПРАВСИМВ, ПРАВБ)

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

В этой статье описаны синтаксис формулы и использование функций ПРАВСИМВ иПРАВБ в Microsoft Excel.

Описание

Функция ПРАВСИМВ возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа символов.

Функция ПРАВБ возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа байтов.

Важно: 

  • Эти функции могут быть доступны не на всех языках.

  • Функция ПРАВСИМВ предназначена для языков с однобайтовой кодировкой, а ПРАВБ — для языков с двухбайтовой кодировкой. Язык по умолчанию, заданный на компьютере, влияет на возвращаемое значение следующим образом.

  • Функция ПРАВСИМВ всегда считает каждый символ (одно- или двухбайтовый) за один вне зависимости от языка по умолчанию.

  • Функция ПРАВБ считает каждый двухбайтовый символ за два, если включена поддержка ввода на языке с двухбайтовой кодировкой, а затем этот язык назначен языком по умолчанию. В противном случае функция ПРАВБ считает каждый символ за один.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

ПРАВСИМВ(текст;[число_знаков])

ПРАВБ(текст;[число_байтов])

Аргументы функций ПРАВСИМВ и ПРАВБ описаны ниже.

  • Текст    Обязательный. Текстовая строка, содержащая символы, которые требуется извлечь.

  • Число_знаков    Необязательный. Количество символов, извлекаемых функцией ПРАВСИМВ.

    • Значение «число_знаков» должно быть больше нуля или равно ему.

    • Если значение «число_знаков» превышает длину текста, функция ПРАВСИМВ возвращает весь текст.

    • Если значение «число_знаков» опущено, оно считается равным 1.

  • Число_байтов    Необязательный. Количество символов, извлекаемых функцией ПРАВБ.

    • Num_bytes должен быть больше нуля или равен нулю.

    • Если num_bytes больше, чем длина текста, то right возвращает весь текст.

    • Если num_bytes опущен, предполагается, что это 1.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные

Описание

Цена продажи

Число акций

Формула

Описание (результат)

Результат

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

Последние 7 знаков первой строки («продажи»)

продажи

=ПРАВСИМВ(A3)

Последний знак второй строки («й»)

r

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

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Looks like the answer above was a little incomplete try the following:-

=RIGHT(A2,(LEN(A2)-(LEN(A2)-1)))

Obviously, this is for cell A2…

What this does is uses a combination of Right and Len — Len is the length of a string and in this case, we want to remove all but one from that… clearly, if you wanted the last two characters you’d change the -1 to -2 etc etc etc.

After the length has been determined and the portion of that which is required — then the Right command will display the information you need.

This works well combined with an IF statement — I use this to find out if the last character of a string of text is a specific character and remove it if it is. See, the example below for stripping out commas from the end of a text string…

=IF(RIGHT(A2,(LEN(A2)-(LEN(A2)-1)))=",",LEFT(A2,(LEN(A2)-1)),A2)

  • Обычная составная формула
  • Формулы массива для поиска символа с конца строки
    • С помощью МАКС
    • С помощью ПОИСКПОЗ

Как найти первый символ с конца строки?

Поиск позиции последнего вхождения значения внутри ячейки Excel – довольно сложная задача.

Тем не менее, иногда ее необходимо решить, например, чтобы удалить или заменить это вхождение.

Так а в чем же проблема?

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

Процедура Найти и Заменить также не подойдет. Она ищет не с конца строки, а просто находит (и заменяет) все вхождения.

Ниже я покажу пару способов, как осуществить поиск с конца строки.

Обычная составная формула

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

Формула ниже ищет пробел с конца ячейки A1:

=ПОИСК(ЮНИСИМВ(23456);ПОДСТАВИТЬ(A1;" ";ЮНИСИМВ(23456);ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))))

Как она работает:

  • Фрагмент, обозначенный красным цветом, вычисляет количество пробелов в ячейке. Подробнее можно почитать в описании функции ПОДСТАВИТЬ.
  • Это количество является аргументом еще одной подстановки, где заменяется лишь последний пробел (выделено жирным)
  • Вместо пробела в его последнюю позицию вставляется достаточно редкий символ. В данном случае это иероглиф, который создается функцией СИМВОЛ. Но можно и прописать символ вручную. В формуле ниже это обратная косая черта:
=ПОИСК("";ПОДСТАВИТЬ(A1;" ";"";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))))
  • Функция ПОИСК находит позицию этого символа. Поскольку он встречается в строке всего один раз и стоит на месте последнего пробела, это и позволяет нам сказать, что поиск произведен справа налево.

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

поиск с конца строки - формула
Примеры использования составной формулы для поиска с конца строки

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

Поиск слева направо с помощью функции ПОДСТАВИТЬ, описанный выше, имеет пару недостатков.

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

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

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

С помощью МАКС

Формула ниже находит позицию символа “а” в любом регистре.

={МАКС((ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)="а")*СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1))))}
ВАЖНО:
Это формула массива!
Она вводится без фигурных скобок.
Но не клавишей Enter а сочетанием: 
Ctrl+Shift+Enter
После этого фигурные скобки появятся сами.
Если ввести формулу обычным способом, она не сработает.

Механика ее работы пошагово:

  1. Функция ДЛСТР измеряет длину ячейки в символах
  2. ДВССЫЛ создает из текстового представления длины ссылку на диапазон строк с 1 по строку, равную этой длине
  3. Функция СТРОКА возвращает массив чисел, соответствующих этим длинам, соответственно, {1;2;3;…”длина строки”}
  4. Функция ПСТР, обрабатывая этот массив, возвращает для каждого числа символ, стоящий на этой позиции в строке
  5. Текстовое сравнение с символом “а” возвращает булевый массив (значения ИСТИНА или ЛОЖЬ)
  6. Этот массив умножается на повторно созданный массив чисел (пункты 1:3). ЛОЖЬ эквивалентна нулю, а ИСТИНА – единице, поэтому для всех символов, не равных “а”, в результирующем числовом массиве будут нули, а для равных – их позиции
  7. Функция МАКС возвращает наибольшее число в этом массиве.

С помощью ПОИСКПОЗ

Чуть более хитрая механика делает формулу короче, вместе с тем существенно быстрее, а задействует функцию ПОИСКПОЗ:

{=ПОИСКПОЗ(2;1/(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)="а");1)}
ВАЖНО:
Это формула массива!
Она вводится без фигурных скобок.
Но не клавишей Enter а сочетанием: 
Ctrl+Shift+Enter
После этого фигурные скобки появятся сами.
Если ввести формулу обычным способом, она не сработает.

Здесь алгоритм такой:

  1. Как и в предыдущем варианте, с помощью тех же функций ДЛСТР, СТРОКА, ДВССЫЛ, ПСТР и текстового сравнения создается булевый массив;
  2. Но на этом этапе единица делится на него. ЛОЖЬ эквивалентна нулю и выдается ошибка деления на ноль. ИСТИНА возвращает единицу.
  3. Функция ПОИСКПОЗ с последним параметром “1” при поиске 2 (на месте 2 может быть любое число больше 1) возвращает позицию последнего наибольшего числа, меньшее, чем 2. Т.е. последней единицы, которой и соответствует последний найденный в строке символ.

Смотрите также по теме:

Формулы массива в Excel

Удалить последнее слово в ячейке

Найти и заменить первую букву в ячейке на заглавную


Предыдущая статья о формулах массива:

Учимся формулам массива 3/4:

Извлечь текст до первой цифры в ячейке

Часто сталкиваетесь с этой или похожими задачами при работе в Excel?
Сотни инструментов надстройки для Excel !SEMTools помогут вам упростить их решение и сэкономят ваше время!

Содержание

  • Получение последней позиции символа с помощью формулы Excel
  • Получение последней позиции символа с помощью пользовательской функции (VBA)

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

Несколько дней назад коллега столкнулся с этой проблемой.

У него был список URL-адресов, как показано ниже, и ему нужно было извлечь все символы после последней косой черты («/»).

Так, например, с https://example.com/archive/Январь ему пришлось извлечь «январь».

Это было бы очень просто, если бы в URL-адресах была только одна косая черта.

У него был огромный список из тысяч URL-адресов разной длины и с различным количеством косых черт.

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

В этом уроке я покажу вам два способа сделать это:

  • Использование формулы Excel
  • Использование пользовательской функции (созданной через VBA)

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

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

= ПРАВО (A2; LEN (A2) -НАЙТИ ("@", ПОДСТАВИТЬ (A2, "/", "@", LEN (A2) -LEN (ПОДСТАВИТЬ (A2, "/", ""))), 1 )) 

Как работает эта формула?

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

  • ЗАМЕНА (A2; ”/”,“”) — Эта часть формулы заменяет косую черту пустой строкой. Так, например, если вы хотите найти вхождение любой строки, кроме косой черты, используйте ее здесь.
  • LEN (A2) -LEN (ЗАМЕНА (A2; ”/”,“”)) — Эта часть сообщит вам, сколько косых черт в строке. Он просто вычитает длину строки без косой черты из длины строки с косой чертой.
  • ПОДСТАВИТЬ (A2, ”/”, ”@”, LEN (A2) -LEN (ПОДСТАВИТЬ (A2, ”/”, ””))) — Эта часть формулы заменит последнюю косую черту на @. Идея состоит в том, чтобы сделать этого персонажа уникальным. Вы можете использовать любой персонаж, какой захотите. Просто убедитесь, что он уникален и его еще нет в строке.
  • НАЙТИ («@», ПОДСТАВИТЬ (A2, «/», «@», LEN (A2) -LEN (ПОДСТАВИТЬ (A2, «/», »»))), 1) — Эта часть формулы даст вам позицию последней косой черты.
  • LEN (A2) -FIND («@», ПОДСТАВИТЬ (A2, «/», «@», LEN (A2) -LEN (ПОДСТАВИТЬ (A2, «/», »»))), 1) — Эта часть формулы сообщает нам, сколько символов стоит после последней косой черты.
  • = ПРАВО (A2; LEN (A2) -НАЙТИ («@», ПОДСТАВИТЬ (A2, «/», «@», LEN (A2) -LEN (ПОДСТАВИТЬ (A2, «/», »»))), 1 )) — Теперь это просто даст нам строку после последней косой черты.

Получение последней позиции символа с помощью пользовательской функции (VBA)

Вышеупомянутая формула прекрасна и работает как шарм, но она немного сложна.

Если вам удобно использовать VBA, вы можете использовать настраиваемую функцию (также называемую функцией, определяемой пользователем), созданную с помощью VBA. Это может упростить формулу и сэкономить время, если вам придется делать это часто.

Давайте воспользуемся тем же набором данных URL-адресов (как показано ниже):

Для этого случая я создал функцию с именем LastPosition, которая находит последнюю позицию указанного символа (в данном случае это косая черта).

Вот формула, которая сделает это:

= ПРАВО (A2; LEN (A2) -LastPosition (A2; "/") + 1)

Вы можете видеть, что это намного проще, чем тот, который мы использовали выше.

Вот как это работает:

  • LastPosition — наша настраиваемая функция — возвращает позицию косой черты. Эта функция принимает два аргумента — ссылку на ячейку с URL-адресом и символ, позицию которого нам нужно найти.
  • Затем функция ВПРАВО дает нам все символы после косой черты.

Вот код VBA, создавший эту функцию:

Функция LastPosition (rCell As Range, rChar As String) 'Эта функция выдает последнюю позицию указанного символа' Этот код был разработан Sumit Bansal (https://trumpexcel.com) Dim rLen As Integer rLen = Len (rCell) For i = rLen To 1 Step -1 If Mid (rCell, i - 1, 1) = rChar Then LastPosition = i Exit Function End If Next i End Function

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

Вот шаги, чтобы скопировать и вставить этот код в серверную часть VB:

Вот шаги, чтобы поместить этот код в редактор VB:

  1. Перейдите на вкладку Разработчик.
  2. Выберите вариант Visual Basic. Это откроет редактор VB в бэкэнде.
  3. На панели Project Explorer в редакторе VB щелкните правой кнопкой мыши любой объект книги, в которую вы хотите вставить код. Если вы не видите Project Explorer, перейдите на вкладку View и нажмите Project Explorer.
  4. Перейдите во вкладку «Вставить» и нажмите «Модуль». Это вставит объект модуля для вашей книги.
  5. Скопируйте и вставьте код в окно модуля.

Теперь формула будет доступна на всех листах книги.

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

Вам также могут понравиться следующие руководства по Excel:

  • Как узнать количество слов в Excel.
  • Как использовать ВПР с несколькими критериями.
  • Найдите последнее вхождение подстановочного значения в списке в Excel.
  • Извлечь подстроку в Excel.

Вы поможете развитию сайта, поделившись страницей с друзьями

Предположим, у вас есть следующий список текстовых строк, которые содержат символ «-», и теперь вы хотите получить последнее или n-е вхождение символа «-», есть ли у вас какие-нибудь хорошие идеи для решения этой проблемы?


Найдите последнее вхождение символа с помощью формул

Вот несколько формул, которые помогут вам найти последнюю позицию определенного символа, пожалуйста, сделайте следующее:

1. Рядом с текстовой строкой введите или скопируйте любую из приведенных ниже формул в пустую ячейку:

=SEARCH(«^^»,SUBSTITUTE(A2,»-«,»^^»,LEN(A2)-LEN(SUBSTITUTE(A2,»-«,»»))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT(«1:»&LEN(A2))),1)=»-«),ROW(INDIRECT(«1:»&LEN(A2))))

2. Затем перетащите маркер заливки в диапазон, в котором вы хотите применить эту формулу, и вы получите последнее вхождение определенного символа «-», см. Снимок экрана:

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


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

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

1. Откройте свой рабочий лист, который вы хотите использовать.

2. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.

3. Затем нажмите Вставить > Модули, и вставьте следующий макрос в Окно модуля.

Код VBA: найти последнее вхождение символа

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

4. Затем сохраните и закройте этот код, вернитесь на рабочий лист и введите эту формулу = lastpositionofchar (A2; «-») в пустую ячейку помимо ваших данных, см. снимок экрана:

5. Затем перетащите дескриптор заполнения в диапазон, который вам нужен для применения этой формулы, и вхождение последнего символа «-» было извлечено из текстовых строк, как показано на следующем снимке экрана:

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


Найдите первое или n-е вхождение символа с помощью формулы

Чтобы получить первую или n-ю позицию определенного символа, примените следующую формулу:

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

=FIND(CHAR(160),SUBSTITUTE(A2,»-«,CHAR(160),2))

2. Затем перетащите дескриптор заполнения вниз к ячейкам, к которым вы хотите применить эту формулу, и позиции второго символа «-» были вычислены, см. Снимок экрана:

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


Найти первое или n-е вхождение определенного символа с помощью простой функции

Работы С Нами Kutools for ExcelАвтора Найдите место N-го символа в строке утилиту, вы можете быстро и легко получить позицию первого или n-го конкретного символа.

Примечание:Чтобы применить это Найдите место N-го символа в строке, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте так:

Например, я хочу получить второе появление символа «-», пожалуйста, сделайте следующее:

1. Щелкните ячейку, в которую вы хотите поместить результат.

2. Затем нажмите Кутулс > Формула Помощник > Формула Помощник, см. снимок экрана:

3. В Помощник по формулам диалоговое окно:

  • Выберите Поиск из файла Формула Тип раскрывающийся список;
  • Затем выберите Найдите место N-го символа в строке из Выберите изула список;
  • В разделе Ввод аргументов раздел, выберите ячейку, содержащую текстовую строку, которую вы хотите использовать, и введите символ, который вы хотите получить, его позицию, наконец, укажите число, которое вы хотите получить, положение символа.

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

Скачать и бесплатную пробную версию Kutools for Excel Сейчас !


Больше относительных статей:

  • Извлечь все, кроме первого / последнего слова в Excel
  • Чтобы извлечь все слова из ячейки, но первое или последнее слово может помочь вам удалить ненужное слово, которое вам нужно, в этом случае, конечно, вы можете скопировать нужные слова и вставить их в другую ячейку по одному. Но это будет скучно, если нужно извлечь несколько значений ячеек, кроме первого или последнего слова. Как быстро и легко извлечь все слова, кроме первого или последнего, в Excel?
  • Извлечь символы справа налево в ячейке
  • В этой статье будет рассказано о вытягивании или извлечении символов справа в ячейке, пока не будет достигнут пробел, чтобы получить следующий результат на листе Excel. Полезная формула из этой статьи поможет быстро и легко решить эту задачу.
  • Удалить первые, последние X символов или символы определенных позиций
  • В этой статье будет рассказано о вытягивании или извлечении символов справа в ячейке, пока не будет достигнут пробел, чтобы получить следующий результат на листе Excel. Полезная формула из этой статьи поможет быстро и легко решить эту задачу.
  • Найдите позицию первой строчной буквы
  • Если у вас есть список текстовых строк, которые содержат как прописные, так и строчные буквы, теперь вы хотите узнать положение первой строчной буквы из них на листе Excel. Как быстро получить результат, не пересчитывая их по очереди?

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Прожег штаны как исправить
  • Как на мамбе найти девушку на ночь
  • Dayz как найти патроны
  • Как найти экстремум функции питон
  • Как найти размеры окон

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии