본문 바로가기
정보글

랜덤 추첨 프로그램 만들기: 엑셀 활용 가이드

by 노트컴히어 2023. 6. 28.

1. 엑셀로 랜덤 추첨 프로그램 만들기

 

 

 

엑셀로 랜덤 추첨 프로그램을 만드는 방법은 아래와 같다.

 

1. 랜덤 추첨 대상 명단을 엑셀 시트에 입력한다.

 

2. A열에는 추첨 번호 또는 순서를 입력한다.

 

3. B열에는 추첨 대상의 이름을 입력한다.

 

4. C열에는 랜덤 추첨을 위한 식을 입력한다. "=RAND()"을 입력하여 랜덤 값을 생성한다.

 

5. D열에는 랜덤 값을 정렬하기 위한 식을 입력한다. "=RANK(C2,$C$2:$C$10)"을 입력하여 C열 값들 중 해당 셀 값이 몇 번째로 큰 값인지 계산한다.

 

6. E열에는 추첨 결과를 표시할 식을 입력한다. "=IF(D2=1,"당첨","꽝")"을 입력하여 D열 값이 1인 경우는 "당첨", 아닌 경우는 "꽝"으로 표시한다.

 

7. E열 아래에는 "당첨자"와 "꽝자"를 표시하기 위한 칸을 만든다.

 

8. E열에서 "당첨"값인 셀들을 필터링하여 당첨자를 확인한다.

 

위와 같은 방법을 사용하여 간단한 랜덤 추첨 프로그램을 만들 수 있다. 이를 활용하면 학급 내부의 게임이나, 선물 추첨 등 다양한 용도로 활용할 수 있다.

 

 

 

2. 필요한 함수와 기능 소개

 

 

 

2.1 RAND 함수

 

RAND 함수는 임의의 실수 값을 생성하는 함수로, 0보다 크거나 같고 1보다 작은 수를 생성한다. 이 함수를 활용하면 추첨 시 무작위성을 적용할 수 있으며, 셀을 무작위로 선택할 때 유용하다.

 

2.2 RANK.AVG와 RANK.EQ 함수

 

RANK.AVG 함수는 주어진 데이터 범위에서 숫자의 모든 값을 평균 순위로 반환하며, RANK.EQ 함수는 값들을 순위로 변환해준다. 따라서, 추첨 대상을 순위로 나열하고, 순위를 무작위로 섞은 다음 RANK 함수를 활용하여 추첨 결과를 도출할 수 있다.

 

2.3 INDEX 함수

 

INDEX 함수는 배열에서 특정 위치의 값을 선택할 수 있는 함수로, 추첨 대상 명단을 배열로 나열하고, 해당 배열에서 무작위 위치를 선택하여 INDEX 함수를 활용하여 해당 위치의 값을 가져올 수 있다.

 

2.4 SMALL 함수와 LARGE 함수

 

SMALL 함수는 작은 숫자순으로 나열된 데이터에서 n번째 작은 값을 찾는 함수이고, LARGE 함수는 큰 숫자순으로 나열된 데이터에서 n번째 큰 값을 찾는 함수이다. 따라서 이 함수들을 활용하면 추첨 대상 명단 중에서 작은 값 혹은 큰 값에 해당하는 추첨 대상을 선택할 수 있다.

 

2.5 RANDARRAY 함수

 

RANDARRAY 함수는 엑셀 365에서 제공하는 새로운 함수로, 지정한 배열 크기에 무작위 실수 값을 생성하여 반환한다. 이 함수는 RAND 함수의 집합 값을 반환하므로, 더욱 다양하고 랜덤한 결과를 얻을 수 있다.

 

 

 

3. 추첨 대상 입력 방법

 

 

 

엑셀을 활용하여 추첨 대상을 입력하는 방법은 다음과 같습니다.

 

1) 표 만들기

 

가장 기본적인 방법으로, 열과 행을 이용하여 추첨 대상을 입력할 수 있는 표를 만드는 것입니다. 각 열은 대상의 정보를, 각 행은 대상들을 구분하는 기준을 의미합니다. 예를 들어, 추첨 대상이 학생들일 경우, 열은 "이름", "학번", "학년" 등의 정보를, 행은 "1학년 A반", "1학년 B반" 등 학생들을 구분하는 기준을 입력하여 표를 만들 수 있습니다.

 

