금. 8월 8th, 2025

엑셀에서 무작위 데이터를 생성해야 할 때, RANDBETWEENRANDARRAY 함수는 여러분의 강력한 도구가 될 수 있습니다. 단순한 난수 생성부터 복잡한 시뮬레이션 데이터 구축까지, 이 두 함수를 제대로 이해하고 활용한다면 작업 효율을 극대화할 수 있습니다. 오늘은 이 두 함수의 기본부터 시작해, 시너지를 발휘하는 다양한 활용 팁까지 상세히 알아보겠습니다! 🚀


1. RANDBETWEEN & RANDARRAY: 개별 함수 파헤치기

본격적인 활용 팁에 앞서, 두 함수의 기본적인 사용법을 확실히 이해하는 것이 중요합니다.

1.1 RANDBETWEEN 함수: 기본기 다지기 🎲

RANDBETWEEN 함수는 지정된 두 정수(하한값, 상한값) 사이의 무작위 정수를 반환합니다.

  • 구문: =RANDBETWEEN(bottom, top)
    • bottom: 반환될 수 있는 가장 작은 정수입니다.
    • top: 반환될 수 있는 가장 큰 정수입니다.
  • 특징:
    • 단일 값 반환: 한 번에 하나의 무작위 정수만 반환합니다.
    • 휘발성 함수: 워크시트가 변경되거나 다시 계산될 때마다 값이 변경됩니다.
  • 예시:
    • =RANDBETWEEN(1, 100): 1부터 100 사이의 무작위 정수를 생성합니다.
    • =RANDBETWEEN(-50, 50): -50부터 50 사이의 무작위 정수를 생성합니다.

1.2 RANDARRAY 함수: 배열의 마법사 🔢

RANDARRAY 함수는 동적 배열 함수로, 지정된 수의 행과 열에 걸쳐 무작위 숫자의 배열을 반환합니다. 엑셀 365 및 최신 버전에서만 사용 가능합니다.

  • 구문: =RANDARRAY([rows], [columns], [min], [max], [integer])
    • rows (선택 사항): 반환할 행의 수입니다. 생략하면 1이 됩니다.
    • columns (선택 사항): 반환할 열의 수입니다. 생략하면 1이 됩니다.
    • min (선택 사항): 반환될 수 있는 가장 작은 값입니다. 생략하면 0이 됩니다.
    • max (선택 사항): 반환될 수 있는 가장 큰 값입니다. 생략하면 1이 됩니다.
    • integer (선택 사항): TRUE로 설정하면 정수만 반환하고, FALSE로 설정하면 0과 1 사이의 부동 소수점 값을 반환합니다. 생략하면 FALSE가 됩니다.
  • 특징:
    • 배열 반환: 한 번에 여러 개의 무작위 값을 생성하여 인접한 셀에 자동으로 채워집니다(스필).
    • 범위 및 정수 지정 가능: min, max, integer 인수를 통해 RANDBETWEEN과 유사하게 정수 범위 지정이 가능합니다.
    • 휘발성 함수: RANDBETWEEN과 마찬가지로 워크시트가 변경될 때마다 값이 변경됩니다.
  • 예시:
    • =RANDARRAY(): 0과 1 사이의 무작위 소수 한 개를 반환합니다.
    • =RANDARRAY(5): 0과 1 사이의 무작위 소수 5개를 한 열에 반환합니다.
    • =RANDARRAY(3, 2): 3행 2열의 0과 1 사이 무작위 소수 배열을 반환합니다.
    • =RANDARRAY(5, 1, 1, 100, TRUE): 1부터 100 사이의 무작위 정수 5개를 한 열에 반환합니다. (이것이 사실상 RANDBETWEEN의 배열 버전입니다!)

2. RANDBETWEEN & RANDARRAY 조합 활용 팁

RANDBETWEEN의 특정 기능(정수 범위 지정)은 RANDARRAYmin, max, integer=TRUE 인수를 통해 완벽하게 대체되고 확장될 수 있습니다. 따라서 “조합”이라기보다는 RANDARRAY의 강력한 기능을 활용하여 RANDBETWEEN으로 할 수 있는 작업을 훨씬 더 효율적으로 수행하는 팁에 가깝습니다.

2.1 N개의 무작위 정수 생성: RANDARRAY 하나로 끝!

