엑셀 쿠폰 번호 생성 - 함수 한줄로 해결! :: 엑셀함수공식

쿠폰 번호를 무작위로 생성하는 공식의 사용법 및 동작원리를 알아봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2021. 11. 11. 22:08
URL 복사
메모 남기기 : (10)

엑셀 쿠폰 번호 생성 :: 엑셀 함수 공식

엑셀 쿠폰 번호 생성 목차 바로가기
함수 공식
=CHAR(INT(IF(ROUND(RAND(),0),65+RAND()*25,48+RAND()*9)))

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [엑셀공식] 랜덤 쿠폰 번호 생성 공식
    예제파일

호환성
운영체제 호환성
Windows 버전 모든 엑셀 버전에서 사용 가능합니다.
Mac 버전 모든 엑셀 버전에서 사용 가능합니다.
사용된 기초 함수

엑셀 쿠폰 번호 생성 공식 알아보기

공식 설명

0~9 사이의 숫자 그리고 A~Z 사이의 알파벳 중 하나를 무작위로 반환하는 공식입니다. 위 공식을 사용하면 n 자리수의 랜덤 번호를 생성할 때 유용하게 사용할 수 있습니다. 하지만 위 공식은 생성된 번호 간의 중복값 확인이 안 되므로, 번호를 생성한 뒤 '중복값 제거' 기능을 통해 중복값을 반드시 제거해줘야 합니다.

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

0-9 숫자 중 하나를 무작위로 반환하는 공식

=RANDBETWEEN(0,9)

A-Z 알파벳 중 하나를 무작위로 반환하는 공식

=CHAR(RANDBETWEEN(65,90))
사용예제
  1. 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)))
    ="3B19"   '4자리의 랜덤 쿠폰번호를 생성합니다.

    엑셀 쿠폰 번호 4자리_R
    4자리의 쿠폰 번호를 무작위로 생성합니다
  2. 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)))
    ="EU6P-N7N6-510G"   '12자리의 랜덤 쿠폰번호를 생성합니다.

    엑셀 12자리 쿠폰 번호 생성_R
    12자리의 쿠폰 번호를 무작위로 생성합니다
공식의 동작원리
  1. RAND() 함수는 0~1 사이의 소수를 무작위로 반환합니다.
    =RAND()
    =0.149, 0.21293, 0.4924 등...
  2. ROUND(RAND(),0) 는 RAND()로 나온 결과값이 0.5 이상일 경우 1을, 0.5 미만일경우 0을 반환합니다.
    =ROUND(0.572,0)
    =1
  3. A+RAND()*B 는 A와 B사이의 숫자를 무작위로 반환합니다. RANDBETWEEN(A,B) 와 동일한 결과값을 반환합니다.
    =65+RAND()*25
    =65+(0.4924)*25
    =65+12.31
    =77.31
  4. 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
  5. INT 함수는 숫자의 소수점을 내림한 정수를 반환합니다.
    =INT(77.31)
    =77
  6. CHAR 함수는 입력한 숫자코드에 해당하는 알파벳, 기호 또는 숫자를 반환합니다.
    =CHAR(77)
    ="M"  'CHAR(48~57)은 0~9 사이의 숫자이며, CHAR(65~95)는 A~Z 사이의 알파벳입니다.

관련링크 : MS 홈페이지 엑셀 RAND 함수 사용법

5 5 추천
게시글평점
10 댓글
Inline Feedbacks
View all comments
10
0
Would love your thoughts, please comment.x