데이터 수정 과정에서, 이전 데이터 중 어떤 것이 유지되는지 알아야 할 일이 생겼다.
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 |
근데... 쉽게 하긴 했지만 야매라는 느낌을 지울 수 없다.
엑셀 초보라 아는 게 없으니 이렇게라도 했는데, 더 좋은 방법을 아는 분이 있다면 댓글 부탁드린다.