본문 바로가기

Work/Excel

[엑셀] key가 2개 이상인 데이터 비교

데이터 수정 과정에서, 이전 데이터 중 어떤 것이 유지되는지 알아야 할 일이 생겼다. 

 

key가 1개인 데이터의 이력 추적은 VLOOKUP() 을 통해 아주 간단하게 할 수 있다.

근데 이번엔 key가 2개인 데이터를 비교할 일이 생겨서 어떻게 접근하면 좋을지 고민해 보았다.

 

key가 2개인 데이터란, 아래와 같이 x, y의 쌍을 이루고 있는 데이터이다.

As-Is x As-Is y To-Be x To-Be y
1101 1101 1101 1001
1101 1102 1101 1002
1101 1103 1101 1101
1101 1104 1101 1102
1102 1104 1102 1003
1102 1105 1102 1004
1103 1102 1103 1701
1201 1101 1161 1001
1201 1102 1161 1002
1301 1101 1161 1101
1301 1102 1301 1001
1301 1103 1301 1002
1301 1104 1301 1101
1401 1102 1301 1102
1401 1103 1301 1200
1501 1101 1301 1700
1501 1102 1301 1701

그리고 위 데이터 중 색칠한 (1101, 1101), (1101, 1102), (1301, 1101), (1301, 1102) 만 수정 후에도 유지된다.

 

이걸 어떻게 쉽게 하지... 고민하다가 아이디어가 떠올랐다.

key가 1개인 데이터의 이력 추적은 VLOOKUP() 을 통해 아주 간단하게 할 수 있다.

 

그러면 key가 1개인 데이터로 만들면 되겠네!

 

CONCATENATE() 을 사용해 key 필드를 붙인 임시 key 필드를 만들고, 이를 VLOOKUP() 으로 비교하면 되겠다.

As-Is Temp To-Be Temp
11011101 11011001
11011102 11011002
11011103 11011101
11011104 11011102
11021104 11041003
11021105 11051004
11031102 11021701
12011101 11611001
12011102 11611002
13011101 11611101
13011102 13011001
13011103 13011002
13011104 13011101
14011102 13011102
14011103 13011200
15011101 13011700
15011102 13011701

 

근데... 쉽게 하긴 했지만 야매라는 느낌을 지울 수 없다.

엑셀 초보라 아는 게 없으니 이렇게라도 했는데, 더 좋은 방법을 아는 분이 있다면 댓글 부탁드린다.