골든래빗은 더 탁월한 가치를 제공하는 콘텐츠 프로덕션 & 프로바이더 입니다. 골든래빗은 취미, 경제, 수험서, 만화, IT 등 다양한 분야에서 책을 제작하고 있습니다.골든래빗은 더 탁월한 가치를 제공하는 콘텐츠 프로덕션 & 프로바이더 입니다. 골든래빗은 취미, 경제, 수험서, 만화, IT 등 다양한 분야에서 책을 제작하고 있습니다.

[ChatGPT] 챗GPT와 함께 앱스 스크립트 조건부 서식 만들기 | 구글 시트, 스프레드시트

2024년 11월 6일조회 116

보통 스프레드시트의 조건부 서식 기능으로 처리합니다. 조건부 서식은 앱스 스크립트에서도 할 수 있습니다. 한 번에 여러가지 조건부 서식을 적용하고 싶을 때 유용하게 쓰일 겁니다. 교통사고 시트로 돌아가 이 작업을 다시 해봅시다.

[ChatGPT] 챗GPT와 함께 앱스 스크립트 조건부 서식 만들기 | 구글 시트, 스프레드시트

이 글은 [이게 되네? 업무 자동화 미친 활용 앱스 스크립트 with 챗GPT]에서 발췌했습니다.

글 서휘승 / 골든래빗 출판사

보통 스프레드시트의 조건부 서식 기능으로 처리합니다. 조건부 서식은 앱스 스크립트에서도 할 수 있습니다. 한 번에 여러가지 조건부 서식을 적용하고 싶을 때 유용하게 쓰일 겁니다. 교통사고 시트로 돌아가 이 작업을 다시 해봅시다.

조건부 서식 만들기

조건부 서식은 newConditionalFormatRule( ) 메서드를 이용하면 됩니다. 이때 조건부 서식은 규칙을 생성하는 코드와, 규칙을 적용하는 코드로 나눠 실행해야 합니다. 무슨 말인지는 다음 기본형 코드를 보며 이야기합시다.

Use a different Browser

// ➊ 조건부 서식 규칙 생성 const rule = SpreadsheetApp.newConditionalFormatRule() .whenTextEqualTo(비교할 텍스트) .setBackground(음영 색상) // 음영 색상 설정 .setBold(true) // 폰트 굵기 설정 .setUnderline(true) // 폰트 밑줄 설정 .setRanges([applyRange]) // 적용할 범위 설정 .build(); // ➋ 조건부 서식 규칙 적용 rules = sheet.getConditionalFormatRules(); rules.push(rule); sheet.setConditionalFormatRules(rules);

① newConditionalFormatRule( ) 메서드부터 체이닝 방식으로 옵션 메서드들이 쭉 이어져 있습니다. 이어진 메서드들 중 whenTextEqualTo( ) 메서드만 조건과 관련된 것입니다. 나머지는 모두 서식 옵션과 관련된 것입니다. whenTextEqualTo( ) 메서드 외에 자주 사용하는 조건 메서드는 다음과 같습니다.

whenTextEqualTo(text) : text와 일치하는 경우

whenTextContains(text) : text가 포함되어 있을 경우

whenNumberBetween(start, end) : start와 end 사이에 값이 있거나 일치할 경우

whenNumberEqualTo(number) : 숫자가 number와 같을 경우

whenNumberGreaterThan(number) : 숫자가 number보다 크거나 같을 경우

whenNumberLessThan(number) : 숫자가 number보다 작거나 같을 경우

이렇게 조건부 서식을 설정하면 셀에 바로 반영되지 않습니다. ②와 같이 규칙을 불러온 다음 규칙을 푸시하고 setConditionalFormantRules( ) 메서드를 적용해야 합니다. 그럼 이대로 코드를 작성해봅시다. 여기서는 ‘차대차’ 항목만 강조하는 조건부 서식을 적용해봅니다. 텍스트가 일치해야 하므로 whenTextEqualTo( ) 메서드를 사용합니다.

Use a different Browser

// 조건부 서식 적용 function setConditionalFormattingEqualText() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('교통사고'); // ➊ 기존에 존재하는 조건부 서식 제거 sheet.clearConditionalFormatRules(); // ➋ 조건부 서식을 생성할 범위를 선택 const applyRange = sheet.getRange('A4:A' + sheet.getLastRow()); // ➌ 조건부 서식 규칙 생성 const rule = SpreadsheetApp.newConditionalFormatRule() .whenTextEqualTo('차대차') .setBackground('yellow') .setBold(true) .setUnderline(true) .setRanges([applyRange]) .build(); // ➍ 시트에 조건부 서식을 적용 var rules = sheet.getConditionalFormatRules(); rules.push(rule); sheet.setConditionalFormatRules(rules); }

① ~ ② 기존 조건부 서식을 제거하고 새 조건부 서식을 지정할 범위를 지정합니다.

③ newConditionalFormatRule( ) 메서드로 조건부 서식 규칙을 생성합니다. ‘차대차’라는 텍스트와 일치하는 셀을 찾아 나머지 체이닝 메서드로 옵션을 지정합니다.

