열 중 하나가 내가 원하는 숫자로 고정되어 있고 다른 열이 첫 번째 열에 없는 숫자를 임의로 생성하는 경우 어떻게 자동으로 숫자를 생성할 수 있나요? 나는 중복을 원하지 않습니다.
예: 1-10을 2개의 열로 자동 생성해야 합니다. A 열(고정 번호)
1
3
4
5
6
B열(임의의 숫자)
A 열에 나타나지 않은 것을 생성하려면?
B열에는 2,7,8,9,10이 있어야 합니다.
이 수식을 사용하면 1 - 10의 2개 열에 대한 고유 번호를 생성할 수 있지만 이제 첫 번째 열을 수정하려면 두 번째 열의 숫자가 A열과 중복되지 않도록 코드를 어떻게 작성해야 합니까?
=IF(ROW()-ROW(P$3)+1>$A$3/2,"",RANK(OFFSET($B$3,ROW()-ROW(P$3)+(COLUMN()-COLUMN($P3))*($A$3/2),),$B$3:INDEX($B$3:$B$1002,$A$3)))
2개 열의 목적은 현재 세션과 다음 세션을 비교하는 것입니다. 나는 난수를 생성하고 INDEX를 사용하여 이름을 검색하려고 생각했지만 먼저 별도의 행에서 숫자를 가져와야 하며 중복되지 않아야 합니다.
Col B/C/D는 인원 정보와 같습니다.
Col A, Col L/M/N에 영향을 미칠 총 인력을 수동으로 입력할 수 있습니다. 인원이 10명이라면 L열은 5개 그룹에 따라 변경되고 M열과 N열은 이에 따라 변경됩니다.
지금은 내 수식을 사용하여 열 A에 삽입한 값인 20을 기준으로 Col M과 N의 숫자를 자동으로 섞을 수 있습니다. 이는 변경될 수 있습니다.
Col N에 표시된 번호가 중복되지 않고 M의 번호를 섞는 데 문제가 있습니다.
10개까지의 무작위/셔플은 단지 예일 뿐입니다. 목록은 50개 이상까지 줄어들 수 있습니다. 수동으로 입력하는 대신 나머지 숫자를 자동으로 생성할 수 있습니까?
답변1
먼저 새 열 H에 열 B의 난수를 써야 합니다(예: H1=2, H3=9...H5=7). A 열은 원하는 대로 두고 B 열은 생성된 숫자로 남겨둡니다.
I1에서 =Rand()를 작성하고 아래로 드래그하여
J1에서 난수 <0인 5개의 행을 만듭니다. 다음 수식을 작성하여 열 I의 Rand() 번호 순위를
=RANK(I1,$I$1:$I$5,0)
매깁니다. J5까지 드래그하면 1과 5 사이의 5개의 숫자가 됩니다.
B1 쓰기:
=OFFSET($H$1,J1-1,0)
B5까지 아래로 드래그하면 나머지 5개의 고유 숫자가 무작위로 생성됩니다.
업데이트
Rank와 Offset 공식을 결합하여 B1에 쓸 수 있습니다:
`=OFFSET($H$1,RANK(I1,$I$1:$I$5,0)-1,0)'
Rank는 Rand()에서 작동합니다. 숫자가 있는 H열이 아닌 I열에 있습니다.