RANDBETWEEN으로 여러 개의 무작위 정수를 만들려면 함수를 복사하여 붙여넣거나 자동 채우기 핸들을 끌어야 했습니다. 하지만 RANDARRAY를 사용하면 한 번의 수식 입력으로 원하는 만큼의 정수를 생성할 수 있습니다.

  • 시나리오: 1부터 100까지의 시험 점수 20개를 무작위로 생성하고 싶을 때.
  • 방법:
    • RANDBETWEEN 방식: =RANDBETWEEN(1, 100)을 입력하고 20개 셀로 드래그.
    • RANDARRAY 방식: =RANDARRAY(20, 1, 1, 100, TRUE) 를 한 셀에 입력.
      • ➡️ 20개의 행, 1개의 열에 1부터 100까지의 무작위 정수 배열이 자동으로 스필됩니다.
  • 장점: 훨씬 빠르고 간편하며, 배열 수식이므로 관리하기 용이합니다.

2.2 무작위 날짜 및 시간 생성 📅

엑셀에서 날짜는 숫자로, 시간은 소수점 이하 값으로 저장됩니다. 이 특성을 활용하면 RANDARRAY로 무작위 날짜나 시간을 쉽게 생성할 수 있습니다.

  • 시나리오: 2023년 1월 1일부터 2023년 12월 31일까지의 무작위 날짜 10개를 생성하고 싶을 때.
  • 방법:
    • 날짜는 DATE() 함수로 숫자로 변환할 수 있습니다.
    • =RANDARRAY(10, 1, DATE(2023,1,1), DATE(2023,12,31), TRUE)
      • ➡️ 이 수식을 입력한 후, 셀 서식을 ‘날짜’로 변경하면 무작위 날짜가 표시됩니다.
  • 시간 생성:
    • min, max를 0과 1 사이로 설정하고 integerFALSE로 설정합니다.
    • =RANDARRAY(5, 1, 0, 1, FALSE)
      • ➡️ 이 수식을 입력한 후, 셀 서식을 ‘시간’으로 변경하면 무작위 시간이 표시됩니다.
    • 날짜와 시간 동시 생성: integerFALSE로 두고 날짜 숫자를 min, max로 사용합니다.
    • =RANDARRAY(5, 1, DATE(2023,1,1), DATE(2023,1,31), FALSE)
      • ➡️ 셀 서식을 ‘날짜 및 시간’으로 변경하면 2023년 1월 중 무작위 날짜 및 시간이 생성됩니다.

2.3 중복 없는 무작위 숫자 생성 (로또 번호, 순서 픽) 🎰

RANDARRAY는 무작위 값을 생성하지만, 기본적으로 중복이 발생할 수 있습니다. 특정 범위 내에서 중복 없이 무작위 숫자를 뽑거나, 목록을 무작위로 섞을 때는 SORTBYSEQUENCE 함수와 함께 사용합니다.

  • 시나리오: 1부터 45까지의 숫자 중 중복 없이 6개의 로또 번호를 뽑고 싶을 때.
  • 방법:
    • SEQUENCE(45): 1부터 45까지의 숫자를 순서대로 생성합니다.
    • RANDARRAY(45): 45개의 임의의 정렬 기준 값을 생성합니다.
    • SORTBY(SEQUENCE(45), RANDARRAY(45)): SEQUENCE로 만든 숫자를 RANDARRAY로 만든 임의의 기준에 따라 정렬하여 무작위로 섞습니다.
    • TAKE(SORTBY(SEQUENCE(45), RANDARRAY(45)), 6): 섞인 숫자 중 위에서 6개만 가져옵니다.
    • 수식: =TAKE(SORTBY(SEQUENCE(45), RANDARRAY(45)), 6)
  • 시나리오: 특정 목록(예: 참가자 이름)을 무작위로 섞어 순서를 정하고 싶을 때.
  • 방법:
    • 참가자 목록이 A1:A5에 있다고 가정합니다 (예: 사과, 바나나, 체리, 딸기, 수박).
    • ROWS(A1:A5): 목록의 행 개수를 가져옵니다 (이 경우 5).
    • RANDARRAY(ROWS(A1:A5)): 목록 개수만큼 임의의 정렬 기준 값을 생성합니다.
    • SORTBY(A1:A5, RANDARRAY(ROWS(A1:A5))): A1:A5 목록을 무작위 기준에 따라 정렬합니다.
    • 수식: =SORTBY(A1:A5, RANDARRAY(ROWS(A1:A5)))
      • ➡️ 이 수식을 입력하면 A1:A5에 있는 항목들이 무작위 순서로 나열됩니다.

