スキルアップを始める!

【GAS】指定した列を別のシートに転記するスクリプト

GAS(GoogleAppsScript)
GAS(GoogleAppsScript)
この記事は約3分で読めます。

※記事中に広告情報を含みます。

\ワードプレスのスキルアップはこちら!/ WordPress入門読本

指定した列のデータを別のシートに転記してみます。

指定した列のデータのみを別のシートに転記する

以下のGASコードは、指定した列のデータのみを別のシートに転記するスクリプトです。

function copyColumnToAnotherSheet() {
  var sourceSheetName = "元のシート名";
  var targetSheetName = "転記先のシート名";
  var columnToCopy = "転記したい列の文字列";

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName(sourceSheetName);
  var targetSheet = ss.getSheetByName(targetSheetName);

  var columnToCopyIndex = sourceSheet.getRange(1, 1, 1, sourceSheet.getLastColumn())
    .getValues()[0].indexOf(columnToCopy) + 1;

  var sourceData = sourceSheet.getDataRange().getValues();
  var targetData = sourceData.map(row => [row[columnToCopyIndex - 1]]);

  targetSheet.getRange(1, 1, targetData.length, targetData[0].length).setValues(targetData);
}

.indexOf(columnToCopy)で最初に変数(転記したい列の文字列)文字が見つかった位置のインデックス番号を取得します。0から始まるので+1しています。

ログ例:

var columnToCopyIndex = sourceSheet.getRange(1, 1, 1, sourceSheet.getLastColumn())
    .getValues()[0].indexOf(columnToCopy) + 1;
  Logger.log(columnToCopyIndex);

情報	5.0

Mapオブジェクト

.map(row =>で与えられた関数を配列のすべての要素に対して呼び出し、その結果からなる新しい配列を生成します。

  var sourceData = sourceSheet.getDataRange().getValues();
  var targetData = sourceData.map(row => [row[columnToCopyIndex - 1]]);
Logger.log(targetData);

情報	[[名称], [share], [タバックケータリングサービス], [hairplaceapego], [道頓堀どむす相川店], [焼肉 炙], [一福], [サロン・ド・ファンタジア 稲葉店], [NTLCランゲージグループ], [サントリー・オールド・バー・江坂店], [mousahair], [有限会社森下自動車], [なにわ翁], [満点個別], [個別指導のハロ・ウィン中百舌鳥校]]

スクリプトを実行すると、指定した列(今回の場合は「名称」という列)が別の指定したシートの列に書き込まれます。

まとめ

上記のスクリプトは、Google Apps Scriptを使用して、指定した列のみを別のシートに転記するものです。以上の手順を踏むことで、スクリプトが実行され、指定した列のみが別のシートにコピーされます。

URLをコピーしました!