세 표 어디에 있든 모든 ID를 한 결과에 남기기
세 표에 흩어진 ID를 빠짐없이 남기려면 각 표의 ID 칼럼만 모아 중복 없는 기준 목록을 만드세요. 이 목록을 Excel로 저장해 다시 불러온 뒤 왼쪽 기준으로 삼아 원본 정보를 붙입니다.
세 표의 정보를 ID별로 나란히 붙일 때, 한 표만 기준으로 삼으면 다른 표에만 있는 ID가 빠질 수 있습니다. 먼저 각 원본의 ID 칼럼만 모으고 같은 ID는 하나씩 남겨 전체 ID 목록을 만드세요. 이 목록을 연결 기준으로 쓰기 위해 Excel로 저장한 뒤 새 시트로 다시 불러옵니다. 불러온 목록을 왼쪽에 놓고 원본 세 표를 각각 ‘왼쪽 시트 모두’로 연결하면 한 표에만 있는 ID도 결과에 남습니다.
어느 원본에도 전체 ID가 없습니다
아래 가상 데이터의 Names에는 U1·U2, Scores에는 U2·U3, Areas에는 U3·U4가 있습니다. 각 표 안에서 ID는 한 번씩만 나오고 빈 ID는 없습니다. 전체 목록에는 U1부터 U4까지 네 ID가 모두 있어야 합니다.
표의 ∅는 빈 셀을 설명하기 위한 표시이며 입력할 문자가 아닙니다.
Names
| NameID | Name |
|---|---|
| U1 | Ari |
| U2 | Bo |
Scores
| ScoreID | Score |
|---|---|
| U2 | 0 |
| U3 | 7 |
Areas
| AreaID | Area |
|---|---|
| U3 | North |
| U4 | West |
ID 칼럼만 복사하고 칼럼 이름을 맞추세요
Excel이나 Google Sheets에서 원본은 그대로 두고 NameID·ScoreID·AreaID 칼럼을 제목 행과 함께 각각 별도 시트에 복사합니다. 복사본의 제목만 모두 ID로 바꾸세요. ID 값은 중복을 포함해 전부 남깁니다. 이 준비 단계에서는 칼럼을 추려 이름을 맞추고, 목록 합치기와 중복 제거는 JOIN SHEET에서 수행합니다.
| 붙여넣어 만들 시트 | 칼럼 이름 | 복사할 값 |
|---|---|---|
| NamesIDs | ID | U1, U2 |
| ScoresIDs | ID | U2, U3 |
| AreasIDs | ID | U3, U4 |
JOIN SHEET에서 중복 없는 ID 목록 만들기
- Names의 ID 복사본을 제목 행까지 복사하고 JOIN SHEET의 ‘복사한 데이터 붙여넣기’를 누릅니다. 붙여넣은 미리보기에서 ID 칼럼 하나와 데이터 2개를 확인한 뒤, ‘시트 이름’에 NamesIDs를 입력하고 ‘시트 만들기’를 누릅니다. 같은 방법으로 ScoresIDs와 AreasIDs도 만듭니다.
- NamesIDs 시트의 제목을 눌러 결과 기준으로 선택합니다. NamesIDs 아래 +점을 ScoresIDs 위 +점으로 드래그하고, ScoresIDs 아래 +점을 AreasIDs 위 +점에 연결합니다.
- 두 연결선의 메뉴에서 각각 ‘완전히 같은 행은 하나만 유지’를 선택합니다. ID 칼럼만 있으므로 같은 ID가 곧 완전히 같은 행입니다. 이름·점수·지역 칼럼까지 포함하면 ID만으로 중복을 제거할 수 없습니다.
- ‘결과 미리보기’에서 기준 시트가 NamesIDs인 결과를 확인합니다. ID 칼럼 하나, U1·U2·U3·U4의 4행이어야 합니다. 입력 6행 중 U2와 U3가 각각 하나씩 줄어야 하며, 행 순서는 달라도 됩니다.
이렇게 만든 전체 ID 목록을 이 글에서는 AllIDs라고 부릅니다. AllIDs는 결과를 설명하기 위한 이름입니다.
| ID |
|---|
| U1 |
| U2 |
| U3 |
| U4 |
전체 ID 목록을 왼쪽 기준으로 원본 정보를 붙이세요
지금 만든 ID 목록은 결과 미리보기에 있습니다. 다른 시트와 연결할 기준 시트로 쓰려면 먼저 파일로 저장한 뒤 작업창에 다시 불러와야 합니다. 이름·점수·지역은 이 기준 목록에 각각 붙입니다.
- ‘결과 저장’을 눌러 ID 목록 전체를 Excel 파일로 저장합니다.
- ‘파일 추가하기’로 저장한 ID 목록과 원본 Names·Scores·Areas를 불러옵니다. ID 목록을 왼쪽에, 원본 세 표를 오른쪽에 놓습니다. 연결하기 전에 저장한 ID 목록 시트의 제목을 눌러 이 시트를 결과 기준으로 선택합니다.
- ID 목록의 ID 칼럼 오른쪽 연결점을 각 원본의 NameID·ScoreID·AreaID 왼쪽 연결점에 각각 연결합니다. 세 연결 모두 ‘왼쪽 시트 모두’를 선택합니다. AllIDs에서 각 원본으로 직접 연결해야 어느 한 표에 정보가 없어도 전체 ID를 유지할 수 있습니다.
- ‘결과 미리보기’의 ‘결과 기준 시트’가 저장해 불러온 ID 목록인지 확인하고, 결과에 U1부터 U4까지 네 ID가 있는지 봅니다. 처음 ID 목록을 만들 때 사용한 이어 붙이기 묶음과는 별도의 연결입니다.
U3와 U4도 결과에 남아야 합니다
U4는 Names와 Scores에 없어도 결과에 남고, Area에 West가 표시됩니다. U2의 Score는 0이지만 U1의 Score는 빈 값입니다. 0이라는 기록과 기록이 없는 상태를 구별하세요. Names만 기준으로 연결했을 때 빠지는 U3·U4가 모두 있는지도 확인합니다.
| ID | NameID | Name | ScoreID | Score | AreaID | Area |
|---|---|---|---|---|---|---|
| U1 | U1 | Ari | ∅ | ∅ | ∅ | ∅ |
| U2 | U2 | Bo | U2 | 0 | ∅ | ∅ |
| U3 | ∅ | ∅ | U3 | 7 | U3 | North |
| U4 | ∅ | ∅ | ∅ | ∅ | U4 | West |
새 ID가 생기면 기준 목록도 갱신하세요
원본에 새 ID가 생기면 최신 ID 칼럼으로 이어 붙이기와 중복 제거를 다시 실행하고, 갱신한 목록을 저장해 연결 기준으로 사용하세요. 빈 ID가 있다면 어떤 대상을 뜻하는지 원본에서 먼저 확인해야 합니다. Names·Scores·Areas 안에서 같은 ID가 여러 번 나오면 연결 결과도 여러 행으로 늘어날 수 있으므로, 같은 ID의 상세 내역을 모두 남겨야 하는 상황인지 확인하세요. 서로 다른 칼럼의 값은 결과에서도 각각의 칼럼으로 남습니다.
내 파일로 시작해 보세요
JOIN SHEET에서 시작하기 ↗Excel·CSV 작업은 PC에서 이용해 주세요.
새 창에서 열리며 작업 중인 데이터를 바꾸지 않습니다.
예제 확인일:
출처
How do I merge 3 datasets into one, using a common ID variable that each dataset shares (Reddit r/excel)
공통 ID를 가진 세 표를 합칠 때 한 표에만 있는 ID도 빠뜨리지 않는 방법을 묻는 질문과 후속 논의를 참고했습니다. 위 표와 작업 순서는 별도로 만든 가상 예제이며, 질문자의 JOIN SHEET 이용 후기가 아닙니다.