2.4 특정 목록에서 무작위 값 선택 ✅

INDEX 또는 CHOOSEROWS 함수와 RANDBETWEEN 또는 RANDARRAY를 조합하여 특정 목록에서 무작위 값을 선택할 수 있습니다.

  • 시나리오 1: 목록에서 한 개의 무작위 값 선택
    • 과일 목록: {“사과”;”바나나”;”체리”;”딸기”}
    • 수식: =INDEX({"사과";"바나나";"체리";"딸기"}, RANDBETWEEN(1,4))
      • ➡️ 1부터 4 사이의 무작위 정수를 뽑아 해당 순서의 과일을 반환합니다.
  • 시나리오 2: 목록에서 여러 개의 무작위 값 선택 (중복 허용)
    • 과일 목록이 A1:A5에 있다고 가정합니다. (사과, 바나나, 체리, 딸기, 수박)
    • 수식: =CHOOSEROWS(A1:A5, RANDARRAY(3,1,1,ROWS(A1:A5),TRUE))
      • ➡️ A1:A5 목록에서 3개의 행을 무작위로 선택합니다. RANDARRAY(3,1,1,ROWS(A1:A5),TRUE)는 1부터 목록의 총 개수까지의 무작위 정수 3개를 반환합니다.
  • 시나리오 3: 목록에서 여러 개의 무작위 값 선택 (중복 없음) – 고급!
    • 위 2.3의 중복 없는 순서 섞기 + TAKE 또는 CHOOSEROWS를 활용합니다.
    • 과일 목록이 A1:A5에 있다고 가정합니다. 이 중에서 3개를 중복 없이 뽑고 싶을 때.
    • 수식: =TAKE(SORTBY(A1:A5, RANDARRAY(ROWS(A1:A5))), 3)
      • ➡️ 목록을 무작위로 섞은 후, 위에서 3개만 가져와 중복 없는 무작위 선택을 구현합니다.

3. 주의사항 및 성능 팁 ⚠️

RANDBETWEENRANDARRAY는 매우 유용하지만, ‘휘발성 함수’라는 중요한 특성을 가지고 있습니다.

  • 휘발성 함수 (Volatile Functions)란?
    • 워크시트의 어떤 셀이든 변경되거나, 파일이 열리거나, 강제로 재계산(F9)될 때마다 함수가 다시 계산되어 값이 변경됩니다.
    • 이는 데이터를 테스트하거나 시뮬레이션할 때 매우 편리하지만, 의도치 않게 값이 계속 바뀌는 문제가 발생할 수 있습니다.
  • 해결책:
    • 원하는 무작위 값을 얻었다면, 해당 값을 복사(Ctrl+C)한 다음, 선택하여 붙여넣기 > 값(Ctrl+Alt+V, V)을 사용하여 값을 고정할 수 있습니다. 이렇게 하면 무작위 함수 대신 고정된 숫자만 셀에 남게 됩니다.
  • 성능:
    • 매우 큰 데이터셋에 RANDBETWEEN 또는 RANDARRAY를 사용하면 워크시트가 변경될 때마다 전체 재계산이 일어나 성능 저하가 발생할 수 있습니다. 필요한 경우에만 사용하고, 값을 고정하여 성능 문제를 방지하세요.

결론 🎉

RANDBETWEENRANDARRAY 함수는 엑셀에서 무작위 데이터를 생성하고 조작하는 데 있어 핵심적인 도구입니다. 특히 RANDARRAYRANDBETWEEN의 기능을 흡수하며 배열 처리 능력까지 갖추어 훨씬 강력한 유연성을 제공합니다.

오늘 배운 팁들을 활용하여 테스트 데이터 생성, 시뮬레이션 모델 구축, 로또 번호 뽑기, 팀 순서 정하기 등 다양한 엑셀 작업을 더욱 효율적으로 수행해 보세요! 직접 예시를 따라 해보면서 손에 익히는 것이 가장 중요합니다. 궁금한 점은 언제든지 댓글로 남겨주세요! Happy Excelling! 💻✨ D

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다