라벨이 무작위인 게시물 표시

무작위로 단어시험지 추출

이미지
이렇게 단어시험 문제를 낸다고 합시다.  시험범위는 B1~D1이고 총 시험문항수는 D4 우리말 뜻쓰기 유형 문항수는 C3 영어철자쓰기 유형 문항수는 C4 무작위로 저 조건에 맞게 단어를 추출하려면 어떻게 해야할까요? 대개 이런 유형의 문제들은 배열함수가 답입니다. 편의상 4번 문항의 수식을 예로 들겠습니다. B13에 들어가는 수식은 위와 같습니다. 배열수식이므로 마지막에 Ctrl-Shift-Enter입니다 수식의 각 부분의 해석은 다음과 같습니다. 수식 해석 기능 ( 함수 ) =IF($A13<=$D$4, 문항번호가 총문항수보다 적거나 같으면 이후 수식 진행 ,  아니면 공백출력 OFFSET 위치 이동 함수 (IF($A13<=$C$3,LIST!$C$1,LIST!$D$1), 미리 정해진 영어 -> 한국어 문항수보다 문항번호가 작을 때 , list 시트의  C 열 ( 영어 )  첫행 선택 .  아니면  D 열 ( 한국어 )  첫행 선택 offset 함수의 인수 .  이 위치에서 특정 거리만큼 이동함 . MOD 나머지의 크기에 따라 문항번호에 해당하는 순서의 단어의 위치를 구함 나머지 구하기 (SMALL 조건에 맞는 단어들 중 몇 번째로 작은 수에 해당하는 순위를 가진 단어를 찾음 배열함수에서 크기순으로 나열하기 위해 자주 쓰는 함수 .  배열 중 몇 번째로 작은 수를 찾는다 . (IF(IFERROR 시험범위에 해당하는 단어 배열만듬 배열이 시작됨 ((SUBSTITUTE(LIST!$A$2:$A$99,"day","")*1>=$B$1)* 단어 목록 중 시험범위에 해당하는 단어들의 번호만 배열로 출력함 . day1->1, day2-> 2.... B1 은 시험범위 시작일 배열 1 (SUBSTITUTE(LIST!$A$2:$A$99,

1일1함수 (46) RAND, RANDBETWEEN함수 : 난수발생시키기

이미지
엑셀 2003에서 사용하던 난수 발생함수로 RAND함수가 있습니다. 인수가 필요없이 RAND()라고 입력하기만하면, 0에서 1사이의 실수를 반환합니다. 그래서 80과 100사이의 정수를 난수로 발생시키려면 다음과 같은 수식을 사용했습니다. =INT(RAND()*(100-80)+80) 수식을 분석하면, RAND()부분에서는 0에서 1사이의 실수가 반환되고 거기다 20을 곱하면 0과 20 사이의 실수가 됩니다. 거기다 80을 더하면 80과 100사이의 실수가 되고 그 값에 INT함수를 적용시키면 80과 100사이의 정수가 됩니다. 참고: INT함수는 가장 가까운 정수로 내림하는 함수입니다. INT(8.9) = 8 INT(-8.9) = -9  그런데, 엑셀2007에서는 이렇게 복잡하게 할 필요없이 RANDBETWEEN함수를 사용하면 됩니다.  80에서 100사이의 난수를 발생시키는 수식은 다음과 같습니다. =RANDBETWEEN(80,100) RAND함수를 이용하는 예를 하나 보여드리겠습니다. 학생들을 번호순이 아니라 무작위로 섞은 새로운 순번을 부여하고 싶습니다.  C열에는 RAND함수를 이용해서 난수를 발생시키고 D열에는 생성된 C열의 난수값으로 순번을 매기는 함수를 넣습니다. =RANK(C2,$C$2:$C$11) 그런데 해보시면 아시겠지만, RAND함수는 셀에 변화가 있을때마다 난수값을 새로 발생시킵니다 . 엔터하나만 쳐도 전체 셀의 값이 달라지는 겁니다. 그래서 지금 발생시킨 난수 및 순번을 그대로 고정시켜야합니다. 셀의 전체 범위를 선택하여 복사하신후, 같은 셀범위에 오른쪽 클릭하여 선택하여 붙여넣기를 실행하면 창이 뜹니다. 여기서 "값"을 선택하고 확인하면 이제는 난수가 더이상 새로 생성되지 않고 셀값이 고정됩니다. 아까 RAND함수가 들어있던 C열을 클릭해보면 RAND함수가 아니라 0에서1사이의 실수가 들어있습니다. 혹시라도