본문 바로가기
구글시트 함수소개-기초

IF함수(중첩, 배열기능과 결합 등) - 구글 스프레드시트

by 오토시트 2021. 10. 15.

IF함수란?

 

구글스프레드시트 IF함수는 조건(논리표현식)의 참, 거짓에 따라 다른 결과를 반환하도록 합니다. 조건이 'TRUE'인 경우 특정 값을 반환하고, 'FALSE'인 경우 다른 값을 반환합니다. ARRAYFORMULA함수와 결합하여 배열기능으로 사용할 때 더욱 유용합니다.

 

=IF(논리 표현식, TRUE인 경우 값, FALSE인 경우 값)

 

논리 표현식 : 'TRUE'와 'FALSE'의 결과를 반환하는 식

TRUE인 경우 값 : 논리 표현식의 결과가 TRUE인 경우 표시되는 값

FALSE인 경우 값 : 논리 표현식의 결과가 FALSE인 경우 표시되는 값

 

 

 

IF함수 예제 스프레드시트

 

아래 예제들은 공유(보기 권한)된 구글 스프레드시트에서 확인하실 수 있습니다. 아래 예제 스프레드시트를 참고해주세요(파일 - 사본만들기 후 사용) 

 

예제 스프레드시트 : https://bit.ly/3pbqSk1

 

※ 예제에 사용된 정보는 가상의 데이터입니다.

 

 

 

IF함수 기본 사용법

 

아래 사진에서 A+B의 정답, 오답여부를 D2셀에 표시해보겠습니다.

 

 

D2셀에 아래 함수를 입력해주세요. A2+B2의 합계가 맞으면 '정답'으로 표시하고, 그렇지 않으면 '오답'으로 표시하라는 의미입니다.

 

=IF(A2+B2=C2,"정답","오답")

 

 

결과는 다음과 같습니다. A2+B2=C2의 결과가 'TRUE' 이므로 D2셀에 '정답'이 표시됩니다.

 

 

 

A2셀의 숫자 5를 6으로 바꿔보겠습니다. A2+B2=C2의 결과가 'FALSE' 이므로 D2셀에 '오답'이 표시됩니다.

 

 

 

 

IF함수를 여러번 사용할 수 있나요?

 

가능합니다. 아래 자료에 나이를 기준으로 D2셀에 미성년자, 성인, 노인 여부를 표시해보겠습니다.

 

 

D2셀에 아래 함수를 입력해주세요.

 

=IF(C2<=19,"미성년자",IF(C2<=69,"성인","노인"))

 

1. 나이가 19세 이하인 경우 '미성년자'로 표시하고, 그렇지 않은 경우(나이가 20세 이상) 중에서

2. 나이가 69세 이하인 경우 '성인'으로 표시하고 그렇지 않은 경우는 '노인'으로 표시

 

하라는 의미입니다.

 

결과는 다음과 같습니다. 나이를 변경하면 잘 적용이 됩니다. 조건이 아무리 많아져도 분리해서 생각하면 간단합니다.

 

D2열에 IF함수 여러개 입력

 

배열함수(ARRAYFORMULA)와 사용하기

 

배열함수 ARRAYFORMULA 함께 사용하면 훨씬 효율적입니다. 아래 자료 D2열에 수식을 한번 입력하여 열 전체에 반영할 수 있습니다.

 

 

D2열에 아래 함수를 입력해주세요. 범위를 C2:C로 하고 ARRAYFORMULA함수로 감싸주면 됩니다. 

 

=ARRAYFORMULA(IF(C2:C<=19,"미성년자",IF(C2:C<=69,"성인","노인")))

 

결과는 다음과 같습니다. 함수 한번의 입력으로 D열 전체가 반영됐습니다.

 

D2열 수식 한번입력으로 D열 전체 계산

 

그런데 61행 이후에 데이터가 없음에도 '미성년자'로 표시되는 문제가 있습니다. ARRAYFORMULA함수 바로 다음에 IF함수로 조건을 추가하면 해결됩니다. C2:C의 범위가 비어있으면 비워놓고, 비어있지 않은 경우엔 기존 수식을 입력하라는 의미입니다.

 

=ARRAYFORMULA(IF(C2:C="","",IF(C2:C<=19,"미성년자",IF(C2:C<=69,"성인","노인"))))

 

아래 결과와 같이 C열에 데이터가 없는 경우 더 이상 '미성년자'가 표시되지 않습니다.

 

C2:C가 비어있으면 비워놓는 조건 추가

 

 

 

배열함수와 사용할 때 조건을 OR로 지정할 수 있나요?

네. 조건을 괄호로 감싸준 다음 + 해주시면 됩니다. 아래 사진에서 주소에 서울 또는 경기도가 포함된 경우 E2셀에 '수도권'이라고 표시해보겠습니다. 

 

 

E2셀에 아래 함수를 입력해주세요.

 

=ARRAYFORMULA(IF((REGEXMATCH(B2:B,"경기도"))+(REGEXMATCH(B2:B,"서울")),"수도권",""))

 

결과는 다음과 같습니다. 주소에 '경기도' 또는 '서울'이 포함된 경우 E2열에 '수도권'이라고 표시했습니다. 참고로 설명드리면, TRUE는 1을, FALSE는 0을 의미합니다. 이를 이용하여 각 조건을 감싼다음 더해주면 적용이 됩니다. 

 

 

여기에 조건 '미성년자'를 추가하려면(AND조건이므로) OR조건 다음에 괄호로 감싸고 곱하기(*)를 해주면 됩니다. F2셀에 아래 함수를 입력해주세요.

 

=ARRAYFORMULA(IF((REGEXMATCH(B2:B,"경기도")+REGEXMATCH(B2:B,"서울"))*(D2:D="미성년자"),"수도권",""))

 

주소에 '경기도' 또는 '서울'이 포함되고(OR) '미성년자'인 사람(AND)만 F열에 '수도권'이라고 표시됐습니다.

 

 

 

관련영상

댓글