티스토리 뷰

엑셀 TEXT함수로 셀 서식 변환하기

[테스트 환경 : 엑셀 2019]

셀 서식을 변경할 때 "셀 서식" 옵션을 통해 서식을 셀 단위로 손쉽게 변경하는 방법도 있지만, TEXT 함수를 이용하면 셀 내용 안에서도 세분화된 단위로 수정할 수 있습니다.

 

이렇게 하나의 셀 내용에 여러 서식을 지정할 수 있다는 것은 굉장한 장점 중 하나라 할 수 있으며, 좀 더 자세한 TEXT 함수의 사용 방법은 아래에 소개하도록 하겠습니다.

 

엑셀 셀 서식 변환을 TEXT 함수로

 

TEXT 함수 사용 방법

  • 함수 형식 : =TEXT(서식을 지정할 값, "서식 코드")

 

TEXT 함수를 이용해 지정된 서식 코드에 맞는 서식을 "서식을 지정할 값"에 대입해주는 함수입니다.

 

셀 서식(단축키 Ctrl + 1)기능과 가장 큰 차이점은, 셀 서식은 옷을 입히는 형식이라 뷰어 같은 역할을 하고, TEXT함수는 셀 내용에 직접 영향을 주는 형태라 결과물에도 영향을 준다는 차이점이 있습니다.

 

셀 서식 vs TEXT 함수로 동일한 서식을 지정했을때 차이점

 

그 외 서식 코드를 사용하다 보면 셀 서식과 TEXT의 서식 코드가 약간 다르게 동작되는 면도 있기 때문에(위 사진의 TEXT함수에 영어 사용했을때 #VALUE! 오류 참고), TEXT 함수에서 이상한 동작을 보인다면 셀 서식 옵션을 통해 수정하는 것도 하나의 방법일 수 있습니다.

 

어쨌든 위 차이점은 제가 경험한 지식이라 세세한 사항은 직접 사용해보시면서 확인하는게 좋을 것 같습니다.

 

 

TEXT 함수 사용 예제

TEXT 함수는 그 자체만으로 활용도가 높다기보단, 어떤 서식 유형을 사용하느냐에 따라 활용도가 달라집니다.

 

텍스트 셀 서식 지정 예제

 

문자 형태의 값에 TEXT 함수를 이용해 서식을 지정한 예제입니다.

 

=TEXT(B3, "@생활")

  • @는 B3 문자인 "학교" 그대로를 사용한다는 의미라, @학생은 학교학생이 됩니다. 참고로 @뒤에 영문이 포함되면 오류가 발생되는데, 이건 엑셀 버전 차이인지, TEXT 함수 특성인지 정확하지가 않습니다.

=B4&TEXT(C4, "#학생")

  • "#학생"의 #은 숫자를 표시하는 서식으로 C4의 "3"을 가져오고, B4 + " 3학년"이란 수식 더분에 "학교 3학년"이란 결과가 나옵니다.

 

 

숫자 셀 서식 지정 예제

 

이번엔 숫자 값에 TEXT 함수를 이용해 서식을 지정한 예제입니다.

=TEXT(B3, "#,##0.000")

  • 이 서식은 소숫점이 없더라도 소수점 3자리까지 표시되는 서식이고, 1 단위가 0이더라도 0을 표시하도록 지정된 서식입니다. 예로 0을 입력하면 0.000 이란 결과가 나올 수 있는 구조이고, 만약 서식 코드를 #,###. 000과 같이 수정한 후 "0" 값을 대입하면. 000 이란 결과가 출력되게 됩니다.

=TEXT(B4, "0.00%")

  • 소숫점 둘 째자리까지 백분율 서식을 지정합니다

=TEXT(B5, "?/?")

  • B5셀에 입력된 0.65의 분수 값을 표시합니다

=TEXT(B6, "0........")

  • 0이 많아서 생략했지만 서식의 0은 값이 없더라도 0을 표시하기 때문에, 1을 입력하든, 100을 입력하든 모든 0을 표시하게 됩니다.

 

 

시간 셀 서식 지정 예제

 

날자와 시간함수를 이용한 TEXT 서식 지정하는 방법입니다.

 

=TEXT(TODAY(), "월 : MMMM, 일 : DDDD")

  • TODAY이란 오늘 날짜를 알려주는 함수를 이용해, 월을 영문 풀 문자를(MMMM), 일을 영문 풀 문자를(DDDD) 추출해 표시해줍니다.

=TEXT(TODAY(), "YY/MM/DD")

  • YY(년을 두 단위 숫자로), MM(월을 두 단위 숫자로), DD(일을 두 단위 숫자로) 보이도록 서식을 지정합니다

=TEXT(NOW(), "HH:MM AM/PM")

  • NOW()는 현재 시각까지 알려주는 함수로, HH(시간을 두 자리 수로), : MM(분을 두 자리 수로) 표시하도록 하며, AM/PM서식까지 지정하면 오전은 AM, 오후는 PM이 표시되도록 할 수 있습니다. (기본값은 24시간입니다)

 

 

서식 함수와 IF 함수를 활용한 혼합 예제

일반 서식 옵션보다 TEXT 함수를 활용하면 좋은 점을 보여드리기 위해 2가지 예제를 가져왔습니다.

 

 

위 예제는 CONCATENATE와 IF, TEXT 함수를 조합한 예제이고, 간단히 함수 설명만 드리도록 하겠습니다.

 

  • CONCATENATE 함수를 통해 D3값과 구입비용을 합한 "도레미송 구입비용 :"을 표시합니다
  • IF조건을 이용해 D5>10000 이상인 값은 TEXT함수로 서식 지정된 값을 표시하고, 이하라면 "구입 불가"로 표시합니다.

그런데 서식 기능도 IF와 비슷한 기능이 있다는 것을 아시나요?

 

 

 

 

다른 수식은 이전 내용과 동일하게 입력되어 있고, TEXT 함수만 조건식으로 입력한 예제입니다.

 

  • TEXT((D5 * D6), "[>10000]#,##0원 ;구입 불가"

D5 * D6 값이 >10000을 초과하면 #,##0원 서식을, 그렇지 않다면 "구입 불가" 문자를 출력하는 방식인데, 이전 예제의 IF함수와 비슷한 구조로 동작됨을 알 수 있습니다.

 

어떤 방식을 사용해도 무방하지만, TEXT 함수 자체에 조건식이 존재하기 때문에 처리속도 면에선 조금 더 이점이 있을 것이라 추측도 되고, 자신이 선호하는 함수를 이용하는 게 가장 좋은 방법이라 생각됩니다.

LIST