- 최초 작성일: 2001-05-09
- 최종 수정일: 2026-09-30
- 조회수: 10 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 수식 셀 표시하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
희안하게도(!) 엑셀은 셀에 수식이 들어있는지 아닌지를 알려주는 함수를 제공하지 않습니다. 물론 이러한 한계도 VBA를 사용하면 해결할 수 있습니다.
아래의 표에서 검은 색으로 칠해진 셀은 수식 또는 배열 수식이 들어 있습니다.
수식 셀 표시하기
핵심 요약: 수식 셀 자동 강조
HasFormula와 HasArray 속성을 이용한 사용자 정의 함수를 조건부 서식의 수식으로 지정하면 수식이 들어 있는 셀만 자동으로 강조할 수 있습니다.
- 1단계: HasFormula 사용자 정의 함수를 작성합니다.
- 2단계: 시트 전체를 선택하고 서식-조건부 서식을 엽니다.
- 3단계: 수식 조건을 =hasformula(a1)로 지정하고 서식을 선택합니다.
Step 1: 예제 표
예제 표 펼쳐 보기 (지점별 월별 매출)
| 강동 | 강서 | 강남 | 강북 | 지점계 | |
|---|---|---|---|---|---|
| 1월 | 957 | 369 | 1068 | 1319 | 3713 |
| 2월 | 1291 | 1491 | 356 | 1386 | 4524 |
| 3월 | 67 | 148 | 1130 | 543 | 1888 |
| 1/4분기 | 2315 | 2008 | 2554 | 3248 | 10125 |
| 4월 | 1129 | 62 | 175 | 1436 | 2802 |
| 5월 | 862 | 1037 | 1356 | 1358 | 4613 |
| 6월 | 707 | 1098 | 154 | 873 | 2832 |
| 2/4분기 | 2698 | 2197 | 1685 | 3667 | 10247 |
| 상반기 | 5013 | 4205 | 4239 | 6915 | 20372 |
| 7월 | 673 | 454 | 1084 | 788 | 2999 |
| 8월 | 138 | 106 | 1222 | 264 | 1730 |
| 9월 | 1216 | 1225 | 164 | 1141 | 3746 |
| 3/4분기 | 2027 | 1785 | 2470 | 2193 | 8475 |
| 10월 | 203 | 570 | 1171 | 360 | 2304 |
| 11월 | 1469 | 64 | 876 | 201 | 2610 |
| 12월 | 751 | 1406 | 508 | 0 | 2665 |
| 4/4분기 | 2423 | 2040 | 2555 | 561 | 7579 |
| 하반기 | 4450 | 3825 | 5025 | 2754 | 16054 |
| 년간 | 9463 | 8030 | 9264 | 9669 | 36426 |
표에서뿐만 아니라 아무 셀에나 수식을 입력해 보세요. 수식이 입력된 셀은 검정색 바탕에 노란 글씨로 표시가 될 것입니다.
Step 2: 사용자 정의 함수와 조건부 서식
예를 들어 표 밖의 아무 셀에 =D31/C31 같은 수식을 입력하면 그 셀도 서식이 바뀝니다.
이것은 어떻게 한 것일까요? 30초만 생각해 보세요. 원리는 아주 간단합니다. 조건부 서식에 사용자 정의 함수를 사용한 것입니다.
(1) 사용자 정의 함수 작성
(1) 일단 아래와 같은 사용자 정의 함수를 작성합니다.
Function HasFormula(xxx) As Boolean
HasFormula = xxx.HasFormula Or xxx.HasArray
End Function
코드를 설명하고 말고 할 것도 없지요? HasFormula 속성과 HasArray 속성을 사용하여 수식이 들어있나 없나를 판별해 주었습니다.
(2) 조건부 서식 지정
(2) 범위를 지정한 다음 '서식-조건부 서식' 메뉴를 선택합니다. 여기서는 전체 시트를 지정해 주었습니다.
(3) 서식 지정
(3) 위와 같이 입력하고 '서식' 버튼을 눌러 원하는 서식을 지정합니다. 위 '조건부 서식' 대화상자는 엑셀 XP 화면이므로 엑셀 2000에서는 약간 다릅니다만 어떻게 설정해 주어야 하는지는 아실 것입니다.
이제 아마 셀에나 수식이나 배열 수식을 입력해 보세요. 재미있는 일이 생길 것입니다.
엑셀 2013 이후 버전에는 셀에 수식이 들어 있는지 알려 주는 ISFORMULA 함수가 기본으로 제공됩니다. 조건부 서식 수식에 =ISFORMULA(A1)을 사용하면 이 사용자 정의 함수 없이도 같은 효과를 낼 수 있습니다.
마무리
오늘은 짧게 여기까지...
정리 — 수식 셀 강조 핵심
| 구분 | 사용한 코드 | 역할 |
|---|---|---|
| 일반 수식 판별 | xxx.HasFormula | 수식 포함 여부 |
| 배열 수식 판별 | xxx.HasArray | 배열 수식 포함 여부 |
| 함수 정의 | Function HasFormula(xxx) As Boolean | 판별 결과 반환 |
| 조건부 서식 | =hasformula(a1) | 수식 셀에 서식 적용 |
| 대안 | =ISFORMULA(A1) | 엑셀 2013 이후 내장 함수 |
자주 묻는 질문 (FAQ)
Q1. 셀에 수식이 들어 있는지 확인하는 함수가 있나요?
과거에는 없어서 HasFormula 속성을 쓰는 사용자 정의 함수를 만들었고, 엑셀 2013부터는 ISFORMULA 함수가 제공됩니다.
Q2. 배열 수식도 판별할 수 있나요?
HasArray 속성을 함께 검사하면 배열 수식도 판별할 수 있습니다.
Q3. 조건부 서식에서 사용자 정의 함수를 쓸 수 있나요?
수식 조건에 사용자 정의 함수를 지정할 수 있으며, 이 강좌처럼 =hasformula(a1) 형태로 사용합니다.
마치며
조건부 서식과 사용자 정의 함수를 조합하면 수식이 들어 있는 셀을 한눈에 구분할 수 있습니다.