본문 바로가기
엑셀 공부 관련

엑셀기초9. 엑셀로 랜덤 쿠폰번호 생성 (엑셀 함수 응용)

by 부업하는 전문가 2024. 1. 19.
반응형

1. 엑셀로 랜덤 쿠폰번호 생성방법

엑셀에서 0~9라는 숫자 중 랜덤하게 하나의 값을 출력할 때는 =RANDBETWEEN(0,9)라는 함수를 사용하여, 자동으로 출력시킬 수 있습니다. 또한 A~Z의 알파벳 중에 랜덤하게 하나의 값을 출력할 때는 =CHAR(RANDBETWEEN(65,90))이라는 함수를 사용하여 자동으로 출력시킬 수 있습니다.

2. 랜덤 쿠폰번호 생성 활용방법

위 공식을 사용하면 n 자리수의 랜덤 번호를 생성할 때 유용하게 사용할 수 있습니다. 하지만 위 공식은 생성된 번호 간의 중복값 확인이 안 되므로, 번호를 생성한 뒤 '중복값 제거' 기능을 통해 중복값을 반드시 제거해줘야 합니다.

위 공식은 숫자와 알파벳 중 하나를 무작위로 반환하며, 만약 0~9 사이의 숫자 또는 A~Z 사이의 알파벳 중 하나만 무작위로 반환해야 할 경우 아래 공식으로 간단하게 해결할 수도 있습니다.

하기 함수를 사용하면 영어,숫자 조합의 4자리 수 랜덤 번호가 출력됩니다.

 

↓ 출력 결과 : 영어,숫자조합 랜덤 4자리수

=CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))

또한, 하기 함수를 사용하면 영어,숫자조합의 12자리 수 랜덤 번호가 출력됩니다.

 

↓ 출력 결과 : 영어,숫자조합 랜덤 12자리수

=CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&"-"&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&"-"&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))&CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))

3. 상기 사용 함수의 동작원리

① RAND() 함수는 0~1 사이의 소수를 무작위로 반환합니다.

=RAND()

=0.149, 0.21293, 0.4924 등...

 

② ROUND(RAND(),0) 는 RAND()로 나온 결과값이 0.5 이상일 경우 1을, 0.5 미만일경우 0을 반환합니다.

=ROUND(0.572,0)

=1

 

③ A+RAND()*B 는 A와 B사이의 숫자를 무작위로 반환합니다. RANDBETWEEN(A,B) 와 동일한 결과값을 반환합니다.

=65+RAND()*25

=65+(0.4924)*25

=65+12.31

=77.31

 

④ IF 함수로 ROUND(RAND(),0) 의 값이 1일 경우 65~95 사이의 숫자를, 값이 0일 경우 48~57 사이의 숫자를 반환합니다.

=IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9) =IF(1,65+RAND()*25,48+RAND()*9) =IF(1,77.31,52.43)

=77.31

 

⑤INT 함수는 숫자의 소수점을 내림한 정수를 반환합니다.

=INT(77.31)

=77

 

⑥CHAR 함수는 입력한 숫자코드에 해당하는 알파벳, 기호 또는 숫자를 반환합니다.

=CHAR(77)

="M" 'CHAR(48~57)은 0~9 사이의 숫자이며, CHAR(65~95)는 A~Z 사이의 알파벳입니다.

반응형