엑셀 빈칸이면 계산 안 하고 0 숨기기

· 엉클벤 엑셀함수(스프레드시트)

핵심 요약

  • 아직 값을 넣지 않은 행에서 수식이 0이나 #DIV/0!를 내보이지 않고 빈칸으로 있게 합니다.
  • 쓰는 조합은 =IF(C2="","",C2/B2)입니다. ISBLANK를 쓰는 방법과 결과가 달라지는 경우, 계산은 두고 0만 안 보이게 하는 방법도 함께 봅니다.
  • 빈칸("")으로 둔 행은 평균에서 빠지고, 0으로 둔 행은 평균에 들어갑니다. 예제에서 평균 달성률이 40%와 50%로 갈립니다.

수식을 미리 아래로 채워 둔 표는 편하지만, 값을 아직 적지 않은 행마다 0이 찍히거나 #DIV/0! 같은 오류가 줄지어 나옵니다. 영업 실적표에서 이번 주 실적을 아직 입력하지 않은 사람의 달성률이 0%로 보이면, 실제로 한 건도 못 한 사람과 구분되지 않습니다. 이 0이 평균에까지 들어가면 팀 평균도 낮아집니다.

시험 문제에서도 "값이 없으면 공백으로 표시하라"는 조건이 자주 붙습니다. 이 글은 "목적별 함수 조합" 시리즈의 한 편으로, 빈칸이면 계산하지 않게 하는 IF 수식과, 계산 결과는 그대로 두고 0만 화면에서 숨기는 방법을 목적에 따라 나눠 설명합니다.

빈칸이면 계산 안 하기 - IF 빈칸 처리

예제 표 — 입력이 덜 된 실적표

A열 이름, B열 이번 달 목표 건수, C열 실적 건수가 있습니다. 최수아 님은 실적을 아직 입력하지 않았고, 7~9행은 새 사람이 들어올 때를 위해 비워 둔 행입니다. 박지훈 님은 실적이 정말 0건입니다. 이름과 숫자는 모두 가상입니다.

ABCDE
1이름목표(건)실적(건)달성률남은 건수
2김민준107
3이서연54
4박지훈120
5최수아10
6정우진63
7
8
9

먼저 아무 처리 없이 D2에 =C2/B2, E2에 =B2-C2를 넣고 9행까지 채우면 이렇게 나옵니다(D열은 백분율 서식).

AD (=C/B)E (=B-C)
4박지훈0%12
5최수아0%10
7~9(빈 행)#DIV/0!0

실적을 아직 안 적은 최수아 님이 실적 0건인 박지훈 님과 똑같이 0%로 보입니다. 빈 칸은 계산에서 0으로 취급되기 때문입니다. 빈 행은 0으로 나누게 되어 #DIV/0! 오류가 납니다.

완성 수식 — 실적이 비었으면 계산하지 않기

D2: =IF(C2="","",C2/B2)
E2: =IF(C2="","",B2-C2)
  1. D2에 첫 번째 수식, E2에 두 번째 수식을 입력합니다.
  2. D2:E2를 함께 선택하고 채우기 핸들을 9행까지 끌어내립니다.
  3. D열을 선택하고 홈 탭에서 백분율 스타일(%)을 누릅니다.
ABCD (달성률)E (남은 건수)
2김민준10770%3
3이서연5480%1
4박지훈1200%12
5최수아10(빈칸)(빈칸)
6정우진6350%3
7~9(빈칸)(빈칸)

이제 박지훈 님의 진짜 0%와 최수아 님의 "아직 입력 안 함"이 구분됩니다. 최수아 님이 실적을 적는 순간 D5·E5가 바로 계산됩니다.

수식 풀어 보기 — 안쪽부터 한 겹씩

5행 최수아 님과 2행 김민준 님을 나란히 놓고 D열 수식을 따라가 보겠습니다.

  1. C5="" → C5가 비어 있는지 묻는 비교입니다. 큰따옴표 두 개를 붙여 쓴 ""는 "아무 글자도 없는 값"을 뜻합니다. C5는 비어 있으므로 TRUE, 김민준 님의 C2는 7이므로 FALSE입니다.
  2. IF(TRUE,"",…) → 조건이 참이면 두 번째 인수 ""를 돌려줍니다. 셀에는 아무것도 보이지 않습니다. 이때 세 번째 인수 C5/B5는 결과로 쓰이지 않습니다.
  3. IF(FALSE,"",C2/B2) → 조건이 거짓이면 세 번째 인수를 계산합니다. 7÷10 = 0.7, 백분율 서식으로 70%입니다.

Microsoft 문서도 입력이 없는데 수식이 결과를 표시하지 않게 하려고 셀이 비었는지 확인한다고 설명하며, =IF(D3="","",수식) 형태를 예로 듭니다.

조건 칸이 두 개일 때

목표(B)와 실적(C) 가운데 하나라도 비었으면 계산하지 않으려면 OR로 묶습니다. 이렇게 하면 목표를 안 적은 행에서 #DIV/0!가 나는 것까지 막을 수 있습니다.

=IF(OR(B2="",C2=""),"",C2/B2)

예제 표에서는 위 완성 수식과 같은 결과가 나옵니다.

자주 막히는 곳

ISBLANK와 =""는 같지 않습니다. =IF(ISBLANK(C2),"",C2/B2)도 이 예제에서는 똑같이 동작합니다. 차이는 검사하는 칸에 수식이 들어 있을 때 드러납니다. ISBLANK는 정말 아무것도 없는 칸만 TRUE로 봅니다. 그래서 위에서 만든 E5처럼 ""를 돌려주는 수식 칸은 눈에는 비어 보여도 ISBLANK가 FALSE를 냅니다. =IF(ISBLANK(E5),"",E5*2)는 막지 못하고 #VALUE!가 나지만, =IF(E5="","",E5*2)는 빈칸으로 둡니다. 수식 결과를 이어서 계산할 때는 ="" 쪽이 안전합니다.

