検索
連載

コピー&ペーストの繰り返しから脱却! GASでバラバラのデータを1箇所に集約働く価値を上げる“VBA/GAS”術(8)(2/3 ページ)

1つ1つファイルを開いてコピー&ペースト。バラバラのデータを1箇所に集約することは非常に手間のかかる業務です。今回は、そのような業務を、GAS(Google Apps Script)を使って自動化する方法を紹介します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

経費データ収集スクリプト

 Googleドライブのフォルダ「経費精算書」内の全てのスプレッドシートを開き、「経費収集」にデータを集約するスクリプト「collenctData()」が以下になります。

function collectData() {
 var sheetMain = SpreadsheetApp.getActiveSheet();
 var files = DriveApp.getFolderById('-----フォルダID-----').getFiles();
 
 while (files.hasNext()) {
  var file = files.next();
  var sheet = SpreadsheetApp.open(file).getSheets()[0];
  
  var month = sheet.getRange("G1").getValue(); //対象月
  var department = sheet.getRange("G3").getValue(); //部署
  var fullname = sheet.getRange("G4").getValue(); //氏名
  
  for (var i = 8; i <= sheet.getLastRow(); i++) {
   sheetMain.appendRow([
    month, //対象月
    sheet.getRange(i, 1).getValue(), //日付
    department, //部署
    fullname, //氏名
    sheet.getRange(i, 2).getValue(), //科目
    sheet.getRange(i, 5).getValue(), //適用
    sheet.getRange(i, 6).getValue(), //金額
    sheet.getRange(i, 7).getValue() //備考
   ]);
  }
 }
}

 なお、このスクリプトはスプレッドシート「経費収集」のコンテナバインドスクリプトとして作成します。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る