엑셀은 워낙 강력한 스프레드시트 프로그램이라 모든 기능을 완벽히 알고 있는 사람은 없을 것입니다. 다양한 기능들이 이렇게 간단한 인터페이스 안에 담겨 있다는 사실 자체가 놀라울 따름입니다. 최근 집에서 엑셀로 작업하다가 IF 함수를 활용해 여러 수식을 작성하게 되었는데요, 이번 기회에 IF 함수의 활용법을 정리해 보았습니다.
엑셀에서 간단한 IF 문을 작성할 줄 아는 것은 필수적인 기술입니다. 특히 숫자를 매일 다루는 업무를 하신다면 더욱 그렇습니다. 매크로처럼 복잡하지 않으면서도, 열의 숫자를 합산하는 것처럼 직관적이지는 않은, 딱 그 중간쯤 되는 기능이라 할 수 있습니다.
엑셀 IF 문의 기본 구조
이 글에서는 엑셀 워크시트에서 IF 문을 작성하는 기본적인 방법을 단계별로 소개하겠습니다. 시작하기 전에 모든 IF 문의 기본 구조를 먼저 이해해야 합니다.
IF 조건 THEN 참 ELSE 거짓
기본적으로 이게 전부입니다. 조건은 보통 무언가를 비교하는 식이며, 비교 대상은 주로 숫자나 텍스트입니다. 이제 기본적인 숫자 비교부터 시작해서 텍스트 비교, 그리고 AND/OR 같은 연산자 활용까지 차례대로 살펴보겠습니다.
1. 가장 기본적인 숫자 비교

매우 간단한 예제입니다. 25와 35라는 두 숫자가 있는 두 개의 열이 있습니다. C 열에서 A 열의 값이 10보다 큰지 확인한 뒤, 참이면 Yes를, 거짓이면 No를 출력합니다. 여기서 몇 가지 주의할 점이 있습니다.
1. 비교식에 괄호를 반드시 씌울 필요는 없지만, 특히 비교 조건이 복잡해질 경우를 대비해 괄호를 사용하는 습관을 들이는 것이 좋습니다.
2. 참 또는 거짓 결과로 텍스트를 출력하려면 반드시 큰따옴표(" ")로 감싸야 합니다. 큰따옴표를 사용하지 않으면 엑셀이 이를 명명된 범위(named range)를 참조하려는 것으로 오해합니다.
2. 비교식에 수학 연산 활용하기
이제 조금 더 다양한 활용법을 살펴보겠습니다. 비교 부분에서는 수학 연산도 함께 사용할 수 있습니다. 예를 들어 다음과 같이 작성할 수 있습니다.

여기서는 A2에 10을 곱한 값이 10보다 크면 "Yes"를 출력하고, 그렇지 않으면 "No"를 출력합니다. 생각보다 간단하죠? 이번에는 텍스트 대신 숫자를 출력해 보겠습니다.

이 예제에서는 A2의 값이 10보다 크면 그 값에 2를 곱하고, 그렇지 않으면 5를 곱해 결과를 반환합니다. 실용성은 다소 떨어지지만 원리는 동일합니다. 수식 안에서 다른 셀의 값도 자유롭게 사용할 수 있습니다.

여기서는 A2의 값이 10보다 크면 B2에 10을 곱하고, 그렇지 않으면 B2에 5를 곱한 결과를 C2 셀에 출력합니다. 이제 조금 더 복잡한 경우를 살펴보겠습니다. A2와 B2가 모두 10보다 클 때만 "Yes"를 출력하려면 어떻게 해야 할까요?
3. AND와 OR 함수로 복수 조건 처리하기

여기서 새로운 함수가 등장합니다! A2 > 10 그리고 B2 > 10이라는 조건을 만들려면, IF 함수 안에 AND 함수를 사용해야 합니다. 복잡해 보이지만 생각보다 어렵지 않습니다. AND 함수는 여러 개의 비교 인수(A2 > 10 등)를 받아 모든 조건이 참일 때만 참을 반환합니다. 즉, 모든 조건을 충족해야 "Yes"가 표시됩니다. 비교 인수는 세 개, 네 개, 그 이상도 자유롭게 추가할 수 있습니다. OR 조건을 사용하고 싶다면 AND 자리에 OR이라고 쓰기만 하면 되는데, 이 경우 여러 조건 중 하나라도 참이면 참을 반환합니다.
4. 다른 시트의 셀 값 참조하기
텍스트나 계산된 숫자가 아닌 다른 값을 반환하고 싶다면 어떻게 해야 할까요? 예를 들어 다른 시트에 있는 셀의 값을 그대로 가져오고 싶다면 다음과 같이 작성하면 됩니다.

참일 때의 결과값으로 시트 2(Sheet2)의 A1 셀 값을 반환하도록 설정한 예제입니다. 정말 간단하죠? 이렇게 다른 시트의 값을 손쉽게 참조할 수 있습니다. 마찬가지로 논리 비교에도 다른 시트의 값을 활용할 수 있습니다. 예를 들어 Sheet2!A1 > 10처럼 작성하면 됩니다.
5. 데이터 유형에 따른 조건 판별하기
셀에 저장된 값의 유형(숫자, 텍스트, 빈 값)에 따라 다른 결과를 반환하고 싶은 경우도 있습니다. 이럴 때는 다음과 같이 작성할 수 있습니다.

ISBLANK 함수로 빈 셀 여부를 확인하고, 나머지 두 가지 유형에는 ISTEXT와 ISNUMBER 함수를 사용할 수 있습니다. 이러한 함수들은 IF 수식을 작성할 때 매우 유용하게 쓰입니다. 참고로 엑셀의 대부분 함수는 IF 문 안에서 사용할 수 있으니 SUM, MAX, MIN 등 다양한 함수를 자유롭게 조합해 보세요.
6. 셀 범위 전체에 조건 적용하기
지금까지는 논리 비교에서 단일 값만 다뤘지만, 셀 그룹 전체를 대상으로 조건을 검사할 수도 있습니다. 예를 들어, 특정 범위의 모든 숫자가 10보다 크면 True를, 하나라도 작으면 False를 출력하는 경우입니다.

방법은 위 예제처럼 콜론(:)을 사용해 A2:A4처럼 범위를 지정하는 것뿐입니다. 이 경우 A2부터 A4까지의 각 값이 차례로 10보다 큰지 검사되며, 모든 값이 조건을 충족해야 참 값이 표시됩니다.
7. 중첩 IF 문으로 다단계 조건 만들기

여기서는 A2가 10보다 크면 특정 값을 출력하고, 그렇지 않으면 또 다른 IF 비교를 수행하도록 했습니다. 즉, B2가 10보다 큰지를 다시 검사한 뒤 다른 값을 출력하는 방식입니다. 엑셀에서는 IF 문을 최대 64단계까지 중첩할 수 있어 상당히 복잡한 논리도 구현할 수 있습니다. 실무에서 그렇게 깊은 중첩이 필요한 경우는 드물지만, 2~3단계 정도의 중첩은 종종 매우 유용합니다.
마무리
지금까지 살펴본 내용은 IF 문에 대한 기본적인 소개이지만, 엑셀 조건문의 세계로 들어가는 충분한 출발점이 되었기를 바랍니다. 엑셀에서 IF 문으로 특정 작업을 수행하려고 하는데 잘 해결되지 않는 부분이 있으신가요? 댓글로 문제를 남겨주시면 올바른 IF 수식을 작성하실 수 있도록 도와드리겠습니다.