📚 [Google]스프레드 시트 복사해서 사용하기
Category: Google | 📅 August 18, 2026
시트를 생성한 뒤. 매주 복사하여 사용하는 방법에 대해 정리함. 주간보고나 일일보고서 등 작성할때 편리함.
만들자~
- 확장프로그램 > App Script 추가
function copySheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// 복사할 원본 시트 이름 설정
var sourceSheet = ss.getSheetByName("원본시트이름");
if (!sourceSheet) {
SpreadsheetApp.getUi().alert("복사할 원본 시트를 찾을 수 없습니다.");
return;
}
// 시트 복사
var newSheet = sourceSheet.copyTo(ss);
// 새로 복사된 시트 이름 설정 (예: 원본시트이름_2026-08-18)
var today = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), "yyyy-MM-dd");
newSheet.setName("복사본_" + today);
// 복사한 시트를 맨 앞으로 이동 (선택 사항)
ss.setActiveSheet(newSheet);
ss.moveActiveSheet(1);
}
심화 - 이동하고 싶은 열을 추가해서 이동 시킴
function copySheetAndMoveColumn() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// 1. 복사할 원본 시트 이름 지정
var sourceSheet = ss.getSheetByName("원본시트이름");
if (!sourceSheet) {
SpreadsheetApp.getUi().alert("복사할 원본 시트를 찾을 수 없습니다.");
return;
}
// 2. 시트 복사 및 이름 변경
var today = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), "yyyy-MM-dd");
var newSheet = sourceSheet.copyTo(ss);
newSheet.setName("복사본_" + today);
// 3. 특정 열 복사 및 이동 설정
// 예: 1번째 열(A열)을 4번째 열(D열) 위치로 이동
var sourceColIdx = 1; // 복사할 열 번호 (A=1, B=2, C=3, D=4...)
var targetColIdx = 4; // 이동시킬 대상 열 번호
var lastRow = newSheet.getLastRow();
if (lastRow > 0) {
// 3-1. 복사할 열의 전체 데이터 범위 선택
var sourceRange = newSheet.getRange(1, sourceColIdx, lastRow, 1);
// 3-2. 대상 위치에 열 하나를 추가하여 공간 확보 (선택 사항)
newSheet.insertColumnBefore(targetColIdx);
// 3-3. 데이터 복사 (추가된 열 위치로 복사)
var targetRange = newSheet.getRange(1, targetColIdx, lastRow, 1);
sourceRange.copyTo(targetRange);
// 3-4. 원본 열 삭제 (이동 효과)
// 열을 추가했으므로, 원본 열 번호가 대상 위치보다 뒤에 있었다면 인덱스 재조정
var actualSourceColIdx = (sourceColIdx >= targetColIdx) ? sourceColIdx + 1 : sourceColIdx;
newSheet.deleteColumn(actualSourceColIdx);
}
// 4. 새 시트를 맨 앞으로 이동
ss.setActiveSheet(newSheet);
ss.moveActiveSheet(1);
}
트리거로 동작 시키자
- 왼쪽 사이드바에서 알람표시가 있는 시계 클릭 ( 트리거라고 설명 나옴)
- 오른쪽 아래에
+ 트리거추가버튼 선택 -
입력값을 모두 입력하자
실행할 함수 선택 : 방금 App Script에서 추가한 함수 실행할 배포 선택 : head 이벤트 소스 선택 : 시간기반 // 입력창이 더 생긴다. 트리거 기반 시간 유형 선택 : 주 단위 타이머 // 일주일에 하나씩 생성 요일 선택 : 매주 일요일 시간 선택 : 오전 5시 ~ 오전 6시 사이
💭 Reviews
제미나이 짱~! ㅋ