40대 비전공자 직장인의 파이썬 독학기 4편: 엑셀 IF 함수와 필터를 대체하는 조건문(if)과 반복문(for) 기초

지금까지 데이터를 담는 그릇인 변수와 자료형(2편), 그리고 엑셀 시트처럼 대량의 데이터를 묶는 리스트와 딕셔너리(3편)를 배웠습니다.

하지만 단순히 데이터를 그릇에 담아두기만 해서는 업무가 줄어들지 않습니다. 우리가 매일 야근하며 하는 일은 “조건에 따라 분류하고(IF)”, “그 작업을 수백 줄에 걸쳐 끝까지 반복하는 것(반복 작업)”입니다.

엑셀에서 수식이 길어지면 괄호 맞추기조차 힘든 중첩 IF문과 매번 마우스로 눌러야 하는 자동 필터 작업을 단 몇 줄의 파이썬 코드로 해결하는 ‘조건문(if)’과 ‘반복문(for)’의 원리를 알기 쉽게 풀어드립니다.

1. 조건문(if): 엑셀 IF 함수를 문장으로 풀어쓰기

엑셀에서 조건에 따라 판정할 때 =IF(조건, 참일 때 값, 거짓일 때 값) 수식을 씁니다.

파이썬의 조건문은 이를 사람이 말하는 문장 그대로 옮겨 적습니다.

Python

# 엑셀: =IF(재고량 <= 5, "재주문 필요", "정상")
stock = 3

if stock <= 5:
    print("경고: 재고가 부족합니다. 재주문이 필요합니다.")
else:
    print("정상: 재고가 충분합니다.")

📌 다중 조건 처리: elif (엑셀의 다중 IF 중첩 대체)

조건이 3개 이상일 때는 엑셀에서 IF 함수 안에 IF를 또 넣어 복잡해지지만, 파이썬에서는 elif (Else If의 줄임말)를 사용해 깔끔하게 나열할 수 있습니다.

Python

score = 85

if score >= 90:
    grade = "A등급 (우수)"
elif score >= 80:
    grade = "B등급 (양호)"
elif score >= 70:
    grade = "C등급 (보통)"
else:
    grade = "D등급 (미달)"

print(f"평가 결과: {grade}")  # 출력: B등급 (양호)
  • 엑셀 다중 IF 함수와 파이썬 조건문 구조 비교도
  • 파이썬 조건문은 복잡한 괄호 없이 위에서부터 순차적으로 조건을 검사하여 가독성이 뛰어납니다.

2. 파이썬 문법의 핵심: 콜론(:)과 들여쓰기(Indentation)

초보자가 가장 많이 실수하는 부분이 바로 ‘들여쓰기(Tab 키 또는 스페이스 4칸)’입니다.

  1. 조건식 끝에는 반드시 콜론(:)을 붙여 “여기서부터 실행할 내용이 시작된다”고 알려줍니다.
  2. 조건이 참일 때 실행할 명령어는 반드시 안쪽으로 한 칸 들여써야(Indent) 합니다.

Python

# 올바른 예시
if stock < 5:
    print("주문 필요")  # 들여쓰기 적용 (Tab 키 1번)

# 잘못된 예시 (IndentationError 발생)
if stock < 5:
print("주문 필요")      # 들여쓰기가 없어 에러 발생!
  • 파이썬 들여쓰기(Indentation) 및 콜론 문법 강조 캡처
  • 조건문 뒤 콜론(:)을 입력하고 줄을 바꾸면 VS Code가 자동으로 올바른 들여쓰기 위치를 잡아줍니다.

3. 반복문(for): 엑셀 수식 드래그(자동 채우기)를 1초 만에 실행하기

엑셀에서는 1행에 수식을 넣고 마우스로 더블클릭하거나 아래로 쭉 끌어내려 수천 행을 계산합니다.

파이썬의 for 반복문은 리스트 안에 있는 데이터를 첫 번째부터 마지막 항목까지 하나씩 꺼내어 동일한 작업을 일괄 처리합니다.

Python

# 엑셀 열에 적힌 품목 리스트
items = ["노트북", "모니터", "키보드", "마우스"]

