메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

디지털라이프

엑셀 실무 활용노트(4) : N개의 데이터를 무작위로 추출하기

한빛미디어

|

2005-04-25

|

by HANBIT

36,644

출처: 회사에서 바로 통하는 엑셀 2003


제조업체를 다니는 김대리, 주 업무는 생산된 제품의 불량률을 확인해야 합니다. 하루에 100,000개의 제품이 출시되는데, 이 중 생산번호를 기준으로 무작위로 100개를 뽑아 불량 여부를 정밀 검사합니다. 이 업무를 위해 생산번호가 나열된 엑셀 파일에서 일일이 생산번호를 뽑아내고 있는 일을 하는데 좀더 편리한 방법은 없는지 알고 싶습니다.

이런 경우, RANK, RAND, INDEX 함수를 활용해서 원하는 데이터를 추출해낼 수 있습니다.
다음 예제를 참고하길 바랍니다.

1. 하단의 그림과 같은 데이터가 ‘생산번호’ 시트에 존재합니다. 이 데이터에서 임의의 10개를 추출해보겠습니다.





2. ① B1셀에 제목(추출)을 입력한 후 ② B2:B31셀을 선택합니다. ③ F2를 누른 다음 =RAND() 수식을 작성하고 CTRL+ENTER키를 누릅니다.





3. 10개의 데이터를 추출하기 위해 ‘추출’ 시트의 A2셀에 수식 =INDEX(생산번호!$A$2:$A$31, RANK(생산번호!B2, 생산번호!$B$2:$B$31))을 작성한 후 A11셀까지 수식을 복사합니다.





함수를 조금 꼼꼼히 살펴보는 시간을 갖겠습니다.

1) =INDEX(생산번호!$A$2::$A$31,
A2:A31은 ‘생산번호’ 시트에 입력된 데이터 범위를 의미합니다., INDEX 함수는 첫 번째(‘생산번호’ 시트에 입력된 데이터 중) 인수 범위 내의 N번(두 번째 인수, 여기서는 RANK 함수 부분)에 해당하는 위치에 존재하는 값을 반환하는 함수입니다.

2) RANK(생산번호!B2, 생산번호!$B$2:$B$31)
RANK 함수는 순위를 구하는 함수입니다. ‘생산번호’ 시트의 B2:B31셀에는 RAND() 함수값이 들어가 있습니다. RAND() 함수가 0에서 1사이의 난수를 구하는 함수라는 것은 {본문}을 통해서 확인했을 겁니다. 무작위 값을 생성해내기 때문에 RANK 함수로 순위를 구할 경우 1에서 30사이의 임의의 수를 반환하게 됩니다.

이 두 개의 함수가 합쳐져서 입력된 데이터 중에 N(여기에서는 1에서 30)번째 위치의 값을 10개 불러오게 됩니다.
TAG :
댓글 입력
자료실