Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Excel

Excel에서 항상 사용하는 최고의 논리 함수 3가지

권현욱(엑셀러) 2024. 11. 23. 13:48
반응형

들어가기 전에

Excel의 논리 함수는 작업을 실행하기 전에 문장이나 데이터가 참인지 거짓인지 테스트하는 함수입니다. 논리 함수는 데이터 분석, 특정 작업이나 계산 자동화, 의사결정 등에 필수적입니다. 특히 유용하다고 생각되는 세 가지 논리 함수와 실제 상황에서 이를 최대한 활용하는 방법을 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft Excel MVP · 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 열)?

 

이미지: howtogeek

 

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의 자동 채우기 기능을 사용하여 수식을 나머지 행에 복사합니다.

 

이미지: howtogeek

 

조건이 충족되었는지 여부에 따라 각 출력이 참 또는 거짓으로 표시되는 것을 확인할 수 있습니다. 이 방법도 편리하지만 특정 표시 단어나 문구를 사용하면 훨씬 더 유용할 수 있습니다. 설정된 조건에 따라 특정 값을 반환하는 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보다 크면 장학금이 지급 대상이 아닙니다.

 

다시 한 번, 세 열 모두에 대한 자동 채우기 핸들을 아래로 끌어서 표의 나머지 행을 채웁니다.

 

이미지: howtogeek

 

IFERROR 함수

필자는 모든 스프레드시트를 깔끔하게 정리하기 위해 IFERROR를 사용합니다. 스프레드시트에 #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL! 오류가 가득한 스프레드시트를 원하는 사람은 아무도 없습니다. IFERROR는 이를 방지하는 데 도움이 됩니다. 이 예제에서는 10명의 선수의 게임당 득점 비율을 추적하고 있습니다. 이를 위해 다음과 같이 입력했습니다.

=SUM(C2/B2)

 

셀 D2에 입력한 다음 이 계산을 D 열 전체로 확장했습니다. 하지만 플레이어 C는 아무 게임도 하지 않았기 때문에 나누기 결과는 #DIV/0!입니다.

 

이미지: howtogeek

 

이 문제를 해결하려면 IFERROR 함수를 기존 수식에 추가합니다. IFERROR 함수는 다음과 같은 형태로 사용합니다.

=IFERROR(x, y)

 

여기서 x는 수행되는 계산이고, y는 오류가 있을 경우 반환할 값입니다. 쉼표 뒤에 y를 비워두면 Excel은 잘못된 계산에 대한 반환 값으로 0을 돌려줍니다.

 

D2 셀에 다음 수식을 입력합니다.

=IFERROR(SUM(C2/B2),"-")

 

그리고 이 수식을 아래로 복사합니다. 계산에 오류가 있을 때마다 대시를 반환하며, 이전보다 훨씬 깔끔해 보입니다.

 

이미지: howtogeek

 

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의 값을 테스트했습니다.

 

이미지: howtogeek

 

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로 곱하기를 원했기 때문에 작성한 수식입니다. 자동 채우기를 사용하여 수식을 나머지 셀에 채워넣습니다.

 

이미지: howtogeek

 

마치며

Excel의 논리 함수 외에도 INDEX와 MATCH, COUNTIF와 SUM 등 다양한 다른 함수 조합을 사용해 보세요. 이들 함수에 익숙하지 않다면 반드시 시도해 볼 만한 가치가 있습니다.