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() //備考
]);
}
}
}
なお、このスクリプトはスプレッドシート「経費収集」のコンテナバインドスクリプトとして作成します。
「数百のファイルを1つ1つ開くの面倒……」、複数のExcelデータを1箇所に集約するマクロ術
「計算式エラーで残業確定……」、GASで入力データのチェックツールを作成
プログラム自動実行で仕事を楽に! APIでSlackなどと連携できる「Google Apps Script」とはCopyright © ITmedia, Inc. All Rights Reserved.