2) 데이터베이스 만들기

 

대량의 추첨 대상이 존재할 경우, 데이터베이스를 활용하여 표를 입력하는 것이 효율적입니다. 엑셀에서는 데이터베이스 기능을 이용하여 추첨 대상의 정보를 입력할 수 있습니다. 이 경우, 행과 열이 아닌 필드와 레코드로 추첨 대상을 구분합니다.

 

3) 외부 데이터 가져오기

 

추첨 대상이 이미 엑셀 파일이나 다른 형식의 파일에 입력되어 있는 경우, 엑셀에서 파일을 불러와 데이터를 가져올 수 있습니다. 이를 위해서는 "데이터" 메뉴에서 "외부 데이터 가져오기" 기능을 이용하면 됩니다.

 

 

 

4. 추첨 결과 출력 방법

 

 

 

추첨 결과를 출력하는 방법에는 여러 가지가 있지만, 엑셀에서 가장 쉽게 결과를 출력하는 방법은 VLOOKUP 함수를 이용하는 것입니다.

 

먼저, 결과를 출력할 시트에 추첨 결과를 입력합니다. 추첨 결과 시트의 예시는 다음과 같습니다.

 

![추첨결과입력](https://user-images.githubusercontent.com/87243202/133549189-24f56a49-35d5-4f8f-94e8-63b94549c26d.png)

 

위의 예시에서는 A열에 추첨 번호, B열에 추첨 대상자 이름, C열에 추첨 결과가 입력되어 있습니다.

 

이제 추첨 대상자의 이름이 입력된 시트에서 VLOOKUP 함수를 이용해 추첨 결과를 가져옵니다. 예시 시트는 다음과 같습니다.

 

![시트예시](https://user-images.githubusercontent.com/87243202/133549192-5e31afcd-594f-4d06-ab90-a727be3f341c.png)

 

여기서, A열에 추첨 대상자 이름이 입력되어 있습니다. 이제 B열에서 VLOOKUP 함수를 이용해 추첨 결과를 가져옵니다. B열의 첫 번째 셀에 다음과 같이 공식을 입력합니다.

 

`=VLOOKUP(A2,추첨결과!A:C,3,FALSE)`

 

위의 공식에서, A2는 추첨 대상자의 이름이 입력된 셀을 나타내며, 추첨결과!A:C는 추첨 결과가 입력된 시트와 범위를 나타냅니다. 마지막으로, 3은 추첨 결과가 입력된 범위에서 몇 번째 열을 가져올 것인지를 나타내며, FALSE는 완전 일치하는 값을 찾도록 지정하는 옵션입니다.

 

위의 공식을 입력하면 B열에서 해당 추첨 대상자의 결과가 출력됩니다. 모든 대상자의 결과를 출력하려면 같은 방법으로 모든 행에 공식을 입력하면 됩니다.

 

 

 

5. 추가 기능 - 중복 제거, 추첨 횟수 설정 등

 

 

 

중복 제거

 

중복 제거는 추첨을 할 때 한 번에 한 사람만 추첨되도록 하는 기능입니다. 이를 위해 엑셀에서 중복 제거를 할 수 있는 기능을 사용할 수 있습니다. 추첨 대상 명단이 저장된 열을 선택한 후 "데이터" - "중복 제거"를 클릭합니다. 이후 "OK"를 누르면 중복된 값이 제거되고, 한 번에 한 명씩 추첨할 수 있습니다.

 

추첨 횟수 설정

 

추첨을 할 때 몇 번 추첨을 할 것인지 미리 설정할 수 있습니다. 이를 위해 "랜드함수"를 사용할 수 있습니다. 추첨 횟수를 설정하는 열을 만들고, 해당 열에서 "랜드함수"를 입력한 후 이전 단계에서 만든 셀 범위를 입력하면 해당 범위에서 랜덤하게 값을 뽑아 입력합니다. 이후 복사해서 추첨 횟수만큼 해당 열에 입력하면 됩니다.

 

이 외에도 다양한 엑셀 함수와 기능을 활용하여 추첨 프로그램을 보다 발전시킬 수 있습니다. 그리고 위에서 설명한 내용 외에도 이전 섹션에서 설명한 기능을 함께 사용하여 보다 다양하고 유연한 추첨 프로그램을 만들어볼 수 있습니다.

 

 

 

6. 활용 예시 - 선물 추첨, 인원 배정 등

 

 

 

엑셀을 사용하여 랜덤 추첨 프로그램을 만들 수 있다는 것은 이미 알았다. 이번 섹션에서는 엑셀의 랜덤 추첨 기능을 이용하여 선물 추첨과 인원 배정 등 다양한 용도로 활용하는 방법을 알아보도록 하자.

 

1. 선물 추첨

 

선물 추첨을 위해서는 먼저 추첨 대상이 되는 인원들이 엑셀에 등록되어 있어야 한다. 그리고 추첨할 인원 수를 입력하고 rand함수를 사용하여 추첨 대상인 인원들 중 랜덤으로 선택하면 된다. 예를 들어 추첨할 인원 수가 5명이라면 아래와 같은 수식을 사용할 수 있다.

 

=INDEX(B2:B11,RANK(E2,E2:E11))

 

그리고 인원들의 이름과 같은 정보를 쉽게 확인할 수 있도록 추첨된 결과를 표로 정리하면 된다.

 

2. 인원 배정

 

인원 배정을 위해서는 먼저 인원들이 엑셀에 등록되어 있어야 한다. 그리고 각 인원에 번호를 부여하고, 인원들 중에서 랜덤으로 선택하여 번호와 매칭시켜 인원 배정을 할 수 있다. 예를 들어 인원 1부터 10까지 번호가 부여되어 있다면 아래와 같은 수식을 사용할 수 있다.

 

=VLOOKUP(RANDBETWEEN(1,10),$A$2:$B$11,2,0)

 

이렇게 하면 인원들이 랜덤으로 배정되고, 각 인원의 번호와 매칭되어 표로 확인할 수 있다.

 

이처럼 엑셀의 랜덤 추첨 기능은 선물 추첨과 인원 배정 등 다양한 용도로 사용될 수 있기 때문에, 많은 경우 엑셀을 사용하여 랜덤 추첨 프로그램을 만들어 활용하는 것이 좋다.

 

 

 

7. 참고자료 - 관련 함수와 기능 링크 등

 

 

 

[7. 참고자료 - 관련 함수와 기능 링크 등]

 

- RAND 함수: https://support.office.com/ko-kr/article/rand-%ED%95%A8%EC%88%98-58c791c6-9e25-436b-bc2b-4a1b758c96b8

 

- RANK 함수: https://support.office.com/ko-kr/article/rank-%ED%95%A8%EC%88%98-34e22109-1e0e-4c44-9b4d-8b41b0a36413

 

- INDEX 함수: https://support.office.com/ko-kr/article/index-%ED%95%A8%EC%88%98-0bfdca54-fa12-4a8d-9b1d-df92a67068e5

 

- MATCH 함수: https://support.office.com/ko-kr/article/match-%ED%95%A8%EC%88%98-51f4b4a9-7f2a-49a3-a424-1f5f4d8b280d

 

- SMALL 함수: https://support.office.com/ko-kr/article/small-%ED%95%A8%EC%88%98-2dc23e12-ec21-4d43-9bce-8771cdb5f6ab

 

- LARGE 함수: https://support.office.com/ko-kr/article/large-%ED%95%A8%EC%88%98-8d2a64d9-ebb0-402c-9bde-9e9c93882f93

 

- COUNTIF 함수: https://support.office.com/ko-kr/article/countif-%ED%95%A8%EC%88%98-dda3dc6e-f74e-4aee-88bc-aa8c2a866842

 

- SUM 함수: https://support.office.com/ko-kr/article/sum-%ED%95%A8%EC%88%98-043e1c7d-7726-4e80-8f32-07b23e057f89

 

- IF 함수: https://support.office.com/ko-kr/article/if-%ED%95%A8%EC%88%98-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2

 

- VLOOKUP 함수: https://support.office.com/ko-kr/article/vlookup-%ED%95%A8%EC%88%98-0bbc8083-26fe-4963-8ab8-93a18ad188f5

 

 

 

댓글