2013-10-08 14 views
4

Excel에서 Montecarlo 메서드를 구현하려고합니다. 난 무작위로 셀을 선택해야하지만, A1에서 P4까지의 셀 범위에서 셀 범위 내에서 내가 필요로하는 숫자를 가지기 때문에 필요합니다. 셀 범위에서 무작위 셀 - Excel

당신에게

+1

합니다. 셀 범위에서 무작위로 셀을 선택하십시오. 나는 같은 문제를 가지고있다. 그러나 SE에 속하지 않는 경우 적절한 QA – AaA

답변

4

내가 이런 짓을 했을까 방법은 두 개의 열 (행 하나, 열 하나)의 RAND() 함수를 사용하는 것입니다 정말 고마워요.

필요한 셀을 사용하여 첫 번째 열에서 R2 : R5라고 말하고 RAND()에 넣습니다. S2 : S16에서 (또는 A에서 P까지의 많은 셀이 ..) 동일하게하십시오.

셀 S1 및 R1에서 RANK 기능을 사용하여 R2 및 S2의 셀을 각각의 열을 기준으로 순위를 매 깁니다. 그런 다음 INDEX 함수를 사용하여 행과 열의 특정 값을 반환합니다.

주의 RAND 함수는 자동으로 다시 계산됩니다. 한 번만 수행하려는 경우 특수 값을 복사하여 붙여 넣으십시오. 그렇지 않으면 결과가 변경됩니다.

+0

으로 이동하십시오. 내가 말한 것처럼 수식을 사용하여 모든 것을 관리했습니다. = INDEX (데이터 행렬); RANDBETWEEN (1, 15와 같은 행렬), RANDBETWEEN (행렬 1 : 6과 같은 행렬)) 그러나이 함수를 N 번 반복하면 i 같은 "셀"을 추출하십시오. 이걸 어떻게 피할 수 있을까 ??? – rikymiami

1

질문에 '임의의 셀을 선택하십시오.'라고 말씀하셨습니다. 그런 다음 일종의 vba 코드를 사용해야 할 수 있습니다 (이벤트에 VBA 태그를 추가하지 않은 경우). 여기 A1 : P4 범위에서 임의의 셀을 선택하고 추가로 노란색으로 칠하는 제안이 있습니다.

Sub GetRandomCell() 

    Dim RNG As Range 
    Set RNG = Range("A1:p4") 

    Dim randomCell As Long 
     randomCell = Int(Rnd * RNG.Cells.Count) + 1 

    With RNG.Cells(randomCell) 
     .Select 
     .Interior.Color = vbYellow 
    End With 

End Sub 
0

이런 식으로 뭔가가 당신을 도울 수 있습니다 :

=INDIRECT(CHAR(INT(RAND()*14+65))&CHAR(INT(RAND()*4+49))) 

이 * 명명 된 분노 test를 사용

2

에 서명 한 후 범위가 번호 (14)와 4 호에 의해 주어진다 있습니다 가독성을 위해 :

사용 ROW 행, COLUMN, 및 열 영역의 크기가 선택되어야 얻기 위해, RANDBETWEEN은 행과 열, ADDR에 대한 임의의 숫자를 얻을 수 있습니다 ESS는 A1 스타일 참조로 돌려, 그리고 간접적 그 임의의 주소 값을 얻을 : 각 부분을 보여 포맷

=INDIRECT(ADDRESS(RANDBETWEEN(ROW(test),ROW(test)+ROWS(test)-1),RANDBETWEEN(COLUMN(test),COLUMN(test)+COLUMNS(test)-1))) 

: 나는 질문은 분명 생각

=INDIRECT(
    ADDRESS(
     RANDBETWEEN(
      ROW(test), 
      ROW(test)+ROWS(test)-1 
      ), 
     RANDBETWEEN(
      COLUMN(test), 
      COLUMN(test)+COLUMNS(test)-1 
      ) 
     ) 
)