例文を使って繰り返し業務を時短

【GAS】抽出データのみ新規シートに貼り付ける

GAS

抽出データのみ新規シートに貼り付ける

これは、アクティブなスプレットシートの中の表に対してフィルタをかけ、A列に「JAL」の文言を含む行のみを抽出し、新しいシートにコピーして貼り付けるスクリプトです。

このスクリプトを実行すると、アクティブなスプレットシートの中の表にフィルタがかかり、A列に「JAL」の文言を含む行のみが新しいシートにコピーされます。

function filterAndCopy() {
  // 操作するスプレッドシートとシートを取得する
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = spreadsheet.getActiveSheet();
  
  // フィルタをかける対象の範囲を指定する
  var rangeToFilter = activeSheet.getDataRange();
  
  // フィルタを設定する
  rangeToFilter.createFilter();
  
  // A列に「JAL」を含むフィルタを設定する
  var filterCriteria = SpreadsheetApp.newFilterCriteria().whenTextContains("JAL").build();
  rangeToFilter.getFilter().setColumnFilterCriteria(1, filterCriteria);
  
  // フィルタ結果を取得する
  var filteredRange = rangeToFilter.getFilter().getRange();
  
  // 新しいシートを作成する
  var newSheet = spreadsheet.insertSheet();
  
  // 抽出した表のみをコピーして貼り付ける
  filteredRange.copyTo(newSheet.getRange("A1"), SpreadsheetApp.CopyPasteType.PASTE_NORMAL);
}

解説

  1. スプレッドシートとアクティブなシートを取得します。
  2. フィルタをかける対象の範囲を指定します。
  3. フィルタを設定します。
  4. A列に「JAL」を含むフィルタを設定します。
  5. フィルタ結果を取得します。
  6. 新しいシートを作成します。
  7. 抽出した表のみをコピーして新しいシートに貼り付けます。

コメント

タイトルとURLをコピーしました