MoonNote

반응형
     

 

 

 

엑셀 실습 파일

예제 코드 실행 후 생성

 

엑셀 파일 구성

예제 코드 01 실행 후 : 엑셀 파일 생성

conditional_formatting_example.xlsx

 

예제 코드 02 실행 후 : 엑셀 파일 생성

▪conditional_formatting_formula_example.xlsx

 

예제 코드 01 - 지정 값 이상일 경우 배경색 변경

값이 80 이상인 셀에 대해 배경색 변경하기

▪ 'CellsRule'을 사용하여 조건 설정

'PatternFill'을 사용하여 배경색 지정

from openpyxl import Workbook
from openpyxl.styles import PatternFill
from openpyxl.formatting.rule import CellIsRule

# 새 워크북과 워크시트 생성
wb = Workbook()
ws = wb.active

# 예제 데이터 추가
data = [
    ["학생", "점수"],
    ["Alice", 75],
    ["Bob", 85],
    ["Charlie", 95],
    ["David", 70]
]

for row in data:
    ws.append(row)

# 조건부 서식 규칙 설정: 점수가 80 이상일 때 셀 배경을 초록색으로 변경
fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")
rule = CellIsRule(operator="greaterThanOrEqual", formula=["80"], fill=fill)
ws.conditional_formatting.add("B2:B5", rule)

# 워크북 저장
wb.save("conditional_formatting_example.xlsx")

 

▪ 결과 값

엑셀 파일 구성 ' 예제 코드 01 실행 후 생성된 파일 정보' 이미지 참조

 

예제 코드 02 - 수식을 이용한 조건부 서식 적용

수익이 음수인 경우 글꼴 빨강색으로 변경

'FormulaRule'을 사용하여 수식 기반 조건부 서식 설정

from openpyxl import Workbook
from openpyxl.styles import Font
from openpyxl.formatting.rule import FormulaRule

# 새 워크북과 워크시트 생성
wb = Workbook()
ws = wb.active

# 예제 데이터 추가
data = [
    ["이름", "수익"],
    ["A", 1000],
    ["B", 1500],
    ["C", -500],
    ["D", 2000],
    ["E", -100]
]

for row in data:
    ws.append(row)

# 조건부 서식 규칙 설정: 수익이 음수인 경우 글꼴 색을 빨간색으로 변경
font = Font(color="FF0000")
rule = FormulaRule(formula=["B2<0"], font=font)
ws.conditional_formatting.add("B2:B6", rule)

# 워크북 저장
wb.save("conditional_formatting_formula_example.xlsx")

 

▪ 결과 값

엑셀 파일 구성 ' 예제 코드 02 실행 후 생성된 파일 정보' 이미지 참조

 

NOTE : 조건부 서식 설정시 주의 사항

서식의 순서:

복수의 조건부 서식이 적용되는 경우, 규칙의 순서에 따라 최종 서식이 결정

범위 설정:

잘못된 범위를 지정하면 의도치 않은 셀에 서식이 적용될 수 있으므로 서식 적용 범위는 정확히 설정

복잡한 수식 사용:

계산 속도에 영향을 줄 수 있는 복잡한 수식은 되도록 지양 → 수식의 정확성과 효율성을 고려할 것

 

 

Openpyxl 함수 모음

 

 

 

 

 

 

 

 

 

※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band