증상원인해결
빈칸이 된 셀을 더하면 #VALUE!""는 숫자가 아니라 빈 글자입니다. =E5+1처럼 직접 더하면 오류가 납니다.SUM을 쓰면 글자를 건너뛰고 더합니다. =SUM(E2:E9)의 결과는 19입니다. 이어지는 수식에도 IF(E5="","",…)를 씌웁니다.
비어 보이는데 계산이 됨칸에 스페이스가 한 칸 들어 있습니다. 스페이스는 글자라서 =""도, ISBLANK도 비었다고 보지 않습니다.칸을 선택하고 Delete로 지우거나, 조건을 TRIM(C2)=""로 바꿉니다.
빈칸 자리에 -를 보이고 싶음두 번째 인수가 보여 줄 값입니다.=IF(C2="","-",C2/B2)처럼 따옴표 안에 원하는 글자를 넣습니다.

빈칸과 0은 평균이 다르게 나옵니다

AVERAGE는 범위 안의 글자를 건너뛰고 숫자만 평균합니다. IF로 만든 빈칸("")은 글자이므로 빠지고, 0은 숫자이므로 들어갑니다.

수식평균에 들어간 값결과
그냥 계산한 D열 =AVERAGE(D2:D6)70%, 80%, 0%, 0%(최수아), 50%40%
IF로 만든 D열 =AVERAGE(D2:D9)70%, 80%, 0%, 50%50%

입력 안 한 사람을 평균에서 빼려면 IF로 빈칸을 만들어야 합니다. 뒤에 설명할 "0 숨기기"는 겉모습만 바꾸는 것이라 평균이 40% 그대로입니다.

다른 방법 — 계산은 두고 0만 안 보이게

값은 0이 맞는데 표가 0으로 가득해 보기 싫은 경우라면 수식을 고치지 않고 표시만 바꿀 수 있습니다. Microsoft 문서에 나오는 방법은 세 가지입니다.

  1. 시트 전체의 0 숨기기 — 파일 > 옵션 > 고급으로 가서 이 워크시트의 표시 옵션에서 0 값이 있는 셀에 0 표시 확인란을 끕니다. 그 시트의 모든 0이 빈칸처럼 보입니다.
  2. 고른 셀만 숨기기(사용자 지정 서식) — 셀을 선택하고 Ctrl + 1을 누른 뒤 숫자 > 사용자 지정에서 형식 상자에 0;-0;;@를 입력하고 확인을 누릅니다. 세미콜론으로 나뉜 칸이 차례로 양수;음수;0;글자의 모양이며, 세 번째 칸을 비워 두었기 때문에 0이 보이지 않습니다.
  3. 수식으로 0을 빈칸으로 — 결과가 0일 때 빈칸을 돌려주는 IF를 씁니다. 문서의 예는 =IF(A2-A3=0,"",A2-A3)입니다.

1번과 2번은 겉모습만 바꿉니다. 문서에 따르면 숨겨진 값은 수식 입력줄에만 보이고 인쇄되지 않습니다. 값은 여전히 0이므로 평균·개수 계산에는 그대로 들어갑니다. 박지훈 님처럼 진짜 0도 함께 사라져 보인다는 점도 기억하세요.

하고 싶은 것쓸 방법
입력 안 된 행을 비워 두고 평균에서도 빼기=IF(C2="","",계산)
진짜 0은 두고 빈 행의 오류만 없애기=IF(C2="","",계산)
값은 그대로, 인쇄물에서 0만 안 보이게옵션 또는 사용자 지정 서식 0;-0;;@

자주 묻는 질문

IF에서 ""와 " "는 무엇이 다른가요?

""는 아무 글자도 없는 빈 값이고, " "는 스페이스 한 칸이라는 글자입니다. 둘 다 셀에서는 비어 보이지만 " "가 들어간 칸은 비었다고 판단되지 않습니다. 빈칸을 만들 때는 따옴표 두 개를 붙여 ""로 씁니다.

빈칸으로 만든 셀도 COUNT로 세어지나요?

세어지지 않습니다. COUNT는 숫자가 들어 있는 칸만 세므로, 예제의 달성률 열 D2:D9에 COUNT를 쓰면 숫자가 나온 4칸만 셉니다. 반면 COUNTA는 빈 텍스트("")도 세기 때문에 ""를 돌려주는 수식 칸까지 포함해 8칸을 모두 셉니다. 입력된 사람 수를 셀 때는 COUNT 쪽이 맞습니다.

오류만 빈칸으로 바꾸면 안 되나요?

IFERROR로 감싸면 빈 행의 #DIV/0!는 사라집니다. 하지만 최수아 님처럼 실적을 안 적은 행은 오류가 아니라 0%로 계산되므로 그대로 0%가 보입니다. 입력하지 않은 것과 0을 구분하려면 칸이 비었는지 직접 묻는 IF가 맞습니다.

함께 보면 좋은 글

참고

벤

글쓴이 · 엉클벤

엑셀·스프레드시트 함수, AI 활용법, 컴퓨터·스마트폰 생활 팁을 따라 하기 쉽게 정리합니다. 틀린 내용은 연락처로 알려 주세요. 소개 보기

📚 벤스페이퍼 엑셀 강좌

기초부터 피벗 테이블까지 배우는 순서대로 정리한 엑셀 강좌 전체 목차에서 다음 글을 이어서 볼 수 있습니다.

Powered by Blogger