728x90
[문제점]
1 | 예전 데이터(2021년~) 누적 -> 시트의 무거움 |
2 | 매번 처리를 위해 아래로 드래그 해야하는 상황 > 빠르게 처리해야할 데이터 찾기에 시간 소요 |
3 | 이미 완료된 건 + 미처리 건 혼재 -> 이미 완료된 건은 숨김 OR 삭제 진행 필요 |
[해결책]
Description | |
1 | 확장프로그램 - Apps script 클릭 |
2 | Appas script에 코드 작성 - (시트 담당인) A팀, B팀 검토가 끝난 건은 자동 숨김 진행 |
3 | 트리거 설정 *자동으로 하기 위함 |
[해결 후]
Description | |
1 | ‘O’열과 ‘R’열이 모두 ‘완료’글자가 첨부되면 자동으로 숨김 진행 |
2 | 입력 시 자동으로 진행 |
3 | 숨김처리 한 것 필요시 숨김해제 가능 |
[상황]
[코드]
function hideCompletedRows() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('시트이름');
var lastRow = sheet.getLastRow();
if (lastRow < 2) return; // 처리할 데이터가 없으면 종료
// O열과 R열의 값을 한 번에 가져오기
var data = sheet.getRange('O2:R' + lastRow).getDisplayValues();
var rowsToHide = [];
// 모든 행을 반복하여 확인
for (var i = 0; i < data.length; i++) {
var cellO = data[i][0]; // O열
var cellR = data[i][3]; // R열
// 조건 확인
if (cellO.includes('확인완료') && cellR.includes('완료')) {
rowsToHide.push(i + 2); // 숨겨야 할 행 인덱스 저장 (헤더를 고려하여)
}
}
// 숨길 행이 있다면 한 번에 숨김
if (rowsToHide.length > 0) {
var rowsToHideUnique = [...new Set(rowsToHide)]; // 중복 제거
// 최대한 빠르게 여러 행을 한 번에 숨김
for (var j = 0; j < rowsToHideUnique.length; j++) {
sheet.hideRows(rowsToHideUnique[j]);
}
}
}
'프로그래밍 > 프로젝트' 카테고리의 다른 글
[Apps script] 문자보내는 당일일자 자동입력 (1) | 2024.10.30 |
---|---|
[Apps script] 문자발송 내역 업데이트 (0) | 2024.10.29 |
The spreadsheet row number is being used as a key in the table '시트 이름'. It's best to include an 'ID' column in the table. 오류해결 (0) | 2024.10.23 |
자동으로 구글챗 알림가도록 하는 웹 훅 만들기 (1) | 2024.10.21 |
[앱스스크립트] 자동으로 pdf로 저장하는 방법 (2) | 2024.09.26 |
댓글