들어가기 전에
Excel의 논리 함수는 작업을 실행하기 전에 문장이나 데이터가 참인지 거짓인지 테스트하는 함수입니다. 논리 함수는 데이터 분석, 특정 작업이나 계산 자동화, 의사결정 등에 필수적입니다. 특히 유용하다고 생각되는 세 가지 논리 함수와 실제 상황에서 이를 최대한 활용하는 방법을 소개합니다.
이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: The 3 Best Logical Functions I Always Use in Excel
- URL: https://www.howtogeek.com/best-logical-functions-in-excel/
IF를 AND, OR, NOT과 함께 사용
이러한 함수를 함께 사용하는 방법을 설명하기 전에 각 함수가 개별적으로 수행하는 작업을 설명합니다. AND, OR, NOT은 그 자체로 조건을 결정하는 데 도움이 됩니다. 아래 예에서는 각 신청자에 대해 세 가지를 확인하고자 합니다.
- 만 18세 이상이고 골드 인증을 받았는가(F열)?
- 정식 운전면허증을 소지하고 있거나 해외에서 일할 수 있는 능력이 있는가(G열)?
- 50세가 넘지 않았는가(H 열)?
F2 셀에는 다음 수식을 입력합니다.
=AND(B2>18,D2="Gold")
B2의 값이 18보다 크고 D2의 값이 "Gold"와 같은지 결과를 알려줍니다.
G2 셀에는 다음 수식을 입력합니다.
=OR(C2="Full",E2="YES")
C2의 값이 'Full'인지 또는 E2의 값이 'Yes'인지를 식별합니다.
마지막으로, H2 셀에는 다음 수식을 입력합니다.
=NOT(B2>50)
셀 B2의 값이 50보다 크지 않은지 확인합니다.
Excel의 자동 채우기 기능을 사용하여 수식을 나머지 행에 복사합니다.
조건이 충족되었는지 여부에 따라 각 출력이 참 또는 거짓으로 표시되는 것을 확인할 수 있습니다. 이 방법도 편리하지만 특정 표시 단어나 문구를 사용하면 훨씬 더 유용할 수 있습니다. 설정된 조건에 따라 특정 값을 반환하는 IF가 바로 그 역할을 합니다.
이번에는 각 지원자에 대해 다음과 같은 결과를 얻고자 합니다.
- 만 18세 이상이고 골드 인증을 받은 경우 시니어 회원으로 분류할 수 있습니다.
- 운전면허가 있거나 해외에서 일할 수 있는 능력이 있다면 여행이 가능한 지원자로 분류할 수 있습니다.
- 50세가 넘지 않은 경우 Excel에서 견습생 자격이 있음을 알려주는 레이블을 첨부하고 싶습니다.
F2 셀에 다음과 같이 입력합니다.
=IF(AND(B2>18,D2="Gold"),"Senior","Junior")
B2의 값이 18보다 크고 D2의 값이 'Gold'인지 확인한 다음, 둘 다 참이면 'Senior', 그렇지 않으면 'Junior'를 반환하기를 원하기 때문입니다.
G2 셀에는 다음 수식을 입력합니다.
=IF(OR(C2="Full",E2="YES"),"Can travel","Cannot travel")
C2의 값이 'Full'이거나 E2의 값이 'Yes'인 경우 'Can travel', 두 인수 모두 올바르지 않으면 'Cannot travel'이 표시됩니다.
마지막으로, F2 셀에 다음 수식을 입력합니다.
=IF(NOT(B2>50),"Eligible for scholarship","No scholarship")
B2 셀의 값이 50보다 크지 않으면 지원자는 장학금 수혜 자격이 있고, 50보다 크면 장학금이 지급 대상이 아닙니다.
다시 한 번, 세 열 모두에 대한 자동 채우기 핸들을 아래로 끌어서 표의 나머지 행을 채웁니다.
IFERROR 함수
필자는 모든 스프레드시트를 깔끔하게 정리하기 위해 IFERROR를 사용합니다. 스프레드시트에 #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL! 오류가 가득한 스프레드시트를 원하는 사람은 아무도 없습니다. IFERROR는 이를 방지하는 데 도움이 됩니다. 이 예제에서는 10명의 선수의 게임당 득점 비율을 추적하고 있습니다. 이를 위해 다음과 같이 입력했습니다.
=SUM(C2/B2)
셀 D2에 입력한 다음 이 계산을 D 열 전체로 확장했습니다. 하지만 플레이어 C는 아무 게임도 하지 않았기 때문에 나누기 결과는 #DIV/0!입니다.
이 문제를 해결하려면 IFERROR 함수를 기존 수식에 추가합니다. IFERROR 함수는 다음과 같은 형태로 사용합니다.
=IFERROR(x, y)
여기서 x는 수행되는 계산이고, y는 오류가 있을 경우 반환할 값입니다. 쉼표 뒤에 y를 비워두면 Excel은 잘못된 계산에 대한 반환 값으로 0을 돌려줍니다.
D2 셀에 다음 수식을 입력합니다.
=IFERROR(SUM(C2/B2),"-")
그리고 이 수식을 아래로 복사합니다. 계산에 오류가 있을 때마다 대시를 반환하며, 이전보다 훨씬 깔끔해 보입니다.
IS 계열 함수
IS 함수에는 여러 가지가 있으며, 각 함수는 매우 다른 작업을 수행합니다. 필자는 데이터에 오류나 불일치가 있는지 확인하기 위해 IF 함수 내에서 이 함수를 자주 사용합니다. 참고로, IS 계열 함수는 필자가 개인적으로 붙인 것이며, 공식(?) 용어는 아닙니다.
IF 함수와 결합하는 방법을 살펴보기 전에, 각각을 개별적으로 살펴보겠습니다. 모든 IS 함수의 구문은 동일합니다.
=IS[TYPE](a)
여기서 [TYPE]은 사용하려는 IS 함수의 유형이고, a는 평가할 셀 참조 또는 값입니다. 선택할 수 있는 IS 함수의 유형은 다음과 같으며, 아래에서 몇 가지 예를 확인할 수 있습니다.
- ISBLANK: a가 비어 있는지 여부를 테스트합니다.
- ISOMITTED: LAMBDA 함수의 값이 누락되었는지 여부를 테스트합니다.
- ISERROR: a가 오류 값(예: #N/A, #VALUE# 등)인지 여부를 테스트합니다.
- ISERR: a가 #N/A를 제외한 모든 오류 값인지 테스트합니다.
- ISNA: a에 #N/A 오류가 포함되어 있는지 여부를 테스트합니다.
- ISFORMULA: a가 수식인지 여부를 테스트합니다.
- ISLOGICAL: a가 논리 함수에 기반한 논리 값(TRUE 또는 FALSE)을 포함하는지 여부를 테스트합니다.
- ISTEXT: a가 논리 함수를 통해 생성된 텍스트를 포함한 텍스트인지 여부를 테스트합니다.
- ISNONTEXT: 논리 함수를 통해 생성된 텍스트를 포함하여 a가 텍스트(예: 수식 또는 숫자)가 아닌지 여부를 테스트합니다.
- ISNUMBER: 수식을 통해 생성된 숫자를 포함하여 a가 숫자인지 여부를 테스트합니다.
- ISEVEN 또는 ISODD: 사용하는 숫자에 따라 a가 짝수인지 홀수인지 테스트합니다. 이 경우 빈 셀은 짝수로 간주되고 숫자가 아닌 셀은 오류를 반환합니다.
- ISREF: a가 셀 참조인지 여부를 테스트합니다. 예를 들어 a가 (A1)이면 TRUE를 반환하지만, a가 (“apple”)이면 FALSE를 반환합니다.
Excel 스프레드시트에서 이 중 몇 가지를 살펴보겠습니다. 열 B에서 J까지 지정된 IS 함수를 사용하여 열 A의 값을 테스트했습니다.
B2 셀에 다음 수식을 입력했습니다.
=ISBLANK(A2)
G4 셀에는 이렇게 입력했습니다.
=ISNONTEXT(A4)
IS 수식이 서식 있는 Excel 표의 셀을 참조하는 경우 괄호 안의 값은 열 이름이 됩니다. 위의 예에서 다음과 같이 입력합니다.
=ISTEXT([@Value to test])
F1 셀에 값을 입력하면 자동으로 표의 열 F에 있는 다른 셀에도 적용됩니다. IF와 함께 IS 함수를 사용하려면 IS 함수를 IF 안에 포함시켜야 합니다.
=IF(IS[TYPE](a),b,c)
여기서 [TYPE]은 위 목록에서 사용하려는 IS 함수의 유형이고, a는 평가할 셀 참조 또는 값이며, b는 TRUE인 경우 값 또는 수식이고, c는 FALSE인 경우 값 또는 수식입니다.
아래 예에서, 저는 직원들의 일일 이익을 기반으로 예상 주간 이익을 계산하고 싶었지만, 일일 이익이 비어 있으면 메시지를 표시하고 싶었습니다. 이를 위해 C2에 다음 수식을 입력했습니다.
=IF(ISBLANK(B2),"Data required",B2*7)
B2 셀이 비어 있는지 알아내고, B2가 비어 있으면 "Data required"를 반환하거나(B2가 비어 있지 않으면) B2의 값을 7로 곱하기를 원했기 때문에 작성한 수식입니다. 자동 채우기를 사용하여 수식을 나머지 셀에 채워넣습니다.
마치며
Excel의 논리 함수 외에도 INDEX와 MATCH, COUNTIF와 SUM 등 다양한 다른 함수 조합을 사용해 보세요. 이들 함수에 익숙하지 않다면 반드시 시도해 볼 만한 가치가 있습니다.
'Excel' 카테고리의 다른 글
동적 드롭다운 목록으로 Excel을 더 스마트하게 만드는 법 (31) | 2024.11.25 |
---|---|
Excel의 '이름 정의'로 데이터 더 쉽게 관리하는 법 (31) | 2024.11.24 |
Excel TREND 함수로 미래값 예측하는 법 (27) | 2024.11.22 |
Excel에서 생산성을 극대화하는 9가지 방법 (24) | 2024.11.21 |
Excel에서 할 일 목록 만드는 방법 (26) | 2024.11.20 |