앱스 스크립트에서 map으로 열 순서 변경하기
이 포스팅은 “구글 앱스 스크립트 101: 공짜로 만드는 업무 자동화 시스템” 책에 포함된 코드를 AI가 설명하도록 한 뒤에, 교정한 포스팅입니다. AI가 작성한 것을 수정하면 취소선을 표시하였습니다. 교정으로 추가하면 색상을 표시하였습니다.
목차
요약
이 블로그 포스트에서는 Apps Script에서 열을 변경하는 방법을 알아보겠습니다. 특정 시트에서 데이터를 추출하고 원하는 순서로 열을 재배치하는 방법을 배우게 됩니다.
코드
1 2 3 4 5 6 7 8 |
function colChange() { const SS = SpreadsheetApp.getActiveSpreadsheet(); const T_SHEET6 = SS.getSheetByName('시트6'); const data = T_SHEET6.getDataRange().getValues(); let dataMap = data.map(item => [item[1], item[0], item[2]]); Logger.log(dataMap); } |
코드 설명
이 코드는 colChange
라는 함수를 정의합니다. 함수 내부에서는 활성 스프레드시트를 가져와 SS
변수에 할당합니다. 그런 다음 ‘시트6’라는 이름의 시트를 가져와 T_SHEET6
변수에 할당합니다.
getDataRange()
메소드를 사용하여 시트의 데이터 범위를 가져오고, getValues()
메소드를 호출하여 해당 범위의 모든 값을 가져옵니다. 데이터는 data
변수에 저장됩니다.
map()
함수는 data
배열의 각 항목을 반복하며 열을 재배치하여 새로운 배열 dataMap
을 생성합니다. 이 예제에서는 두 번째 열을 첫 번째 위치로 이동시키고, 첫 번째 열을 두 번째 위치로 이동시키고, 세 번째 열은 변경하지 않습니다.
마지막으로, dataMap
배열을 로거에 기록합니다.
예제
세 개의 열(Name, Age, Occupation)이 있는 스프레드시트가 있다고 가정해 봅시다. 열의 순서를 Occupation, Name, Age로 변경하고 싶습니다.
colChange
함수를 실행하면, 열이 원하는 대로 재배치됩니다.
AI 프롬프트
스프레드시트의 열 순서를 변경하는 함수를 작성하세요. 함수는 특정 시트에서 데이터를 가져와 원하는 순서로 열을 재배치해야 합니다. 결과 데이터 배열을 로거에 기록하세요.
예를 들어, 원본 열이 [‘A’, ‘B’, ‘C’]이고, 이를 [‘C’, ‘A’, ‘B’]로 재배치하려면 결과 배열은 [[‘C’, ‘A’, ‘B’]]로 기록되어야 합니다.