엑셀 실습 파일
▪예제 코드 실행 후 생성
엑셀 파일 구성
예제 코드 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)
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 함수 모음
※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.