관리회계 - 합계는 맞는데 틀린 엑셀

결산 파일을 검증할 때 가장 먼저 보는 건 합계다. 소계를 다 더한 값과 총계가 일치하면 일단 안심한다. 대사도 맞고, 오류 셀도 없다. 그런데 합계가 맞는다는 사실은 생각보다 적은 것을 보장한다. 결론 합계 일치는 통과 조건이 아니라 최소 조건이다. 합계는 맞는데 안이 틀린 경우가, 합계가 안 맞는 경우보다 훨씬 위험하다. 함께 읽기 — SUMIF에 $C:$C 를 쓰면 안 되는 이유 · 검증줄이 자기 자신을 보고 있었다 합계가 맞아도 틀릴 수 있는 세 가지 합계는 개별 값들의 합이다. 그래서 개별 값이 잘못되어도 서로 상쇄되면 합계는 그대로다. 원래 값 A 30 B 50 C 20 합계 100 틀린 값 A 35 B 45 C 20 합계 100 A가 5 늘고 B가 5 줄었다 합계는 그대로 사업부별 손익은 뒤집혔는데 전사 합계는 한 자리도 움직이지 않는다. 이런 상쇄가 실제로 어떻게 생기는지 세 가지만 보자. 하나. 분류가 잘못된 경우 어떤 거래가 A사업부가 아니라 B사업부로 잡혔다. 전사 합계는 한 원도 안 바뀐다. 그런데 사업부별 손익은 달라졌고, 그 숫자로 경영진이 판단을 한다. 합계 대사만 하는 검증은 이걸 절대 못 잡는다. 구조상 잡을 수가 없다. 둘. 배부 결과만 맞춘 경우 간접비를 배부했는데 배부 후 총액이 배부 전 총액과 같으면 통과로 본다. 배부는 나누는 작업이니 총액이 같은 건 당연하다. 총액이 같다는 건 배부가 실행됐다는 뜻이지, 제대로 나뉘었다는 뜻이 아니다. 기준을 잘못 걸어도, 특정 부서가 통째로 빠져도, 총액은 늘 맞는다. 셋. 오타가 두 번 난 경우 한 곳에서 잘못 더하고 다른 곳에서 잘못 빼면 합계는 돌아온다. 드물 것 같지만, 같은 사람이 같은 날 같은 파일을 고칠 때 의외로 자주 생긴다. 한 곳을 고치다 균형이 깨져서 다른 곳을 억지로 맞추는 경우다. 그래서 무엇을 봐야 하나 합계 대신 보는 게 아니라, 합계를 본 다음에 봐야 하...

관리회계 - 검증줄이 자기 자신을 보고 있었다

결산 파일에는 대개 맨 아랫줄에 검증줄이 있다. 다른 파일에서 뽑은 숫자와 이 파일의 집계값을 나란히 놓고, 차이를 계산하는 줄이다. 차이가 0이면 통과다. 그래서 우리는 그 줄만 본다. 0이면 넘어간다. 결론 검증줄은 반드시 다른 파일을 참조해야 검증이다. 자기 값을 자기가 검증하면 그건 검증이 아니라 복사다. 차이가 0인데 검증이 안 된 상태 인수인계 받은 파일을 열었는데 검증줄이 전부 0이었다. 몇 달째 0이었다. 그런데 셀을 클릭해 보니 수식이 아니라 값 이었다. 누군가 대사값 자리에 바로 위 집계값을 그대로 복사해 넣어둔 것이다. 같은 숫자를 두 번 쓰고 빼면 당연히 0이 나온다. 제대로 된 검증 내 파일 집계값 다른 파일 대사값 차이 0 = 두 파일이 일치 가짜 검증 내 파일 집계값 같은 값 복사 수식 아님 차이 0 = 아무것도 검증 안 됨 두 화면은 똑같이 0을 보여준다. 다른 것은 그 0이 어디서 왔는가뿐이다. 여기가 이 함정의 핵심이다. 화면에 보이는 결과가 정상과 완전히 똑같다. 오류도 없고, 경고도 없고, 색깔도 같다. 0이라는 숫자 하나만 놓고는 진짜 검증인지 복사인지 구분할 방법이 없다. 왜 이런 일이 생기나 악의로 하는 사람은 없다. 대개 이렇게 생긴다. 마감이 급한 날, 검증줄에 차이가 난다. 원인을 찾을 시간이 없다. 일단 숫자는 다른 데서 이미 맞춰봤으니 넘어가자 하고, 차이를 0으로 만들어놓는다. 다음 달에 제대로 보려고 한다. 그런데 다음 달은 그 파일을 복사해서 쓴다. 검증줄도 같이 복사된다. 그렇게 몇 달이 지나면 아무도 그 줄이 가짜라는 걸 모른다. 어떻게 찾아내나 검증줄을 한 줄씩 클릭해서 수식 입력줄을 보면 된다. 다만 파일이 스무 개면 그렇게 못 한다. 순서를 정해두는 편이 빠르다. 확인 정상이라면 검증 셀이 수식인가 값인가 수식이어야 한다 그 수식이 무엇을 참조하는가 다른 파일 또는 다른 시트 차이가 항상 정확히 0인가 가끔은...

관리회계 - SUMIF에 C:C 를 쓰면 안 되는 이유

관리회계 파일은 매달 같은 양식으로 돌아간다. 수식은 한 번 잘 짜두면 몇 년을 쓴다. 그래서 조건 범위를 열 전체로 잡는 습관이 생긴다. $C:$C 로 걸어두면 원천 데이터가 몇 행이 되든 알아서 잡히니까 편하다. 그러다 어느 달, 합계가 조금 커진다. 오류 표시는 없다. 결론 조건 범위와 합계 범위는 반드시 행을 한정한다. $C:$C 가 아니라 $C$6:$C$182 로 쓴다. 왜 오류 표시가 나지 않는가 SUMIF가 열 전체를 훑는다는 건, 그 열에 있는 모든 것 을 본다는 뜻이다. 문제는 관리회계 원천 시트가 대개 한 덩어리가 아니라는 데 있다. 위쪽에는 계정별 실적이 있고, 아래쪽에는 배부 후 재집계 블록이 따로 붙어 있다. 검증용 대사 블록이 더 아래에 있기도 하다. 같은 시트 안에 성격이 다른 표가 두세 개 들어앉아 있는 구조다. 이때 위쪽 실적 블록에 판관비라는 계정이 있고, 아래쪽 재집계 블록에도 판관비라는 줄이 있으면, 열 전체를 조건으로 잡은 수식은 둘 다 더한다. 원천 시트 · C열 실적 블록 판관비 그 밖의 계정들 재집계 블록 판관비 배부 후 다시 집계한 값 $C$6:$C$182 실적 블록만 센다 $C:$C 두 블록을 다 센다 같은 계정명이 두 번 등장하는 순간, 열 전체 참조는 조용히 두 배를 센다 =SUMIF($C:$C, "판관비", $F:$F) → 위아래 두 블록을 다 센다 =SUMIF($C$6:$C$182, "판관비", $F$6:$F$182) → 실적 블록만 센다 여기서 무서운 건 결과가 #N/A 도 #VALUE! 도 아니라는 점이다. 숫자가 그냥 커진다. 엑셀의 오류 검사는 아무것도 잡아내지 못한다. 오류 셀 0개인데 답이 틀린 상태 가 된다. 그리고 이 함정은 처음부터 터지지 않는다. 원천 시트에 재집계 블록이 나중에 추가되는 날, 몇 달 잘 돌던 수식이 조용히 두 배를 세기 시작한다. 어떻게...