連載
コピー&ペーストの繰り返しから脱却! GASでバラバラのデータを1箇所に集約:働く価値を上げる“VBA/GAS”術(8)(2/3 ページ)
1つ1つファイルを開いてコピー&ペースト。バラバラのデータを1箇所に集約することは非常に手間のかかる業務です。今回は、そのような業務を、GAS(Google Apps Script)を使って自動化する方法を紹介します。
経費データ収集スクリプト
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.
関連記事
「数百のファイルを1つ1つ開くの面倒……」、複数のExcelデータを1箇所に集約するマクロ術
経費精算書のように「バラバラのデータを1箇所に集約すること」は、多く発生する業務の1つです。しかし、1つ1つのファイルを開きコピー&ペーストするのは手間が掛かる業務。その業務を、マクロを使って自動化する方法を紹介します。
「計算式エラーで残業確定……」、GASで入力データのチェックツールを作成
1つのGoogleスプレッドシートを複数人で共同編集するとき、想定していた形式とは違うデータを入力されると、不備が発生してしまう場合があります。そのような問題を、GASで解決するにはどうすればいいのでしょうか。
プログラム自動実行で仕事を楽に! APIでSlackなどと連携できる「Google Apps Script」とは
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、Googleが提供する数々のアプリケーションを操作できる「Google Apps Script」を紹介する。※ショートカットキーの解説あり