# items 리스트에서 하나씩 꺼내 item 변수에 담고 반복
for item in items:
    print(f"현재 검수 중인 품목: {item}")
  • 출력 결과:Plaintext현재 검수 중인 품목: 노트북 현재 검수 중인 품목: 모니터 현재 검수 중인 품목: 키보드 현재 검수 중인 품목: 마우스

4. 실전 종합: 수백 개 재고 데이터에서 ‘품절 임박 품목’ 자동 추출하기

이제 조건문(if)과 반복문(for)을 결합하여, 실제 업무에서 가장 많이 하는 “특정 기준 미달 품목 필터링 및 알림” 스크립트를 작성해 봅니다.

Python

# 3편에서 다룬 엑셀 시트 형태의 재고 테이블
inventory = [
    {"name": "사무용 노트북", "stock": 2, "price": 1200000},
    {"name": "27인치 모니터", "stock": 15, "price": 280000},
    {"name": "무선 마우스", "stock": 4, "price": 35000},
    {"name": "기계식 키보드", "stock": 20, "price": 89000},
    {"name": "C타입 케이블", "stock": 1, "price": 8000}
]

print("=== [긴급] 재고 부족 품목 발주 리스트 ===")

# for문으로 표 전체를 한 줄씩 순회
for product in inventory:
    # if문으로 재고가 5개 이하인 상품만 필터링
    if product["stock"] <= 5:
        print(f"⚠️ 품목명: {product['name']} | 현재 재고: {product['stock']}개 -> [발주 필요]")

print("========================================")

실행 결과

Plaintext

=== [긴급] 재고 부족 품목 발주 리스트 ===
⚠️ 품목명: 사무용 노트북 | 현재 재고: 2개 -> [발주 필요]
⚠️ 품목명: 무선 마우스 | 현재 재고: 4개 -> [발주 필요]
⚠️ 품목명: C타입 케이블 | 현재 재고: 1개 -> [발주 필요]
========================================

수천 줄의 엑셀 파일이어도 코드는 바뀌지 않습니다. 이 짧은 10줄의 코드가 바로 사내 엑셀 업무 자동화의 핵심 엔진입니다.

  • 파이썬 for문과 if문을 활용한 재고 필터링 실습 결과
  • 리스트 순회와 조건 필터링을 결합하면 대량의 엑셀 데이터에서 원하는 정보만 즉시 추출할 수 있습니다.

40대 직장인을 위한 실무 요약

  • if - elif - else: 복잡한 중첩 IF 함수를 직관적인 문장 형태로 처리
  • 콜론(:)과 들여쓰기(Tab): 파이썬이 조건에 포함된 실행 블록을 인식하는 절대 규칙
  • for 변수 in 리스트:: 엑셀의 수식 복사/채우기처럼 데이터 목록을 처음부터 끝까지 자동 일괄 처리
  • 반복문 + 조건문 조합: 대용량 업무 데이터 필터링 및 자동화의 핵심 기본기

자주 묻는 질문 (FAQ)

Q1. IndentationError: unexpected indent 에러는 왜 발생하나요?

  • A. 들여쓰기 규칙이 맞지 않을 때 발생하는 에러입니다. 스페이스(공백)와 Tab 키를 섞어서 쓰거나, 들여쓰지 않아야 할 곳에 공백이 들어갔는지 확인하세요. VS Code에서는 Tab 키 1번(기본 공백 4칸)으로 통일하는 것이 안전합니다.

Q2. 두 가지 조건을 동시에 만족해야 할 때는 어떻게 쓰나요?

  • A. 엑셀의 ANDOR 함수처럼 파이썬에서는 and, or 단어를 그대로 사용합니다.예: if stock <= 5 and price >= 100000: (재고가 5개 이하이면서 단가가 10만 원 이상일 때)

Q3. 반복문 실행 도중 특정 조건에서 멈추거나 건너뛸 수 있나요?

  • A. 네, 가능합니다. 반복문을 즉시 중단하고 빠져나올 때는 break를 사용하고, 해당 항목만 건너뛰고 다음 항목으로 넘어갈 때는 continue를 사용합니다.

▶ Next Step · 파이썬 독학기 5편

반복되는 계산 공식을 나만의 전용 명령어로 만드는 마법! 파이썬 함수 완벽 정리

👉 5편: 엑셀 사용자 정의 함수(VBA)보다 쉬운 파이썬 함수(def) 만들기 보러가기 →

댓글 남기기