- 최초 작성일: 2012-06-15
- 최종 수정일: 2026-09-21
- 조회수: 32 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: '수식 계산'과 특정값 존재여부 파악하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
무슨 일이든, 어떤 기능이든
자주 사용하지 않으면 쉽게 잊어버리고 이내 퇴화하기 마련입니다.
거창하게 '용불용설'을 들먹이지 않더라도…
그런 의미에서 오늘은 배열 수식을 이용하여 특정한 값이 범위 내에
존재하는지를 파악하는 방법 몇 가지와,
유용한 기능임에도 사람들이 잘 모르고 있는 '수식 계산' 기능에 대해서도
알아보도록 하겠습니다.
엑셀 특정 값이 범위에 있는지 확인하기와 수식 계산 기능
핵심 요약: 특정한 값이 범위 안에 있는지 파악하기
배열 수식(OR), IF 함수와의 조합, COUNTIF 함수 세 가지 방법으로 특정한 값의 존재 여부를 확인할 수 있고, 복잡한 수식은 '수식 계산' 기능으로 단계별로 확인할 수 있습니다.
-
방법 1:
{=OR(NameList=Name)}— 있으면 TRUE, 없으면 FALSE -
방법 2:
{=IF(OR(NameList=Name2),"발견!","그런 이름 없음")} -
방법 3:
=IF(COUNTIF(NameList,Name3)>0,"발견!","그런 이름 없음")(배열 수식 불필요) - 수식 계산: '수식 - 수식 분석 - 수식 계산'에서 '계산'을 반복해서 클릭합니다.
방법 1: 배열 수식 OR
Workplace 시트를 보면 이름들이 있습니다.
아래의 '찾을 이름'에 이름을 입력하면 그 사람이 테이블에 있는지 여부를
옆 셀에 표시해 줍니다.
| 찾을 이름 | 결과 |
|---|---|
| 권준우 | TRUE |
있으면 'True', 없으면 'False'라는 결과값이 표시됩니다.
{=OR(NameList=Name)}
수식 좌우에 있는 중괄호 { }는 손으로 직접 입력한 것이 아니라
Ctrl + Shift + Enter 키를 함께 누르면 자동으로 생긴다는 건 아실테고…
여기서 NameList라는 것은 Workplace 시트의 A열에 있는 이름들이
추가되거나 삭제되더라도 영향을 받지 않도록 하기 위해
사전에 '동적 이름 정의'를 해 둔 것입니다.
'수식' 탭의 '정의된 이름' 그룹에서 '이름 관리자' 아이콘을 클릭하고
NameList를 선택하면 '참조 대상'에 이런 수식이 나타납니다.
=OFFSET(Workplace!$A$2,0,0,COUNTA(Workplace!$A:$A)-1)
Name이라는 이름은 '찾을 이름'을 입력한 셀에 붙여준 이름입니다.
따라서 이 수식은, 'A열 전체 중에서 사용자가 입력한 이름과 같은 이름이
있는지를 파악'하는 수식입니다.
물론 배열 수식이므로 { }는 손으로 직접 입력하는 것이 아니라
<Ctrl + Shift + Enter>키를 함께 누르면 자동으로 생기는 것입니다.
참고: 예제 파일의 이름 정의
예제 파일에는 Name(찾을 이름 셀 C25), Name2(C56), Name3(C68)과 동적 이름 NameList가 정의되어 있습니다. Workplace 시트 A1이 머리글('이름')이라서 COUNTA(Workplace!$A:$A)-1이 이름의 개수가 됩니다.
Name =Preface!$C$25
Name2 =Preface!$C$56
Name3 =Preface!$C$68
NameList =OFFSET(Workplace!$A$2,0,0,COUNTA(Workplace!$A:$A)-1)
방법 2: IF 함수와 조합하기
새로운 방법이라기 보다는 '방법 1'의 수식을 조금 다듬어 보면…
| 찾을 이름 | 결과 |
|---|---|
| 권재롱 | 그런 이름 없음 |
사용된 수식은 이렇습니다.
If 함수가 하나 추가되었을 뿐이지요.
{=IF(OR(NameList=Name2),"발견!","그런 이름 없음")}
방법 3: COUNTIF 함수 사용하기
물론 배열 수식을 사용하지 않고도 가능합니다.
| 찾을 이름 | 결과 |
|---|---|
| 권재롱 | 그런 이름 없음 |
이번에는 If와 Countif 함수가 사용되었군요.
=IF(COUNTIF(NameList,Name3)>0,"발견!","그런 이름 없음")
'수식 계산' 기능 사용해 보기
복잡한 수식이 있는 경우, '수식 계산' 기능을 이용하면 편리합니다.
수식이 들어 있는 D68 셀을 선택한 다음
'수식' 탭의 '수식 분석' 탭에 있는 '수식 계산'을 클릭해 보세요.
'수식 계산' 대화상자에서 '계산' 버튼을 반복해서 클릭해 보면
수식의 결과값이 한단계씩 표시되므로 계산 과정을 이해하기 쉽습니다.
정정: 셀 주소
원문은 수식이 들어 있는 셀을 D64로 적었지만, 이 예제 파일에서 방법 3의 수식은 D68 셀에 있습니다. 위 화면의 참조(Preface!$D$64)는 표가 다른 위치에 있을 때 찍은 것입니다.
정리 — 존재 여부 확인 방법 비교
| 방법 | 수식 | 특징 |
|---|---|---|
| 방법 1 | {=OR(NameList=Name)} |
배열 수식, TRUE/FALSE 반환 |
| 방법 2 | {=IF(OR(NameList=Name2),"발견!","그런 이름 없음")} |
결과를 메시지로 표시 |
| 방법 3 | =IF(COUNTIF(NameList,Name3)>0,"발견!","그런 이름 없음") |
배열 수식 없이 가능 |
자주 묻는 질문 (FAQ)
Q1. 엑셀에서 특정한 값이 범위 안에 있는지 확인하려면 어떻게 하나요?
배열 수식 {=OR(NameList=Name)}처럼 범위의 모든 값을 찾을 값과 비교한 뒤 OR 함수로 하나라도 같은지 확인하면 됩니다. 있으면 TRUE, 없으면 FALSE가 나옵니다. 배열 수식은 Ctrl + Shift + Enter 키로 입력합니다.
Q2. 배열 수식을 쓰지 않고 값이 있는지 확인하려면 어떻게 하나요?
COUNTIF 함수를 사용합니다. =IF(COUNTIF(NameList,Name3)>0,"발견!","그런 이름 없음")처럼 범위에서 찾을 값의 개수를 세어 0보다 크면 있는 것으로 판단합니다.
Q3. 엑셀의 '수식 계산' 기능은 무엇인가요?
복잡한 수식의 계산 과정을 한 단계씩 보여 주는 기능입니다. 수식이 들어 있는 셀을 선택하고 '수식' 탭의 '수식 분석' 그룹에서 '수식 계산'을 클릭한 뒤 '계산' 버튼을 반복해서 누르면 수식의 결과값이 단계별로 표시됩니다.
마치며
어느덧 주말이로군요.
다음 시간에…