Excel REPLACE 및 SUBSTITUTE 함수 사용 - 수식 예

  • 이 공유
Michael Brown

이 튜토리얼에서는 Excel REPLACE 및 SUBSTITUTE 기능을 사용 예와 함께 설명합니다. 텍스트 문자열, 숫자 및 날짜와 함께 REPLACE 함수를 사용하는 방법과 하나의 수식 내에서 여러 REPLACE 또는 SUBSTITUTE 함수를 중첩하는 방법을 알아보세요.

지난주에 우리는 내에서 FIND 및 SEARCH 함수를 사용하는 다양한 방법에 대해 논의했습니다. 귀하의 Excel 워크시트. 오늘은 위치에 따라 셀의 텍스트를 바꾸거나 내용에 따라 한 텍스트 문자열을 다른 문자열로 대체하는 두 가지 다른 기능에 대해 자세히 살펴보겠습니다. 짐작하셨겠지만 저는 Excel REPLACE 및 SUBSTITUTE 기능에 대해 이야기하고 있습니다.

    Excel REPLACE 기능

    Excel의 REPLACE 기능을 사용하면 하나 또는 여러 개를 바꿀 수 있습니다. 다른 문자 또는 문자 집합이 있는 텍스트 문자열의 문자.

    REPLACE(old_text, start_num, num_chars, new_text)

    보시다시피 Excel REPLACE 함수에는 4개의 인수가 있으며 모두 필수입니다.

    • Old_text - 일부 문자를 바꾸려는 원본 텍스트(또는 원본 텍스트가 있는 셀에 대한 참조)입니다.
    • Start_num - 바꾸려는 old_text 내의 첫 번째 문자 위치.
    • Num_chars - 바꾸려는 문자 수.
    • New_text - 대체 텍스트.

    예를 들어 " sun "이라는 단어를 " son "으로 변경하려면 다음을 사용할 수 있습니다.수식:

    =REPLACE("sun", 2, 1, "o")

    원래 단어를 A2와 같은 셀에 넣으면 old_text 인수에 해당 셀 참조를 제공할 수 있습니다.

    =REPLACE(A2, 2, 1, "o")

    참고. start_num 또는 num_chars 인수가 음수이거나 숫자가 아닌 경우 Excel 바꾸기 수식은 #VALUE! 오류.

    숫자 값으로 Excel REPLACE 함수 사용

    Excel의 REPLACE 함수는 텍스트 문자열과 함께 작동하도록 설계되었습니다. 물론 이를 사용하여 텍스트 문자열의 일부인 숫자 문자를 바꿀 수 있습니다. 예를 들면 다음과 같습니다.

    =REPLACE(A2, 7, 4, "2016")

    "2016 " 일반적으로 텍스트 값과 마찬가지로 큰따옴표로 묶습니다.

    유사한 방식으로 숫자 내에서 하나 이상의 숫자를 바꿀 수 있습니다. 예:

    =REPLACE(A4, 4, 4,"6")

    또한 대체 값을 큰따옴표("6")로 묶어야 합니다.

    메모. Excel REPLACE 수식은 항상 숫자가 아닌 텍스트 문자열 을 반환합니다. 위의 스크린샷에서 B2에서 반환된 텍스트 값의 왼쪽 정렬을 확인하고 A2에서 오른쪽 정렬된 원래 숫자와 비교합니다. 그리고 이것은 텍스트 값이기 때문에 예를 들어 1을 곱하거나 텍스트를 숫자로 변환하는 방법에 설명된 다른 방법을 사용하여 다시 숫자로 변환하지 않는 한 다른 계산에서 사용할 수 없습니다.

    날짜와 함께 Excel REPLACE 함수 사용

    방금 본 것처럼 REPLACE 함수는텍스트 문자열을 반환한다는 점을 제외하면 숫자입니다. :) 내부 Excel 시스템에서 날짜가 숫자로 저장된다는 점을 기억하면 날짜에 일부 바꾸기 수식을 사용할 수 있습니다. 결과는 매우 난처할 것입니다.

    예를 들어 A2에 날짜가 있고 예를 들어 10월 14일에 " 10월 "을 " 11월 ". 따라서 REPLACE(A2, 4, 3, "Nov") 수식을 작성하여 Excel에 A2 셀의 3자를 4번째 문자부터 바꾸라고 지시하고 결과는 다음과 같습니다.

    그게 왜요? "01-Oct-14"는 날짜를 나타내는 기본 일련 번호(41913)의 시각적 표현일 뿐이기 때문입니다. 따라서 바꾸기 수식은 위 일련 번호의 마지막 3자리를 " Nov "로 변경하고 텍스트 문자열 "419Nov"를 반환합니다.

    Excel REPLACE 기능이 올바르게 작동하도록 하려면 날짜의 경우 먼저 TEXT 함수 또는 Excel에서 날짜를 텍스트로 변환하는 방법에 설명된 다른 기술을 사용하여 날짜를 텍스트 문자열로 변환할 수 있습니다. 또는 REPLACE 함수의 old_text 인수에 TEXT 함수를 직접 삽입할 수 있습니다.

    =REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")

    위 수식의 결과는 다음과 같습니다. 텍스트 문자열 이므로 이 솔루션은 추가 계산에서 수정된 날짜를 사용하지 않을 경우에만 작동합니다. 텍스트 문자열이 아닌 날짜가 필요한 경우 DATEVALUE 함수를 사용하여Excel REPLACE 함수의 이전 날짜:

    =DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))

    셀에서 여러 번의 교체를 수행하기 위한 중첩된 REPLACE 함수

    매우 자주 한 번 이상의 교체를 수행해야 할 수 있습니다. 같은 세포. 물론 한 번의 교체를 수행하고 중간 결과를 추가 열에 출력한 다음 REPLACE 함수를 다시 사용할 수 있습니다. 그러나 더 좋고 전문적인 방법은 중첩된 REPLACE 기능 을 사용하여 단일 수식으로 여러 교체를 수행하는 것입니다. 이 문맥에서 "중첩"이란 하나의 기능을 다른 기능 안에 배치하는 것을 의미합니다.

    다음 예를 고려하십시오. A 열에 "123456789" 형식의 전화 번호 목록이 있고 하이픈을 추가하여 전화 번호처럼 보이도록 만들고 싶다고 가정합니다. 즉, 목표는 "123456789"를 "123-456-789"로 바꾸는 것입니다.

    첫 번째 하이픈을 삽입하는 것은 쉽습니다. 0자 를 하이픈으로 바꾸는 일반적인 Excel 바꾸기 수식을 작성합니다. 즉, 셀의 4번째 위치에 하이픈을 추가합니다.

    =REPLACE(A2,4,0,"-")

    위의 바꾸기 수식은 다음과 같습니다.

    좋아, 이제 8번째 위치에 하이픈을 하나 더 삽입해야 합니다. 이렇게 하려면 위 수식을 다른 Excel REPLACE 함수 내에 배치합니다. 보다 정확하게는 다른 함수의 old_text 인수에 포함하여 두 번째 REPLACE 함수가A2 셀의 값이 아닌 첫 번째 교체:

    =REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")

    결과적으로 원하는 형식의 전화번호를 얻습니다.

    유사한 방식으로 중첩된 REPLACE 함수를 사용하여 적절한 위치에 슬래시(/)를 추가하여 텍스트 문자열을 날짜처럼 보이게 할 수 있습니다.

    =(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    또한 위의 REPLACE 수식을 DATEVALUE 함수로 래핑하여 텍스트 문자열을 실제 날짜로 변환할 수 있습니다.

    =DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    물론 함수 수에는 제한이 없습니다. 하나의 수식 내에서 중첩할 수 있습니다(최신 버전의 Excel 2010, 2013 및 2016에서는 수식에서 최대 8192자 및 최대 64개의 중첩 함수를 허용함).

    예를 들어 3개의 중첩된 REPLACE 함수를 사용하여 다음을 수행할 수 있습니다. A2의 숫자가 날짜 및 시간처럼 표시되도록:

    =REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")

    각 셀의 다른 위치에 나타나는 문자열 바꾸기

    지금까지 모든 예에서 우리는 유사한 성격의 값을 다루었고 동일한 위치에서 대체했습니다. 각 셀에 . 그러나 실제 작업은 종종 그보다 더 복잡합니다. 워크시트에서 바꿀 문자가 반드시 각 셀의 같은 위치에 나타나지 않을 수 있으므로 바꿀 첫 번째 문자 의 위치를 ​​찾아야 합니다. 다음 예는 내가 말하는 내용을 보여줍니다.

    이메일 목록이 있다고 가정합니다.A 열에 주소 지정. 그리고 한 회사의 이름이 "ABC"에서 "BCA"로 변경되었습니다. 따라서 그에 따라 모든 고객의 이메일 주소를 업데이트해야 합니다.

    하지만 문제는 고객 이름의 길이가 다르기 때문에 회사 이름이 시작되는 위치를 정확히 지정할 수 없다는 것입니다. 즉, Excel REPLACE 함수의 start_num 인수에 어떤 값을 제공해야 하는지 알 수 없습니다. 이를 찾으려면 Excel FIND 함수를 사용하여 문자열 "@abc":

    =FIND("@abc",A2)

    에서 첫 번째 문자의 위치를 ​​결정한 다음 위의 FIND 함수를 start_num에 제공합니다. REPLACE 수식의 인수:

    =REPLACE(A2, FIND("@abc",A2), 4, "@bca")

    팁. 전자 메일 주소의 이름 부분이 실수로 바뀌는 것을 방지하기 위해 Excel 찾기 및 바꾸기 수식에 "@"를 포함합니다. 물론 이러한 일치가 발생할 가능성은 매우 희박하지만 여전히 안전한 편에 있기를 원할 수 있습니다.

    다음 스크린샷에서 볼 수 있듯이 공식은 다음을 찾고 교체하는 데 문제가 없습니다. 새 텍스트로 이전 텍스트. 그러나 바꿀 텍스트 문자열이 없으면 수식에서 #VALUE! error:

    그리고 수식이 오류 대신 원래 이메일 주소를 반환하기를 원합니다. FIND & IFERROR 함수의 REPLACE 수식:

    =IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)

    이 개선된 수식이 완벽하게 작동하지 않습니까?

    또 다른 실용적인REPLACE 함수의 적용은 셀의 첫 글자를 대문자로 하는 것입니다. 이름, 제품 등의 목록을 처리할 때마다 위에 링크된 수식을 사용하여 첫 글자를 대문자로 변경할 수 있습니다.

    Tip. 원본 데이터에서 교체하려면 Excel FIND 및 REPLACE 대화 상자를 사용하는 것이 더 쉬운 방법입니다.

    Excel SUBSTITUTE 기능

    Excel의 SUBSTITUTE 기능은 하나 이상의 인스턴스를 교체합니다. 주어진 문자 또는 지정된 문자가 있는 텍스트 문자열.

    Excel SUBSTITUTE 함수의 구문은 다음과 같습니다.

    SUBSTITUTE(text, old_text, new_text, [instance_num])

    처음 세 개의 인수는 필수이며 마지막 인수는 선택 사항입니다.

    • 텍스트 - 문자를 대체하려는 원본 텍스트입니다. 테스트 문자열, 셀 참조 또는 다른 수식의 결과로 제공될 수 있습니다.
    • Old_text - 바꾸려는 문자입니다.
    • New_text - old_text를 대체할 새 문자.
    • Instance_num - 대체하려는 old_text의 발생. 생략하면 이전 텍스트의 모든 항목이 새 텍스트로 변경됩니다.

    예를 들어 아래 수식은 모두 A2 셀에서 "1"을 "2"로 대체하지만 다른 결과를 반환합니다. 마지막 인수에 제공한 숫자에 따라:

    =SUBSTITUTE(A2, "1", "2", 1) - "1"의 첫 번째 항목을 다음으로 대체합니다."2".

    =SUBSTITUTE(A2, "1", "2", 2) - "1"의 두 번째 항목을 "2"로 대체합니다.

    =SUBSTITUTE(A2, "1", "2") - "1"의 모든 항목을 "2"로 대체합니다.

    실제로 SUBSTITUTE 함수는 셀에서 원치 않는 문자를 제거하는 데에도 사용됩니다. 실제 예는 다음을 참조하십시오.

    • 문자열에서 문자나 단어를 제거하는 방법
    • 셀에서 원하지 않는 문자를 삭제하는 방법

    참고. Excel의 SUBSTITUTE 함수는 대소문자를 구분 합니다. 예를 들어 다음 수식은 셀 A2에서 대문자 "X"의 모든 인스턴스를 "Y"로 바꾸지만 소문자 "x"의 인스턴스는 바꾸지 않습니다.

    단일 수식으로 여러 값 대체(중첩된 SUBSTITUTE)

    Excel REPLACE 함수의 경우와 마찬가지로 단일 수식 내에 여러 SUBSTITUTE 함수를 중첩하여 한 번에 여러 개의 대체를 수행할 수 있습니다. 단일 수식을 사용하는 여러 문자 또는 하위 문자열.

    셀 A2에 " PR1, ML1, T1 "과 같은 텍스트 문자열이 있다고 가정합니다. 여기서 "PR"은 "Project, "ML "는 "Milestone"을 의미하고 "T"는 "Task"를 의미합니다. 원하는 것은 3개의 코드를 전체 이름으로 바꾸는 것입니다. 이를 위해 3개의 서로 다른 SUBSTITUTE 수식을 작성할 수 있습니다.

    =SUBSTITUTE(A2,"PR", "Project ")

    =SUBSTITUTE(A2, "ML", "Milestone ")

    =SUBSTITUTE(A2, "T", "Task ")

    그런 다음 서로 중첩합니다.

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"PR","Project "),"ML","Milestone "),"T","Task ")

    끝에 공백을 추가했습니다. 더 나은 각 new_text 인수가독성.

    한 번에 여러 값을 바꾸는 다른 방법을 알아보려면 Excel에서 대량 찾기 및 바꾸기를 수행하는 방법을 참조하세요.

    Excel REPLACE 대 . Excel SUBSTITUTE

    Excel REPLACE 및 SUBSTITUTE 함수는 둘 다 텍스트 문자열을 교환하도록 설계되었다는 점에서 서로 매우 유사합니다. 두 기능의 차이점은 다음과 같습니다.

    • SUBSTITUTE는 주어진 문자 또는 텍스트 문자열의 하나 이상의 인스턴스 를 대체합니다. 따라서 바꿀 텍스트를 알고 있는 경우 Excel SUBSTITUTE 함수를 사용하십시오.
    • REPLACE는 텍스트 문자열의 지정된 위치 에 있는 문자를 변경합니다. 따라서 바꿀 문자의 위치를 ​​알고 있는 경우 Excel REPLACE 함수를 사용하십시오.
    • Excel의 SUBSTITUTE 함수를 사용하면 발생 of old_text를 new_text로 변경해야 합니다.

    엑셀에서 SUBSTITUTE, REPLACE 함수를 사용하는 방법입니다. 바라건대, 이 예제가 작업을 해결하는 데 유용할 것입니다. 읽어 주셔서 감사합니다. 다음 주 블로그에서 볼 수 있기를 바랍니다!

    연습 통합 문서 다운로드

    REPLACE 및 SUBSTITUTE 수식 예제(.xlsx 파일)

    Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.