엑셀 가위바위보 게임 만들기
초간단! 고품질! 엑셀 가위바위보 게임 만들기
이 강의에서는 RANDBETWEEN과 CHOOSE 함수, INDEX/MATCH 그림 참조 공식, 간단한 VBA 매크로를 결합해 컴퓨터와 대결하는 엑셀 가위바위보 게임을 만드는 방법을 다룹니다. 무작위 난수 처리부터 결과 판정 로직, 버튼에 매크로를 연결하는 작업까지 단계별로 살펴보며, 엑셀 함수와 VBA가 한 시트 안에서 맞물리는 흐름을 정리합니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
관련 기초함수 목록
강의에 사용된 기초공식 알아보기
RANDBETWEEN 함수는 지정한 두 정수 사이의 무작위 난수를 출력하는 함수입니다. 이번 강의에서는 컴퓨터의 패를 결정하는 데 활용합니다.
= RANDBETWEEN (최소값, 최대값)
‘// 최소값과 최대값 사이의 정수를 무작위로 출력합니다.
= RANDBETWEEN (1, 100)
'// 1과 100사이의 정수를 무작위로 출력합니다.
‘// 최소값과 최대값 사이의 정수를 무작위로 출력합니다.
= RANDBETWEEN (1, 100)
'// 1과 100사이의 정수를 무작위로 출력합니다.
CHOOSE 함수는 색인번호(1, 2, 3 …)에 해당하는 값을 출력하는 함수입니다. 조건이 정수로 정해질 때는 IF 함수를 간결하게 대체할 수 있어, 가위·바위·보처럼 순번 매핑이 필요한 상황에 유용합니다.
= CHOOSE ( 색인번호, 값1, 값2, …)
‘// 색인번호를 참조하여 해당 순번의 값을 출력합니다.
= CHOOSE (3, "사과", "키위", "배", "오렌지")
'// 3번째 항목인 '배'를 반환합니다.
‘// 색인번호를 참조하여 해당 순번의 값을 출력합니다.
= CHOOSE (3, "사과", "키위", "배", "오렌지")
'// 3번째 항목인 '배'를 반환합니다.
IF 함수
IF 함수는 참/거짓 조건에 따라 서로 다른 결과값을 반환하는 엑셀 10대 핵심 함수 중 하나입니다.
= IF (조건, 참일경우, 거짓일경우)
= IF ( 1=0 , "참", "거짓")
'// 1=0은 False 이므로 "거짓"을 반환합니다.
= IF ( 1=0 , "참", "거짓")
'// 1=0은 False 이므로 "거짓"을 반환합니다.
IF 함수 AND/OR 혼합 공식
= IF ( OR( 조건1, 조건2 ) ), 결과1, 결과2)
'// '조건1'이거나 '조건2'이면 결과1을 반환, 그렇지 않으면 '결과2'를 반환합니다.
= IF ( OR( AND(A, B), AND(C, D) ) ), 결과1, 결과2)
'// 'A이고 B' 이거나 'C이고 D'이면 '결과1'을 반환, 그렇지 않으면 '결과2'를 반환합니다.
= IF ( OR( AND(A, B), AND(C, D) ) ), 결과1, IF( E, 결과2, 결과3))
‘// 'A이고 B' 이거나 'C이고 D' 이면, 결과1을 반환하고, 그렇지 않을 때 "E" 이면 결과2, 그것도 아니면 결과3을 반환합니다.
'// '조건1'이거나 '조건2'이면 결과1을 반환, 그렇지 않으면 '결과2'를 반환합니다.
= IF ( OR( AND(A, B), AND(C, D) ) ), 결과1, 결과2)
'// 'A이고 B' 이거나 'C이고 D'이면 '결과1'을 반환, 그렇지 않으면 '결과2'를 반환합니다.
= IF ( OR( AND(A, B), AND(C, D) ) ), 결과1, IF( E, 결과2, 결과3))
‘// 'A이고 B' 이거나 'C이고 D' 이면, 결과1을 반환하고, 그렇지 않을 때 "E" 이면 결과2, 그것도 아니면 결과3을 반환합니다.
강의에 사용된 공식 알아보기
- 1~3 사이의 정수 무작위 반환
= RANDBETWEEN(1,3)
'// 1과 3사이에 숫자중 무작위로 난수를 출력합니다. - 출력된 정수를 기준으로 가위/바위/보 출력
= CHOOSE(A4, "가위", "바위", "보")
‘// A4 값이 1일경우 "가위", 2일경우 "바위", 3일경우 "보"를 출력합니다. - 가위/바위/보 계산결과 출력
= IF( OR( AND(A4=1, E4=3 ), AND( A4=2, E4=1 ), AND( A4=3, E4=2 )), "패", IF( A4=E4, "무승부", "승"))
‘// 'A4'는 컴퓨터, 'E4'는 사용자 입니다.
'// 컴퓨터와 나의 가위바위보 결과를 비교하여 "패", "무승부", "승" 을 출력합니다.
- 예제파일의 '게임' 시트에서 'A4'셀과 'E4'셀에 아래 수식을 입력합니다.
=RANDBETWEEN(1,3)
- B4셀과 F4셀에는 다음 수식을 복사해 붙여넣습니다.
'// B4셀 : =CHOOSE(A4, "가위", "바위", "보")
'// F4셀 : =CHOOSE(E4, "가위", "바위", "보") - 화면 상단의 '수식 - 이름관리자'를 선택하거나 단축키 Ctrl + F3을 눌러 이름관리자로 이동한 뒤, 아래 이름정의 범위를 추가합니다.
- 항목범위 : =그림!$A$1:$A$3 '// 가위/바위/보가 입력된 항목범위
- 출력범위 : =그림!$B$1:$B$3 '// 가위/바위/보 그림이 입력된 출력범위
- 컴퓨터 : =INDEX(출력범위,MATCH(게임!$B$4,항목범위,0)) '// 컴퓨터의 패를 받아 '가위/바위/보' 그림을 출력
- 나 : =INDEX(출력범위,MATCH(게임!$F$4,항목범위,0)) '//사용자의 패를 받아 '가위/바위/보' 그림을 출력
- '그림' 시트의 B2셀을 복사한 뒤, '게임' 시트의 B6셀과 F6셀에 각각 '연결된 그림'으로 붙여넣기합니다.

