[엑셀] LEN 함수, 셀의 길이를 알려주는 함수
엑셀, VBA, 파워쿼리/엑셀 스프레드시트

[엑셀] LEN 함수, 셀의 길이를 알려주는 함수

by Jongg 2023. 10. 12.
728x90

LEN 함수는 셀의 길이를 반환해 주는 함수입니다. LEN 함수는 길이를 반환해 주는 특성 때문에 홀로 사용되기보다는 다른 함수와 같이 쓰이는 경우가 많은데요. 이번 글에서는 LEN 함수의 개념과 사용사례 두 가지를 소개하겠습니다. 

 

LEN 함수 소개 및 사용법

1) LEN 함수의 함수인수와 결괏값

 

LEN(셀주소 혹은 문자열) = 셀 값 혹은 문자열의 길이*

*공백도  포함

 

2) LEN 함수를 사용하는 방법

LEN 함수의 함수인수에서 봤듯이, 수식 안에 셀주소나 따옴표("")를 포함하여 문자열을 입력하면 문자 개수(공백 포함)가 반환됩니다. 

▲ 위의 예시처럼, LEN("온라인 게임")이던 LEN(C1)이던 똑같이 공백을 포함한 문자 개수 6을 반환합니다.  

 

사용사례 #1. 날짜 표기방식 통일하기 

▲ 위의 사진처럼, 날짜표기 방식별로 문자열 길이 수가 다릅니다. 특이한 점은, 세 번째 행 '2023-01-01'과 네 번째 행의 '2023-01-01'의 문자열 길이 수가 다른데요. 세 번째 행은 '날짜 서식'으로 입력이 됐고, 네 번째 행은 텍스트 서식으로 입력이 됐기 때문입니다. 날짜 서식으로 입력된 '2023-01-01'은 숫자 서식으로 변환하면 44927로 변환됩니다. 그래서 날짜 서식의 '2023-01-01'의 길이는 숫자 '44927'의 길이인 5로 인식됩니다. 

 

자료를 여러 사람한테 취합받다 보면 날짜표기 방식이 제각각인 경우가 발생하는데요. 이때 LEN 함수를 사용하면 다른 방식으로 날짜표기가 이뤄진 데이터를 쉽게 찾을 수 있습니다. 텍스트나 숫자 형태로 표기된 데이터를 날짜 서식으로 변환하는 방법은 추후에 다루도록 하겠습니다. 

 

728x90

 

사용사례 #2. 고객명 마스킹 처리하기 (ex. 김**, 김*김 등)

업무를 하다 보면 고객명을 마스킹 처리해야 하는 경우가 발생할 수도 있습니다. 이때 REPLACE, REPT 함수와 함께 LEN 함수를 활용하면 손쉽게 고객명을 마스킹처리 할 수 있습니다. 아래에서 소개해주는 방법을 응용하면 전화번호나 주민번호 등 다른 민감한 정보도 마스킹 처리할 수 있습니다.  

 

1) 첫 글자 빼고 전부 '*'로 마스킹하기 

▲ 고객명의 첫 글자 빼고 모든 글자를 "*"로 마스킹하는 수식은 아래와 같습니다. 


REPLACE(원본셀*,2,LEN(원본셀)-1,REPT("*",LEN(원본셀)-1)) 

*바꾸고자 하는 셀

 

위의 수식의 의미를 간단히 설명드리자면, 원본셀의 두 번째(2) 글자부터 시작하여, 원본셀 글자수 - 1 만큼의 글자를 "*" 로 바꿔주는 것입니다. 자세한 설명은 REPLACE 함수에 대해 소개할 때 해드리겠습니다. 

 

 

2) 가운데 부분을 '*'로 마스킹하기 

 고객명의 첫 글자와 마지막 글자는 남기고, 나머지 글자를 "*"로 마스킹하는 수식은 아래와 같습니다

 

REPLACE(원본셀*,2,LEN(원본셀)-2,REPT("*",LEN(원본셀)-2)) 

 

위의 수식의 의미를 간단히 설명드리자면, 원본셀의 두 번째(2) 글자부터 시작하여, 원본셀 글자수 - 2 만큼의 글자를 "*" 로 바꿔주는 것입니다. 원본셀 글자 수- 2만큼만 바꾸기 때문에 마지막 글자는 마스킹 처리되지 않습니다. 따라서 이름이 두 글자인 경우 마스킹 처리가 되지 않는데요.
이 경우에는 아래처럼 IF 조건문을 추가하여 두 글자 이름도 같이 마스킹처리 할 수 있습니다. 

 

IF(LEN(원본셀)=2, LEFT(원본셀, 1) & "*",  REPLACE(원본셀,2,LEN(원본셀)-2,REPT("*",LEN(원본셀)-2))) 

728x90

댓글