📊 구글 시트 조건부 함수 완전 가이드

한 페이지에서 익히는 모든 조건부 함수와 활용법

📐 기초 개념: 행, 열, 키 이해하기

인터랙티브 그리드 다이어그램

A
B
C
D
1
학번
이름
점수
학과
2
2023001
김철수
85
컴퓨터학과
3
2023002
이영희
92
경영학과
4
2023003
박민수
78
물리학과
⬅️➡️

행 (Row)

가로 방향으로 배열된 셀들의 집합으로, 숫자로 식별됩니다. 하나의 레코드나 개체의 모든 정보를 담습니다.

⬆️⬇️

열 (Column)

세로 방향으로 배열된 셀들의 집합으로, 알파벳으로 식별됩니다. 같은 속성의 데이터를 담습니다.

🔑

키 (Key)

각 행을 고유하게 식별할 수 있는 값입니다. 중복되면 안 되는 고유 식별자 역할을 합니다.

🔍 LOOKUP 함수군: 데이터 검색의 핵심

VLOOKUP

=VLOOKUP(search_key, range, index, is_sorted)

세로 방향으로 값을 검색하여 같은 행의 다른 열 값을 반환합니다.

예제:

=VLOOKUP("김철수", A2:D10, 3, FALSE)

A2:D10 범위에서 "김철수"를 찾아 3번째 열의 값 반환

HLOOKUP

=HLOOKUP(search_key, range, index, is_sorted)

가로 방향으로 값을 검색하여 같은 열의 다른 행 값을 반환합니다.

예제:

=HLOOKUP("1월", A1:M3, 2, FALSE)

가로로 배치된 월별 데이터에서 "1월"의 값 찾기

XLOOKUP

=XLOOKUP(search_key, lookup_range, result_range, missing_value)

양방향 검색을 지원하는 더 유연한 검색 함수입니다.

예제:

=XLOOKUP(A2, B:B, C:C, "없음")

A2 값을 B열에서 찾아 C열의 대응값 반환, 없으면 "없음" 표시

언제 어떤 함수를 사용할까요?

함수 검색 방향 장점 제한사항 추천 상황
VLOOKUP 세로 (↓) 가장 널리 사용됨 왼쪽 열에서만 검색 일반적인 데이터 테이블
HLOOKUP 가로 (→) 가로 배치 데이터에 적합 첫 번째 행에서만 검색 월별/분기별 데이터
XLOOKUP 양방향 가장 유연함 구버전에서 지원 안됨 복잡한 검색 요구사항

⚡ IF 함수군: 조건부 로직의 마스터

IF

=IF(logical_expression, value_if_true, value_if_false)

조건에 따라 다른 값을 반환하는 기본 조건함수입니다.

예제:

=IF(A1>80, "합격", "불합격")
=IF(AND(A1>60, B1>60), "통과", "재시험")

IFS

=IFS(condition1, value1, condition2, value2, ...)

여러 조건을 순차적으로 평가하여 해당하는 값을 반환합니다.

예제:

=IFS(A1>=90, "A", A1>=80, "B", A1>=70, "C", TRUE, "F")

점수에 따른 등급 부여 (90이상=A, 80이상=B, 70이상=C, 나머지=F)

IFERROR

=IFERROR(value, value_if_error)

오류 발생 시 대체값을 반환하여 에러를 방지합니다.

예제:

=IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "미등록")

VLOOKUP에서 값을 찾지 못하면 "미등록" 표시

조건부 집계 함수들

SUMIF / SUMIFS

=SUMIF(A:A, ">=100", B:B)

조건에 맞는 값들의 합계를 구합니다.

COUNTIF / COUNTIFS

=COUNTIF(A:A, "합격")

조건에 맞는 셀의 개수를 세어줍니다.

AVERAGEIF / AVERAGEIFS

=AVERAGEIF(A:A, ">80", B:B)

조건에 맞는 값들의 평균을 구합니다.

📊 QUERY 함수: SQL과 같은 강력한 데이터 조작

QUERY 함수는 SQL과 유사한 문법으로 데이터를 필터링, 정렬, 집계할 수 있는 강력한 함수입니다.

기본 필터링

=QUERY(A:E, "SELECT * WHERE B > 50")

B열 값이 50보다 큰 모든 행을 선택합니다.

문자열 검색

=QUERY(A:E, "SELECT * WHERE C CONTAINS '서울'")

C열에 '서울'이 포함된 모든 행을 선택합니다.

복합 조건

=QUERY(A:E, "SELECT * WHERE B > 50 AND C = '개발부'")

B열이 50보다 크고 C열이 '개발부'인 행을 선택합니다.

정렬과 제한

=QUERY(A:E, "SELECT * ORDER BY B DESC LIMIT 10")

B열을 기준으로 내림차순 정렬하여 상위 10개 행만 표시합니다.

QUERY 연산자 가이드

논리 연산자

  • AND - 그리고
  • OR - 또는
  • NOT - 아님

문자열 연산자

  • CONTAINS - 포함
  • STARTS WITH - ~로 시작
  • ENDS WITH - ~로 끝남
  • MATCHES - 정규식 매치

날짜 함수

  • YEAR() - 연도 추출
  • MONTH() - 월 추출
  • DAY() - 일 추출

🔗 IMPORTRANGE: 외부 데이터 연동

IMPORTRANGE

=IMPORTRANGE("spreadsheet_url", "range_string")

다른 구글 시트에서 데이터를 가져올 수 있습니다.

예제:

=IMPORTRANGE("1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms", "Class Data!A2:E")

지정된 시트의 'Class Data' 탭에서 A2:E 범위 데이터 가져오기

IMPORTRANGE 활용 팁

💡 권한 설정

처음 사용 시 소스 시트에 대한 액세스 권한을 허용해야 합니다.

⚡ 성능 최적화

필요한 범위만 지정하여 불필요한 데이터 로딩을 피하세요.

🔄 실시간 업데이트

소스 데이터가 변경되면 자동으로 반영됩니다.

🚨 일반적인 오류와 해결방법

#N/A

원인: 검색값을 찾을 수 없음
해결: IFNA 함수로 감싸서 사용자 정의 메시지 표시
=IFNA(VLOOKUP(A1, B:C, 2, FALSE), "찾을 수 없음")

#REF!

원인: 잘못된 참조 범위
해결: 올바른 셀 범위 확인 및 수정
  • 삭제된 행/열 참조 확인
  • 범위 선택 다시 확인
  • 절대 참조($) 사용 고려

#VALUE!

원인: 잘못된 데이터 타입
해결: 데이터 타입 확인 및 변환
  • 숫자가 텍스트로 저장되었는지 확인
  • VALUE() 함수로 텍스트를 숫자로 변환
  • 따옴표 사용법 확인

💡 모범 사례

1. 절대 참조 사용

복사 시 범위가 변하지 않도록 $ 기호를 활용하세요.

$A$1:$C$10

2. 오류 처리

IFERROR, IFNA 함수로 사용자 친화적인 메시지를 제공하세요.

3. 데이터 검증

입력 전에 데이터 형식과 범위를 확인하세요.