- B6셀에 붙여넣은 그림의 수식입력줄에 '=컴퓨터'를 입력합니다.

- F6셀에 붙여넣은 그림의 수식입력줄에는 '=나'를 입력합니다.

- 이후 키보드의 F9키를 눌러 새로고침하면 컴퓨터의 패가 무작위로 바뀌며 가위/바위/보 그림이 함께 변경됩니다.

- 단축키 Alt + F11을 눌러 매크로 편집창으로 이동한 뒤, '삽입 - 모듈'을 선택해 새 모듈을 삽입합니다. 이어서 아래 명령문을 복사하여 붙여넣기합니다.
'// E4 셀에 1을 입력합니다. Sub Click1() Range("E4").Value = 1 End Sub '// E4 셀에 2을 입력합니다. Sub Click2() Range("E4").Value = 2 End Sub '// E4 셀에 3을 입력합니다. Sub Click3() Range("E4").Value = 3 End Sub
- '가위' 버튼을 우클릭한 후 '매크로 지정'으로 이동해 'Click1'을 선택하여 가위 버튼에 매크로를 연결합니다. 같은 방식으로 '바위' 버튼과 '보' 버튼에도 각각 'Click2', 'Click3' 매크로를 연결합니다.

- 이상으로 엑셀 가위바위보 게임 만들기가 마무리되었습니다.

선택하여 붙여넣기 누르면
데이터 형식에서 그림(png), 그림(jpeg), 그림(gif), 그림(확장메타파일),비트맵, Microsoft office그리기 개체
이렇게만 나오고네요...
연결하여 붙여넣기는 클릭 못하게 됩니다. ㅠ,.ㅠ
이렇게 배울기회를 주셨으면 좋겠습니다.
지금 동영상 보고 알았습니다 ㅜ,.ㅜ
제가 웹페이지에 설명이 부족했나봅니다.
다음부터는 좀 더 꼼꼼하게 작성하도록 하겠습니다 ^_^*
오늘도 좋은 강의 감사합니다. ^^
가위바위보 결과를 출력하는 공식은
=IF(OR(E4-A4=-2,E4-A4=1),"승",IF(E4=A4,"무승부","패"))
또는
=CHOOSE(E4-A4+3,"승","패","무승부","승","패")
로 할 수도 있을 것 같아요!