④ 실질적으로 조건부 서식은 여기서 반영됩니다. getConditionalFormatRules( ) 메서드로 해당 시트에 기록된 조건부 서식 규칙을 가져와 push( ) 메서드로 추가하고, setConditionalFormatRules( ) 메서드로 조건부 서식을 적용합니다.

사고유형중분류에서 ‘충돌’이 포함된 것만 조건부 규칙을 적용하려면?

다른 규칙을 적용하는 조건부 서식을 만들고 싶다면 챗GPT에게 요청하면 됩니다. setConditionalFormattingEqualText( ) 함수를 보여주고 응용해보겠습니다.

[프롬프트]

이런 앱스 스크립트가 있는데 B2:B21, C2:C21에 있는 값이 ‘충돌’을 포함하고 있으면 빨간색 음영, 볼드로 표시할 수 있도록 개선해줄래?

[응답]

아래 코드는 주어진 범위 (B2:B21, C2:C21) 내에 ‘충돌’을 포함하는 값이 있는지 확인하고, 해당 셀을 빨간색 음영과 볼드로 표시합니다.

Use a different Browser

function setConditionalFormattingEqualText() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('교통사고'); // 기존 조건부 서식 제거 sheet.clearConditionalFormatRules(); // 조건부 서식을 생성할 범위를 선택 const applyRange = sheet.getRange('B2:C21'); // 조건부 서식 규칙 생성 const rule = SpreadsheetApp.newConditionalFormatRule() .whenTextContains('충돌') // ➊ .setBackground('red') .setBold(true) .setRanges([applyRange]) .build(); // 시트에 조건부 서식을 적용 var rules = sheet.getConditionalFormatRules(); rules.push(rule); sheet.setConditionalFormatRules(rules); }

챗GPT가 앞에서 배운 메서드인 ① whenTextContains( )를 사용하여 ‘충돌’이 포함된 텍스트에 대하여 조건부 서식을 적용했습니다. 이렇게 메서드 이름을 몰라도 기존 코드를 이용하여 개선하는 방식의 질문을 하면 다른 조건부 서식도 쉽게 적용할 수 있을 겁니다.

더 많은 업무 자동화 방법은 신간 <이게 되네? 업무 자동화 미친 활용 앱스 스크립트 with 챗GPT>를 참고하세요!

서휘승 

ERP, 핀테크 등 다양한 도메인에서 백엔드 개발을 두루 경험하며, 안정적이고 확장 가능한 시스템을 개발하는 다양한 경험을 쌓아왔습니다. 데이터의 중요성을 깊이 인식하고, 데이터 엔지니어로서 다양한 파이프라인을 구축했습니다. 현재는 클라우드 MSP 기업인 클루커스의 Gen AI 팀에서 애저 OpenAI를 활용한 맞춤형 인공지능 솔루션을 개발하고 있습니다.

앱스 스크립트와 구글 클라우드 플랫폼을 활용한 업무 자동화 프로젝트를 성공적으로 완수했고, 이후 앱스 스크립트의 매력에 빠져 다양한 분야에서 업무 자동화를 구현하고 확장하기 위해 고민하고 있습니다.

블로그 : whiseung.tistory.com

링크드인 : linkedin.com/in/seo-whiseung-b5428827

교보문고 바로가기

예스24 바로가기

알라딘 바로가기

AI AI Coding AI 코딩 AI 페어 코딩 AI 페어 프로그래밍 AI시대 AI챗봇 AI코딩 AI코리빙 AI코워킹 AI활용법 claude claude3 copilot github LLM MS openAI PPT생성 PPT작성 개발자 개발팀장 경력 경력관리 경영일반 경영전략 경쟁사분석 관리자 그랩 기계학습 깃허브 넥슨 당근 당근마켓 데이터베이스 데이터분석 데이터분석가 디자인 패턴 딥러닝 마이크로소프트 매니저 머스크 머신러닝 미드저니 미래전망 박종천 보고서작성 블리자드 사업계획서 삼성전자 샘 올트먼 샘알트먼 샘올트먼 생산성 생성형AI 성공학 성장 소프트스킬 스크럼 스타트업 스타트업얼라이언스 스테이블디퓨전 스티브잡스 시간관리 시장분석 시장조사 실리콘밸리 애자일 업무자동화 엑셀 엑셀함수 엔비디아 오픈AI 유니콘 이력관리 이미지생성 이미지인식 이직 인공지능 인적자원관리 인터넷비즈니스 일론머스크 자기계발 자동화 잡스 조직관리 챗GPT 챗GPT시대 챗봇 취업 커리어 커리어패스 코드스페이스 코딩 코딩테스트 코리빙 코워킹 코파일럿 클로드 트렌드 트렌드코리아 티타임즈 파이썬 패스트캠퍼스 패캠 페어 코딩 페어 프로그래밍 프로그래머 프로그래머스 하스스톤

Related News

[Agent] AI 에이전트 프로토콜, 구글 A2A 개념부터 원리 실습하기

[Python] 파이썬으로 엑셀 다루기 | ❷ 엑셀 데이터 사용하기

[Python] 파이썬으로 엑셀 다루기 | ❶ 엑셀 데이터 사용하기

[Python] 아나콘다 설치하기 | Anaconda, 파이썬, 주피터 노트북, 단축키

골든래빗 2024-11-06

📚 더 읽기