はじめに
職場でGAS(GoogleAppsScript)を作成する機会がありました。
今回は、スプレッドシートの**「複数セルの文字列」を「別シートの1セル」**にコピーするスクリプトを公開したいと思います。
今回やりたいこと
「copy_m」シートから「copy_s」シートにデータコピーしたい。
- コピー元(「copy_m」シート)
※コピー元は、A2-A23の間の文字列
- コピー先(「copy_s」シート)
※コピー先は、A2の1セル
スクリプトの動作手順
「copy_m」シート
①「copy_m」シートのセルA2-A23の間に、コピーしたい文字列を入れる。
②「copy_m」シートの「セルコピー」というボタンをクリック
「copy_s」シート
セルA2にデータがコピーされていることを確認。
スクリプトの内容
記載しているコード
code.gs
function selcopy(){
// スプレッドシート上「copy_m」の値を二次元配列の形で取得
const ss = SpreadsheetApp.getActiveSpreadsheet();
const copy_m = ss.getSheetByName('copy_m');
const values = copy_m.getRange("A2:A23").getValues();
// 取得した値を変数に代入
const value = values.join("\n");
// スプレッドシート「copy_s」に取得した値を挿入
var copy_s = ss.getSheetByName('copy_s');
copy_s.getRange("A2").setValue(value);
}
「セルコピー」ボタンに設定しているスクリプト
スクリプトの実行フロー
参考記事
【GoogleAppsScript】スプレッドシート操作(セルへのデータ書き込み偏)
【JavaScript入門】joinで配列を連結する方法(改行/置換)