728x90
[코드]
function updateDateOnEdit(e) {
var sheet = e.source.getActiveSheet();
// '시트1' 시트에서만 동작하도록 설정
if (sheet.getName() === '시트1') {
var range = e.range;
var startRow = range.getRow();
var endRow = startRow + range.getNumRows() - 1;
var col = range.getColumn();
// A열부터 P열에 수정이 발생할 경우
if (col >= 1 && col <= 16) {
// 오늘 날짜를 YYYY.MM.DD 형식으로 생성
var today = new Date();
var formattedDate = today.getFullYear() + '.' +
String(today.getMonth() + 1).padStart(2, '0') + '.' +
String(today.getDate()).padStart(2, '0');
// Q열에 입력할 값을 저장할 배열 생성
var dateValues = [];
// 각 행을 검사하여 A~P열에 데이터가 있는지 확인
for (var row = startRow; row <= endRow; row++) {
var dataRow = sheet.getRange(row, 1, 1, 16).getValues()[0];
if (dataRow.every(value => value === '')) {
dateValues.push(['']); // A~P열이 비어있으면 Q열도 비우기
} else {
dateValues.push([formattedDate]); // A~P열에 데이터가 있으면 Q열에 날짜 입력
}
}
// 한 번에 Q열에 날짜 입력 또는 삭제
sheet.getRange(startRow, 17, dateValues.length, 1).setValues(dateValues);
}
}
}
[상황]
[도입 이유]
Description | |
1 | 배송지연일자 업데이트일이 언제인지 확인 필요 -> 기존에는 수동으로 진행했으나 데이터가 업데이트되면 자동으로 진행 될 수 있도록 코드 작성 |
2 | ‘A~P’열의 데이터를 업데이트하면 자동으로 해당 작업 일자로 Q열 업데이트 진행 |
'프로그래밍 > 프로젝트' 카테고리의 다른 글
[Apps script] 기호 자동 변환 (0) | 2024.11.14 |
---|---|
[Apps script]배송지연 문자 발송 기능 개선 (0) | 2024.11.13 |
[Apps script] 문자발송 내역 업데이트 (0) | 2024.10.29 |
[Apps script] 교환/반품 처리 개선 (0) | 2024.10.28 |
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 |
댓글