見出し画像

【GAS】GoogleAppsScript 100本ノック 1~10本目

初心者向けの、GASの学習教材が少ないため、作成しました。
全100問まで、投稿予定です。

GoogleAppsScriptは、Googleの各種ツールとの連携が魅力ですので、各種ツールとの連携を一通り学べるような内容にしています。

記事作成の励みになりますので、是非「スキ」をお願い致します。

▼続きはコチラです。

1. Google SheetsへのHello World表示

問題文:
Google Sheetsに「Hello World」と表示するスクリプトを作成しなさい。

回答:

function helloWorld() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange('A1').setValue('Hello World'); 
} 

解説:
このスクリプトは、Google SheetsのアクティブなシートのセルA1に「Hello World」と表示します。SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()でアクティブなスプレッドシートのアクティブなシートを取得し、getRange('A1').setValue('Hello World')でセルA1に値を設定します。


2. セルの値を取得して表示

問題文:
Google SheetsのセルA1の値を取得し、ログに表示するスクリプトを作成しなさい。

回答:

function getCellValue() {
var sheet =SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cellValue = sheet.getRange('A1').getValue();
Logger.log(cellValue);
}


解説:
このスクリプトは、セルA1の値を取得し、Logger.logを使用してその値をログに表示します。
getRange('A1').getValue()でセルA1の値を取得します。


3. セルの値を変更する

問題文:
Google SheetsのセルA1の値を「Goodbye World」に変更するスクリプトを作成しなさい。

回答:

function changeCellValue() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange('A1').setValue('Goodbye World');
}

解説:
このスクリプトは、セルA1の値を「Goodbye World」に変更します。getRange('A1').setValue('Goodbye World')でセルA1に新しい値を設定します。


4. 複数セルの値を一括変更

問題文:
Google Sheetsの範囲A1の値を一括で「Test」に変更するスクリプトを作成しなさい。

回答:

function changeMultipleCells() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange('A1:C3').setValue('Test');
}

解説:
このスクリプトは、範囲A1のすべてのセルの値を「Test」に変更します。
getRange('A1:C3').setValue('Test')で指定された範囲のセルに一括で値を設定します。



5. シートの追加と名前変更

問題文:
新しいシートを追加し、そのシートの名前を「New Sheet」に変更するスクリプトを作成しなさい。

回答:

function addAndRenameSheet() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var newSheet = spreadsheet.insertSheet();
newSheet.setName('New Sheet');
}

解説:
このスクリプトは、新しいシートを追加し、そのシートの名前を「New Sheet」に変更します。
spreadsheet.insertSheet()で新しいシートを追加し、newSheet.setName('New Sheet')でそのシートの名前を変更します。


6. シートの削除

問題文:
「Old Sheet」という名前のシートを削除するスクリプトを作成しなさい。

回答:

function deleteSheet() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheetToDelete = spreadsheet.getSheetByName('Old Sheet');
 if (sheetToDelete) {
 spreadsheet.deleteSheet(sheetToDelete);
 }
}

解説:
このスクリプトは、「Old Sheet」という名前のシートを削除します。
spreadsheet.getSheetByName('Old Sheet')でシートを取得し、spreadsheet.deleteSheet(sheetToDelete)でそのシートを削除します。
シートが存在する場合にのみ削除を実行するために、if文を使用しています。


7. シートのコピー

問題文:
現在のシートをコピーして、新しいシートの名前を「Copied Sheet」に変更するスクリプトを作成しなさい。

回答:

function copySheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var copiedSheet = sheet.copyTo(SpreadsheetApp.getActiveSpreadsheet());
copiedSheet.setName('Copied Sheet');
}

解説:
このスクリプトは、現在のシートをコピーし、新しいシートの名前を「Copied Sheet」に変更します。
sheet.copyTo(SpreadsheetApp.getActiveSpreadsheet())でシートをコピーし、copiedSheet.setName('Copied Sheet')で新しいシートの名前を変更します。


8. 行の挿入と削除

問題文:
3行目に新しい行を挿入し、次に5行目を削除するスクリプトを作成しなさい。

回答:

function insertAndDeleteRow() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.insertRowBefore(3);
sheet.deleteRow(5);
}

解説:
このスクリプトは、3行目に新しい行を挿入し、5行目を削除します。
sheet.insertRowBefore(3)で3行目の前に新しい行を挿入し、sheet.deleteRow(5)で5行目を削除します。


9. 列の挿入と削除

問題文:
2列目に新しい列を挿入し、次に4列目を削除するスクリプトを作成しなさい。

回答:

function insertAndDeleteColumn() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.insertColumnBefore(2);
sheet.deleteColumn(4);
}

解説:
このスクリプトは、2列目に新しい列を挿入し、4列目を削除します。sheet.insertColumnBefore(2)で2列目の前に新しい列を挿入し、sheet.deleteColumn(4)で4列目を削除します。


10. 行・列の並べ替え

問題文:
範囲A1のデータを1列目(A列)を基準に昇順に並べ替えるスクリプトを作成しなさい。

回答:

function sortRange() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange('A1:B10');
range.sort({column: 1, ascending: true});
}

解説:
このスクリプトは、範囲A1のデータをA列を基準に昇順に並べ替えます。
range.sort({column: 1, ascending: true})で指定された範囲を1列目を基準に昇順に並べ替えます。


この記事が気に入ったらサポートをしてみませんか?