Excel ПРАВИЛЬНАЯ функция с примерами формул

  • Поделись Этим
Michael Brown

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

    Синтаксис функции Excel ПРАВИЛО

    Функция ПРЯМО в Excel возвращает заданное количество символов из конца текстовой строки.

    Синтаксис функции RIGHT следующий:

    RIGHT(text, [num_chars])

    Где:

    • Текст (требуется) - текстовая строка, из которой нужно извлечь символы.
    • Num_chars (необязательно) - количество символов для извлечения, начиная с крайнего правого символа.
      • Если num_chars опущен, возвращается 1 последний символ строки (по умолчанию).
      • Если num_chars больше, чем общее количество символов в строке, возвращаются все символы.
      • Если num_chars является отрицательным числом, формула Right возвращает ошибку #VALUE!

    Например, чтобы извлечь последние 3 символа из строки в ячейке A2, используйте эту формулу:

    =ПРАВО(A2, 3)

    Результат может выглядеть примерно так:

    Важное замечание! Функция Excel RIGHT всегда возвращает значение текстовая строка Даже если исходное значение - число. Чтобы заставить формулу Right вывести число, используйте ее в сочетании с функцией VALUE, как показано в этом примере.

    Как использовать функцию RIGHT в Excel - примеры формул

    В реальных рабочих листах функция Excel ПРЯМО редко используется сама по себе. В большинстве случаев вы будете использовать ее вместе с другими функциями Excel в составе более сложных формул.

    Как получить подстроку, которая идет после определенного символа

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

    ПРАВДА( строка , LEN( строка ) - ПОИСК( персонаж , строка ))

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

    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))

    Формула даст следующий результат:

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

    =RIGHT(A2,LEN(A2)-SEARCH("-",A2))

    Результат будет выглядеть примерно так:

    Как извлечь подстроку после последнего вхождения разделителя

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

    Как видно на скриншоте выше, колонка A содержит список ошибок. Ваша цель - вытащить описание ошибки, которое идет после последнего двоеточия в каждой строке. Дополнительная сложность заключается в том, что исходные строки могут содержать разное количество разделителей, например, A3 содержит 3 двоеточия, а A5 только одно.

    Ключом к решению является определение позиции последнего разделителя в исходной строке (в данном примере - последнего появления двоеточия). Для этого необходимо использовать несколько различных функций:

    1. Получите количество разделителей в исходной строке. Это простая часть:
      • Сначала вычисляется общая длина строки с помощью функции LEN: LEN(A2)
      • Во-вторых, вычислите длину строки без разделителей с помощью функции SUBSTITUTE, которая заменяет все вхождения двоеточия на ничто: LEN(SUBSTITUTE(A2,":",""))
      • Наконец, вычтите длину исходной строки без разделителей из общей длины строки: LEN(A2)-LEN(SUBSTITUTE(A2,":","")).

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

    2. Замените последний разделитель на какой-нибудь уникальный символ. Чтобы извлечь текст, который идет после последнего разделителя в строке, нам нужно каким-то образом "пометить" это последнее вхождение разделителя. Для этого давайте заменим последнее вхождение двоеточия на символ, который нигде не встречается в исходных строках, например, на знак фунта (#).

      Если вы знакомы с синтаксисом функции Excel SUBSTITUTE, вы можете помнить, что она имеет 4-й необязательный аргумент (instance_num), который позволяет заменить только конкретное вхождение указанного символа. И поскольку мы уже подсчитали количество разделителей в строке, просто подставьте приведенную выше функцию в четвертый аргумент другой функции SUBSTITUTE:

      =SUBSTITUTE(A2,":", "#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))

      Если поместить эту формулу в отдельную ячейку, то она вернет такую строку: ERROR:432#Соединение прервано по времени

    3. Получите позицию последнего разделителя в строке. В зависимости от того, на какой символ вы заменили последний разделитель, используйте либо нечувствительный к регистру SEARCH, либо чувствительный к регистру FIND, чтобы определить позицию этого символа в строке. Мы заменили последнее двоеточие на знак #, поэтому для определения его позиции мы используем следующую формулу:

      =SEARCH("#", SUBSTITUTE(A2,":", "#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))

      В этом примере формула возвращает 10, что является позицией # в заменяемой строке.

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

      =RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",")))))

    Как показано на скриншоте ниже, формула работает идеально:

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

    =IFERROR(RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":","))))), A2))

    В случае если определенная строка не содержит ни одного вхождения указанного разделителя, будет возвращена исходная строка, как в строке 6 на скриншоте ниже:

    Как удалить первые N символов из строки

    Помимо извлечения подстроки из конца строки, функция Excel ПРАВИЛО пригодится в ситуациях, когда нужно удалить определенное количество символов из начала строки.

    В наборе данных, использованном в предыдущем примере, вы можете захотеть удалить слово "ERROR", которое появляется в начале каждой строки, и оставить только номер ошибки и ее описание. Чтобы сделать это, вычтите количество символов, которые нужно удалить, из общей длины строки и введите это число в параметр num_chars аргумент функции Excel ПРАВИЛО:

    ПРАВДА( строка , LEN( строка )- количество_заголовков_для_удаления )

    В этом примере мы удаляем первые 6 символов (5 букв и двоеточие) из текстовой строки в A2, поэтому наша формула выглядит следующим образом:

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

    Может ли функция Excel RIGHT вернуть число?

    Как уже упоминалось в начале этого руководства, функция ПРАВИЛО в Excel всегда возвращает текстовую строку, даже если исходное значение - число. Но что делать, если вы работаете с числовым набором данных и хотите, чтобы вывод был числовым? Простым обходным решением является вложение формулы ПРАВИЛО в функцию VALUE, которая специально разработана для преобразования строки, представляющей число, в число.

    Например, чтобы извлечь последние 5 символов (почтовый индекс) из строки в A2 и преобразовать извлеченные символы в число, используйте эту формулу:

    = VALUE(RIGHT(A2, 5))

    На скриншоте ниже показан результат - обратите внимание на выравнивание чисел по правому краю в столбце B, в отличие от выравнивания текстовых строк по левому краю в столбце A:

    Почему функция RIGHT не работает с датами?

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

    Предположим, у вас есть дата 18-янв-2017 в ячейке A1. Если вы попытаетесь извлечь год с помощью формулы RIGHT(A1,4), результатом будет 2753, что является последними 4 цифрами числа 42753, которое представляет 18 января 2017 года в системе Excel.

    "Итак, как мне получить определенную часть даты?", - спросите вы. С помощью одной из следующих функций:

    • Функция DAY для извлечения дня: =DAY(A1)
    • Функция MONTH для получения месяца: =MONTH(A1)
    • Функция YEAR для извлечения года: =YEAR(A1)

    На следующем снимке экрана показаны результаты:

    Если ваш даты представлены текстовыми строками , что часто бывает при экспорте данных из внешнего источника, ничто не мешает вам использовать функцию ПРАВИЛО для извлечения нескольких последних символов в строке, которые представляют определенную часть даты:

    Не работает функция ПРАВИЛО Excel - причины и решения

    Если формула Right не работает в вашем рабочем листе, скорее всего, это происходит по одной из следующих причин:

    1. Существует один или несколько пробелы Чтобы быстро удалить лишние пробелы в ячейках, используйте функцию Excel TRIM или надстройку Cell Cleaner.
    2. Сайт num_chars аргумент меньше нуля Конечно, вы вряд ли захотите специально вводить отрицательное число в свою формулу, но если num_chars аргумент вычисляется другой функцией Excel или комбинацией различных функций, и ваша формула Right возвращает ошибку #VALUE!, обязательно проверьте вложенную функцию (функции) на наличие ошибок.
    3. Первоначальное значение дата Если вы внимательно следили за этим руководством, вы уже знаете, почему функция ПРАВИЛО не работает с датами. Если кто-то пропустил предыдущий раздел, вы можете найти полную информацию в статье Почему функция ПРАВИЛО Excel не работает с датами.

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

    Доступные загрузки

    Функция Excel ПРАВИЛО - примеры (файл .xlsx)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.