목차
지난 몇 개의 기사에서 텍스트 문자열을 조작하는 데 사용되는 다양한 텍스트 함수에 대해 논의했습니다. 오늘 우리의 초점은 문자열의 맨 오른쪽에서 지정된 수의 문자를 반환하도록 설계된 RIGHT 함수에 있습니다. 다른 Excel 텍스트 함수와 마찬가지로 RIGHT는 매우 간단하고 간단하지만 작업에 도움이 될 수 있는 몇 가지 분명한 용도가 있습니다.
Excel RIGHT 함수 구문
Excel의 RIGHT 함수는 텍스트 문자열의 끝에서 지정된 수의 문자를 반환합니다.
RIGHT 함수의 구문은 다음과 같습니다.
RIGHT(text, [num_chars])여기서 :
- Text (필수) - 문자를 추출하려는 텍스트 문자열.
- Num_chars (선택) - 가장 오른쪽 문자부터 시작하여 추출할 문자 수입니다.
- num_chars 가 생략된 경우 문자열의 마지막 1문자가 반환됩니다(기본값).
- num_chars 가 총 개수보다 큰 경우 문자열의 모든 문자가 반환됩니다.
- num_chars 가 음수인 경우 Right 수식은 #VALUE! error.
예를 들어 셀 A2의 문자열에서 마지막 3자를 추출하려면 다음 수식을 사용합니다.
=RIGHT(A2, 3)
결과는 다음과 유사할 수 있습니다.
중요 참고 사항! Excel RIGHT 함수는 항상 텍스트를 반환합니다.string , 원래 값이 숫자인 경우에도 마찬가지입니다. Right 수식을 강제로 숫자로 출력하려면 이 예에서와 같이 VALUE 함수와 함께 사용하십시오.
Excel에서 RIGHT 함수를 사용하는 방법 - 수식 예
실생활에서 워크시트에서 Excel RIGHT 함수는 단독으로 거의 사용되지 않습니다. 대부분의 경우 보다 복잡한 수식의 일부로 다른 엑셀 함수와 함께 사용하게 됩니다. 특정 문자 뒤에 오는 하위 문자열을 찾으려면 SEARCH 또는 FIND 함수를 사용하여 해당 문자의 위치를 확인하고 LEN 함수에서 반환된 전체 문자열 길이에서 해당 위치를 뺀 다음 원래 문자열의 가장 오른쪽에서 해당 문자를 가져옵니다.
RIGHT( 문자열 , LEN( 문자열 ) - SEARCH( 문자 , 문자열 ))예를 들어 셀 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,":",""))
수식이 올바르게 작동하는지 확인하려면 셀을 분리하고 결과는 셀 A2의 콜론 수인 2가 됩니다.
- 마지막 구분 기호를 고유한 문자로 바꿉니다. 문자열에서 마지막 구분 기호 뒤에 오는 텍스트를 추출하려면 어떤 식으로든 마지막 구분 기호를 "표시"해야 합니다. 이를 위해 콜론의 마지막 항목을 원래 문자열의 어디에도 나타나지 않는 문자(예: 파운드 기호(#))로 바꿉니다.
Excel SUBSTITUTE 함수의 구문에 익숙하다면 지정된 문자의 특정 항목만 바꿀 수 있는 4번째 선택적 인수(instance_num)가 있음을 기억할 것입니다. 그리고 이미 문자열의 구분 기호 수를 계산했으므로 다른 SUBSTITUTE 함수의 네 번째 인수에 위의 함수를 제공하기만 하면 됩니다.
=SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))
이 공식을 별도의 셀에 넣으면 , 다음 문자열을 반환합니다. ERROR:432#Connection timed out
- 문자열에서 마지막 구분 기호의 위치를 가져옵니다. 마지막 구분 기호를 대체한 문자에 따라 대소문자를 구분하지 않는 SEARCH 또는 대소문자를 구분하는 FIND를 사용하여 문자열에서 해당 문자의 위치를 결정합니다. 마지막 콜론을 교체했습니다.# 기호를 사용하므로 다음 수식을 사용하여 해당 위치를 찾습니다.
=SEARCH("#", SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))
이 예에서 수식은 교체된 문자열에서 #의 위치인 10을 반환합니다.
- 마지막 구분 기호 오른쪽에 하위 문자열을 반환합니다. 이제 문자열에서 마지막 구분 기호의 위치를 알았으므로 총 문자열 길이에서 해당 숫자를 빼고 원래 문자열의 끝에서 해당 문자를 반환하도록 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 RIGHT 함수가 유용합니다. 문자열의 시작 부분에서 특정 수의 문자를 제거하려는 상황에서.
이전에서 사용된 데이터 세트에서 예를 들어, 각 문자열의 시작 부분에 나타나는 "ERROR"라는 단어를 제거하고 오류 번호와 설명만 남겨둘 수 있습니다. 그것을 가지려면전체 문자열 길이에서 제거할 문자 수를 빼고 해당 숫자를 Excel RIGHT 함수의 num_chars 인수에 제공합니다.
RIGHT( string , LEN ( string )- number_of_chars_to_remove )이 예에서는 A2의 텍스트 문자열에서 처음 6자(5자 및 콜론)를 제거하므로 공식은 다음과 같습니다.
=RIGHT(A2, LEN(A2)-6)
Excel RIGHT 함수가 숫자를 반환할 수 있습니까?
이 자습서의 시작 부분에서 언급했듯이 Excel의 RIGHT 함수는 항상 텍스트 문자열을 반환합니다. 원래 값이 숫자인 경우. 하지만 숫자 데이터 세트로 작업하고 출력도 숫자로 하려면 어떻게 해야 할까요? 쉬운 해결 방법은 숫자를 나타내는 문자열을 숫자로 변환하도록 특별히 설계된 VALUE 함수에 Right 수식을 중첩하는 것입니다.
예를 들어 문자열에서 마지막 5자(우편번호)를 가져오려면 A2에서 추출된 문자를 숫자로 변환하고 다음 수식을 사용합니다.
=VALUE(RIGHT(A2, 5))
아래 스크린샷은 결과를 보여줍니다. 왼쪽이 아닌 B열의 오른쪽 정렬 숫자에 주목하세요. -열 A의 정렬된 텍스트 문자열:
왜 RIGHT 함수가 날짜와 함께 작동하지 않습니까?
Excel RIGHT 함수는 텍스트 문자열과 함께 작동하도록 설계되었지만 날짜는 숫자로 표시되기 때문입니다. 내부 Excel 시스템에서 Right 수식은 개인을 검색할 수 없습니다.일, 월 또는 연도와 같은 날짜의 일부. 이 작업을 시도하면 날짜를 나타내는 숫자의 마지막 몇 자리만 표시됩니다.
A1 셀에 18-Jan-2017 날짜가 있다고 가정합니다. RIGHT(A1,4) 수식을 사용하여 연도를 추출하려고 하면 결과는 2753이 되며, 이는 Excel 시스템에서 2017년 1월 18일을 나타내는 숫자 42753의 마지막 4자리입니다.
"그래서 날짜의 특정 부분을 검색하려면 어떻게 해야 합니까?"라고 물으실 수 있습니다. 다음 함수 중 하나 사용:
- 일을 추출하는 DAY 함수: =DAY(A1)
- 월을 가져오는 MONTH 함수: =MONTH(A1)
- 연도를 가져오는 YEAR 함수: =YEAR(A1)
다음 스크린샷은 결과를 보여줍니다.
날짜가 텍스트 문자열로 표시되는 경우 , 외부 소스에서 데이터를 내보낼 때 종종 있는 경우 RIGHT 함수를 사용하여 날짜의 특정 부분을 나타내는 문자열의 마지막 몇 문자를 가져오는 것을 막을 수 있는 것은 없습니다:
Excel RIGHT 함수가 작동하지 않음 - 이유 및 해결 방법
워크시트에서 올바른 수식이 제대로 작동하지 않는 경우 다음 이유 중 하나 때문일 가능성이 큽니다.
- 하나 이상의 원본 데이터의 후행 공백 . 셀에서 불필요한 공백을 빠르게 제거하려면 Excel TRIM 기능이나 Cell Cleaner 추가 기능을 사용하십시오.
- num_chars 인수는 0보다 작습니다 . 의물론 의도적으로 수식에 음수를 넣고 싶지는 않겠지만 num_chars 인수가 다른 Excel 함수 또는 여러 함수의 조합으로 계산되고 올바른 수식이 #VALUE! 오류가 발생하면 중첩된 함수에 오류가 있는지 확인하십시오.
- 원래 값은 날짜 입니다. 이 자습서를 자세히 따랐다면 RIGHT 함수가 날짜와 함께 작동하지 않는 이유를 이미 알고 있을 것입니다. 누군가 이전 섹션을 건너뛴 경우 Excel RIGHT 함수가 날짜와 함께 작동하지 않는 이유에서 자세한 내용을 찾을 수 있습니다.
Excel에서 RIGHT 함수를 사용하는 방법입니다. 이 자습서에서 설명하는 수식을 자세히 살펴보려면 아래 샘플 통합 문서를 다운로드하는 것이 좋습니다. 읽어 주셔서 감사합니다. 다음 주 블로그에서 뵙기를 바랍니다.
사용 가능한 다운로드
Excel RIGHT 기능 - 예제(.xlsx 파일)