連載
コピー&ペーストの繰り返しから脱却! 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」を紹介する。※ショートカットキーの解説あり