๐ก Apps Script๋ก Google Sheets์์ ์ ๋ ฌ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค.
๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ์ฟผ๋ฆฌ๋ฌธ์ order by ์ ์์ ์ ๋ ฌ์ ํด ์ค ์๋ ์์ง๋ง,
Script๋ก ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ตฌํํด๋ณธ๋ค.
์๋์ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์๋ค.
์ผ๋จ ๊ฐ๋จํ๊ฒ ์ฒซ๋ฒ ์งธ ํ์ธ country ๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด๋ณด์.
์ ๋ ฌ์ sort() ๋ฅผ ์ด์ฉํด ์ํํ๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ์ sheet ์์ range ์์ญ์์ sort๋ฅผ ์ํํ๋ฉด ๋๋ค.
function createSort() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("tempature_all");
const range = sheet.getRange("A:E");
range.sort(1);
}
ํค๋ ํ์ดํ์ด ์๋ค.
'A:E' ๊ฐ ์๋
'A1:En' ์ผ๋ก ๋ณ๊ฒฝ ํด์ค์ผ๊ฒ ๋ค.
function createSort() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("tempature_all");
const range = sheet.getRange("A2:E"+sheet.getLastRow());
range.sort(1);
}
1๋ฒ ํ์ธ country์ ๋ํด์ ์ ๋ ฌ์ ํด๋ดค๋ค.
1๋ฒ ํ์ธ country์, 2๋ฒ ํ์ธ date์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ ์ ์ฉํด๋ณธ๋ค.
function createSort() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("tempature_all");
const range = sheet.getRange("A2:E"+sheet.getLastRow());
range.sort([1,2])
}
1๋ฒ ํ์ธ coutry๋ ์ค๋ฆ์ฐจ์
2๋ฒ ํ์ธ date๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ์ ์งํํด ๋ณธ๋ค.
sort() ์์ ํ ๋ฒํธ๊ฐ ์๋ ํ ๋ฒํธ์ ์ ๋ ฌ๋ฐฉ ์ ์ ๋ณด๊ฐ ํฌํจ๋ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๋ค.
function createSort() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("tempature_all");
const range = sheet.getRange("A2:E"+sheet.getLastRow());
range.sort([{column: 1, ascending: true}, {column: 2, ascending: false}]);
}
Class Range | Apps Script | Google Developers
์์ฉํ๊ธฐ
๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค, ํ ๋ณ๋ก ์ ๋ ฌํด์ฃผ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณธ๋ค.
์ผ๋จ ๋ฒํผ์ ์์ฑํ๋ค.
- country (1๋ฒ์งธ ํ) ์ ๋ด๋ฆผ์ฐจ์, ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- air_avg (3๋ฒ์งธ ํ) ์ ๋ด๋ฆผ์ฐจ์, ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
๊ธฐ๋ฅ์ ์ํํ ๋ฒํผ๋ค์ด๋ค.
/*
* country (1๋ฒํ) ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ํธ์ถ๋ถ
*/
function sortAsc1() {
// ์ฒซ๋ฒ์งธํ : 1
// ๋ด๋ฆผ์ฐจ์ : true
executeSort(1, true);
}
/*
* country (1๋ฒํ) ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํธ์ถ๋ถ
*/
function sortDesc1() {
// ์ฒซ๋ฒ์งธํ : 1
// ์ค๋ฆ์ฐจ์ : false
executeSort(1, false);
}
/*
* temp_air_avg (3๋ฒํ) ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ํธ์ถ๋ถ
*/
function sortAsc3() {
// ์ธ๋ฒ์งธํ : 3
// ๋ด๋ฆผ์ฐจ์ : true
executeSort(3, true);
}
/*
* temp_air_avg (3๋ฒํ) ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํธ์ถ๋ถ
*/
function sortDesc3() {
// ์ธ๋ฒ์งธํ : 3
// ์ค๋ฆ์ฐจ์ : false
executeSort(3, false);
}
/*
* ์ ๋ ฌ๊ธฐ๋ฅ ์ํ๋ถ
*/
function executeSort(col, asc) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("tempature_all");
const range = sheet.getRange("A2:E"+sheet.getLastRow());
range.sort({column: col, ascending: asc})
}
๋ฒํผ ์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๊ณ ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํด๋ฆญํ๋ฉด, ํด๋น ๋ฒํผ(์ด๋ฏธ์ง)๊ฐ ์ ํ๋๋ค.
[…] ๋ฒํผ์ ๋๋ฅด๊ณ [์คํฌ๋ฆฝํธ ํ ๋น] ์ ํด๋ฆญํด ์์์ ์์ฑํ ํจ์๋ฅผ ํ ๋นํ๋ค.
country (1๋ฒ ํ) ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ์ํ
country (1๋ฒ ํ) ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ์ํ
temp_air_avg (3๋ฒ ํ) ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ์ํ
temp_air_avg (3๋ฒ ํ) ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ์ํ