엑셀함정 - 항목 순서가 뒤바뀌어도 합계는 맞는다
매달 원천 파일을 받아서 보고용 파일에 옮긴다. 원천의 C열을 보고용 D열에 그대로 붙여넣거나, 같은 행 번호로 참조를 건다. 순서가 늘 같았으니까. 그러다 원천 쪽에서 항목 순서가 한 번 바뀐다. 보고용 파일은 그 사실을 모른다. 결론 값은 위치가 아니라 이름으로 가져온다. 행 번호로 가져오는 순간, 원천의 순서가 곧 내 파일의 정답이 된다. 자리가 바뀌면 무슨 일이 생기나 원천 파일에서 두 항목의 순서가 바뀌었다고 하자. 행 번호로 참조하는 보고용 파일은 여전히 3행을 A라고, 4행을 B라고 부른다. 하지만 이제 3행에는 B의 값이, 4행에는 A의 값이 들어 있다. 원천 파일 (순서가 바뀜) 3행 B사업부 80 4행 A사업부 20 5행 C사업부 50 합계 150 행 번호로 참조 보고용 파일 A사업부 80 B사업부 20 C사업부 50 합계 150 이름표와 값이 엇갈렸다 합계는 같다 값은 하나도 틀리지 않았다. 틀린 건 각 값이 앉은 자리다. 숫자 하나하나는 전부 원천과 일치한다. 합계도 맞는다. 대사를 해도 통과한다. 틀린 건 어떤 값에 어떤 이름표가 붙었는가 뿐이다. 그리고 이게 가장 비싼 종류의 오류다. A사업부가 잘한 달에 B사업부가 칭찬받고, B사업부가 부진한 달에 A사업부가 불려간다. 왜 순서가 바뀌나 원천 파일을 만드는 쪽에서는 순서를 바꾸는 게 아무 일도 아니다. 정렬 기준을 이름순에서 금액순으로 바꿨다 조직이 바뀌어 항목이 하나 추가되거나 합쳐졌다 시스템에서 내려받는 조회 조건이 달라졌다 담당자가 보기 편하게 행을 옮겼다 모두 원천 쪽 입장에서는 정당하다. 문제는 받는 쪽 파일이 순서가 영원히 같을 거라는 가정 위에 서 있다는 것이다. 그 가정은 어디에도 적혀 있지 않다. 어떻게 잡아내나 합계는 소용없다. 대신 각 항목을 자기 자신의 과거와 비교한다. 신호 의미 한 항목이 급증했다 실제 변동일 수 있다 다른 항목이 급...