중복되지 않은 고유 번호 자동 생성

중복되지 않은 고유 번호 자동 생성

열 중 하나가 내가 원하는 숫자로 고정되어 있고 다른 열이 첫 번째 열에 없는 숫자를 임의로 생성하는 경우 어떻게 자동으로 숫자를 생성할 수 있나요? 나는 중복을 원하지 않습니다.

예: 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열에 있습니다.

여기에 이미지 설명을 입력하세요

관련 정보