Excel 테이블의 항목에 대해 중첩 된 순차 고유 번호 지정 ╣ ║ 시험 1 ║ 1 ║ ║ 시험

Excel에서 테이블의 항목에 대한 고유 ID 번호를 생성하려고합니다.

예를 들면 다음과 같습니다. 1.2.4 각 열의 번호는 텍스트를 기준으로 고유하게 번호가 지정됩니다. 예를 들어 아래 표에서 다른 과일 항목을 추가하고 기본 ID 1을 할당합니다.

그런 다음 보조 ID는 기본을 기반으로하는 고유 ID 여야합니다. 예를 들어 맨 아래에 바나나 유형으로 행을 추가하면 보조 ID에 1이 할당됩니다.

그런 다음 3 차 ID는 2 차 키 아래의 고유 번호를 기반으로합니다.

그리고 마지막으로 그것들을 모두 함께 구성하는 마지막으로

=PrimaryID&"."&"SecondaryID"&"."&TeritaryID

나는 독특한 아이템을 얻기 위해 온라인에서 다음 공식을 찾은 후에 조금 잃어 버렸습니다.

=IF(COUNTIF(A$2:A2,A2)=1,MAX(B$1:B1)+1,VLOOKUP(A2,A$1:B1,2,0))

편집 :이 수식은 항목을 일치시키고 고유 한 ID 번호를 제공합니다. 아래 예를 확인하십시오.

도움이 필요한 다음 단계는 xxx 형식으로 작동하도록 만들고 중첩 된 상위 키에 따라 고유하게 만드는 것입니다.


╔ ========= ╦ ==== ╗
║ 항목 ║ ID ║
╠ ========= ╬ ==== ╣
║ 시험 1 ║ 1 ║
║ 시험 2 ║ 2 ║
║ 니스 ║ 3 ║
║ 시험 2 ║ 2 ║
║ 시험 3 ║ 4 ║
║ 시험 4 ║ 5 ║
║ dsa ║ 6 ║
║ 니스 ║ 3 ║
║ 시험 1 ║ 1 ║
║ A ║ 7 ║
╚ ========= ╩ ==== ╝

아래 테이블 예 :

╔ ============= ╦ =============== ╦ ====================== ========== ╦ =========================================
║ 기본 ID ║ 기본 이름 ║ 보조 ID ║ 보조 키 ║ 3 차 ID ║ 3 차 이름 ║ 세대 ID ║
╠ ============= ╬ =============== ╬ ====================== ========== ╬ =========================================
║ 1 ║ 과일 ║ 1 ║ 바나나 ║ 1 ║ 동굴 탐험 ish 1.1.1 ║
║ 1 ║ 과일 ║ 1 ║ 바나나 ║ 2 ║ 라 카탄 ║ 1.1.2 ║
║ 2 ║ 야채 ║ ​​1 ║ 감자 ║ 1 ║ 마리스 파이퍼 ║ 2.1.1 ║
║ 1 ║ 과일 ║ 2 ║ 애플 ║ 1 ║ 핑크 레이디 ║ 1.2.1 ║
║ 1 ║ 과일 ║ 2 ║ 사과 ║ 2 ║ 갈라 ║ 1.2.2 ║
║ 1 ║ 과일 ║ 2 ║ 애플 ║ 3 ║ 할머니 스미스 ║ 1.2.3 ║
║ 3 ║ 고기 ║ 1 ║ 치킨 ║ 1 ║ 서 섹스 ║ 3.1.1 ║
║ 2 ║ 야채 ║ ​​1 ║ 감자 ║ 2 ║ 유콘 골드 ║ 2.1.2 ║
║ 1 ║ 과일 ║ 3 ║ 포도 ║ 1 ║ 추기경 ║ 1.3.1 ║
╚ ============= ╩ =============== ╩ ====================== ========== ╩ =========================================



답변

Gen ID에 접근하는 방법은 약간 다릅니다.

Excel 테이블의 형식을 아래 형식으로 조정해야했습니다.

본질적으로 내가 한 일은 다음과 같습니다. 1. 첫 세 열에서 기본, 보조 및 삼차 이름을 다시 정렬했습니다.

  1. 그런 다음 맨 오른쪽에 항목의 원래 정렬 순서를 유지하기 위해 다른 열 (OrigSort)을 추가했습니다 (주문이 중요하다고 가정하고 다음 단계에서이를 변경 함)

  2. 처음 세 열의 전체 테이블을 오름차순으로 정렬했습니다.

  3. 이 시점에 도달하면 아래와 같이 각 키의 ID에 대한 공식을 설정하는 것이 매우 쉽습니다.

    열 D : 기본 ID

    =IF(COUNTIF(A$2:A2,A2)=1,MAX(D$1:D1)+1,VLOOKUP(A2,A$1:D1,4,0))

    열 E : 보조 ID

    =IF((A2=A1),IF(B2=B1,E1,E1+1),1)

    열 F : 3 차 ID

    =IF((A2=A1)*(B2=B1),IF(C2=C1,F1,F1+1),1)

  4. 이제 Concatenate 연산을 사용하여 Col G에서 Gen ID를 얻습니다.

  5. 마지막으로 (선택적 단계) OrigSort 열을 사용하여 정렬 순서를 다시 복원하십시오.