달나라 노트

Excel : REPT (특정 문자 반복, lpad, rpad, Excel lpad, Excel rpad) 본문

Excel

Excel : REPT (특정 문자 반복, lpad, rpad, Excel lpad, Excel rpad)

CosmosProject 2022. 4. 20. 20:43
728x90
반응형

 

 

 

특정 월을 표시할때 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12와 같이 월만 표시하는 경우가 있고,

01, 02, 03, ... 처럼 앞에 0을 붙여서 월을 두자리로 표시하는 형식이 있습니다.

 

이때 Redshift에는 lpad, rpad를 이용해서 1, 2, 3이라는 숫자 왼쪽에 0을 쉽게 붙일 수 있습니다.

하지만 Excel에서는 lpad, rpad와 완전히 동일한 함수가 없습니다.

 

그래서 REPT 함수를 사용하여 lpad, rpad와 비슷한 기능을 구현할 수 있습니다.

 

먼저 REPT 함수가 무슨 기능을 하는지 알아보죠.

 

 

 

Syntax

REPT(text, number)

 

REPT 함수는 위처럼 2개의 인자를 받습니다.

그리고 text 인자로 받은 문자/숫자를 number의 개수 만큼 이어붙여서 return합니다.

 

 

=REPT("A", 3)

수식을 위처럼 입력하면 AAA라는 결과가 출력됩니다.

 

 

 

 

 

이제 1이라는 숫자의 왼쪽에 0을 붙일라면 어떻게 수식을 걸어야하는지 봐봅시다.

 

 

=REPT(0, 2-LEN(A1))&A1

수식을 위처럼 입력했습니다.

저희는 1~12의 숫자의 왼쪽에 0을 붙이지만 10, 11, 12월에는 앞에 0을 붙일 필요가 없죠.

따라서 숫자의 왼쪽에 0을 붙일 것이지만 결과의 최대 글자수는 2글자이어야만 합니다.

 

즉, REPT 함수를 통해 0을 반복시키는데 그 반복 회수를 2-LEN(A1) 이렇게 지정하여 2글자에서 이미 존재하는 글자수를 빼서 반복 횟수를 정합니다.

만약 1이라면 이미 1이라는 한 글자가 있으니까 0은 한번만 반복되겠죠.

 

그리고 마지막에 & 기호를 이용해서 A1에 있는 1이라는 숫자를 이어붙여줍니다.

 

그러면 01이 return됩니다.

 

마치 lpad와 동일한 기능을 하게되죠.

 

 

 

 

 

수식을 이어붙일 때 A1을 왼쪽편에 두면 0이 오른쪽에 붙여지면서 rpad와 동일한 기능을 합니다.

 

 

 

 

 

 

728x90
반응형
Comments