今回はGASを使ってスプレッドシートの特定のセルのデータをコピーペーストする方法をご紹介します。
コピーペーストの操作はスプレッドシートの中でもかなり多用する操作なので、ぜひ覚えて活用してください。
コピーペーストの方法は2種類ある
GASを使ってコピーペーストする方法は大きく分けて2種類あります。
- copyToメソッドを使う方法
- getValue / setValueメソッドを使う方法
copyToメソッドのメリット・デメリット
【メリット】
- スクリプトの記載方法が実際のスプレッドシートの操作に近いので理解しやすい
- シートの内容を丸々コピーペーストしたり、書式も一緒にコピーペーストするか選択できる
【デメリット】
- 応用の幅はgetValue/setValueメソッドに比べて狭い
getValue/setValueメソッドのメリット・デメリット
【メリット】
- コピーペースト以外にも色々応用することができる
- 複雑な処理で使いやすい
【デメリット】
- 書式のコピーペーストはできない
copyToメソッドを使ったコピーペーストのコード
copyToメソッドは下記のように使用します。
コピーしたいセル.copyTo(ペーストしたいセル)
実際のコードでは下記のようになります。
function copy_paste(){
//スクリプトファイルに紐づけられたスプレッドシートのファイルを読み込む
var spreadsheet = SpreadsheetApp.getActive();
//コピーペーストを実施したいタブを読み込む
var sheet = spreadsheet.getSheetByName(‘シート名’);
//コピーしたいセルを選択する
var copyRange = sheet.getRange(‘セル名’);
//ペーストしたいセルを選択する
var pasteRange = sheet.getRange(‘セル名’);
//copyToメソッドでコピーペーストする
copyRange.copyTo(pasteRange);
}
今回は紹介しませんが、copyToメソッドは様々なオプションが用意してあり、ちょっと書き足すことでセルの背景色や罫線、セルの結合なども一緒にコピーペーストすることもできます。
また、セルの書式のみをコピーペーストすることもできます。
getValue/setValueを使ったコピーペースト
getValueメソッド、setValueメソッドはそれぞれ下記のように使用します。
コピーしたいセル.getValue()
ペーストしたいセル.setValue()
実際のコードでは下記のようになります。
function copy_paste(){
//スクリプトファイルに紐づけられたスプレッドシートのファイルを読み込む
var spreadsheet = SpreadsheetApp.getActive();
//コピーペーストを実施したいタブを読み込む
var sheet = spreadsheet.getSheetByName(‘シート名’);
//コピーしたいセルのデータを取得する
var copyData = sheet.getRange(‘セル名’).getValue();
//ペーストしたいセルにデータを貼り付ける
sheet.getRange(‘セル名’).setValue(copyData);
}
copyToメソッドとの違いはコピーしたいセルの値を一度変数に保管していることです。
例えば、コピーした値に数値を足したり、文字を結合するなどの加工をほどこして別セルにペーストしたい場合はgetValue/setValueの方が柔軟に対応することができます。
まとめ・終わりに
今回はGASを使ってスプレッドシートの特定のセルのデータをコピーペーストするのに下記2点の方法をお伝えしました。
- copyToメソッドを使う方法
- getValue/setValueメソッドを使う方法
それぞれのメソッドにメリット・デメリットがあるので、どんな処理をしたいのかによってメソッドを使い分けてください。
今回の記事を参考にして、ぜひコピーペースト作業を自動化して業務を効率化してください。
コメント