Googleスプレッドシートから、抜き出したい項目を手書きで転記していくのは、とても大変な作業です。時間や労力がかかってしまうだけでなく、上書きミスをしたり転記先のセルを間違えてしまったりすることも多くあります。
この記事では、Googleスプレッドシートからの転記を自動で行う方法について解説します。
格安料金ですべてお任せ!「自動化したいこと」をお伝えいただくだけのRPAツール
オーダーメイド型RPAツール「RaBit」は、ヒアリング・設計・開発・導入・運用までプロが一気通貫サポート。業界でも格安な料金設定と充実した支援体制で、長く安心してご利用いただけます。
1.異なるスプレッドシート間の転記を自動化する3つの方法
Googleスプレッドシートの転記を自動化するには、3つの方法があります。それぞれの方法には、ほかにはない特徴があり、どの方法が優れているかは一言ではいえません。どのような作業をしたいかによって、どの方法が最適であるかが決まります。
スプレッドシート間の転記を自動化する各方法のメリットを見てみましょう。
1-1.データを同期したいなら「IMPORTRANGE関数」
最初に紹介するのは、Googleスプレッドシートの関数「INPORTRANGE」です。この関数を使えば、同じスプレッドシート内であるかどうかにかかわらず、指定した範囲のセルを読み込んでデータを転記・同期できます。
データは1時間ごとに更新される仕様です。参照元のデータに変更があった場合でも、1時間以内で転記先も同期されます。また、転記先のセルを誤って更新してしまっても、すぐに参照元との同期をし、データが更新されるのも特徴です。
IMPORTRANGE関数で自動化できる転記作業は、データの参照と表示だけです。そのため、転記先のシートでは転記された内容を編集できません。
スプレッドシートの関数だけで複数のシートにまたがる情報をひとつのシートに集約して表示させたいときに、便利に使えます。
1-2.転記先のデータを編集したいなら「GAS」
スプレッドシートの転記を自動化したうえで、転記先のデータを編集したいのであれば、Google Active Script(GAS)を使った転記方法が便利です。
スプレッドシートの参照元データから必要な項目をピンポイントで自動的に転記できるので、転記先のフォーマットも自由に設計できます。また、GASのプログラムによって転記されたデータは、独立したデータとして存在するため、自由に編集できるのも特徴です。
さらに、参照元のデータが加えられるたびに転記先に反映させる仕組みも自動化が可能です。同期待ちの必要もありません。
ただし、スプレッドシートの転記を自動化するのに「GAS」を使う場合は、スクリプト等のコーディングスキルが必要です。また、プログラムを正しく実装するためにデバッグやテストをする必要もあり、開発時間がかかってしまうのもデメリットです。
ココがポイント
コピペだけでもGASでスプシの自動転記を実装できる
1-3.さまざまなソフトと連携したいなら「RPAツール」
Googleスプレッドシート以外もデータの参照元にしたいケースでは、「RaBit」などのRPAツールを活用するのがおすすめです。RPAは、デスクワークにおいて頻繁に発生する単純作業を自動化する技術です。
決まった項目のデータをGoogleスプレッドシートに転記する定型的な作業を得意とし、業務を効率化できるだけでなく、ヒューマンエラーの心配も減らせるメリットがあります。
RPAツールにはさまざまな種類があり、システムやRPA化できる業務範囲も異なるため、自社の特徴にあったツールの選定が大切です。
RPAツールの導入やシステムの設定に時間がかかってしまう事例も少なくないため、専門的なスキルに自信がない場合はサポート力のあるベンダーを選ぶのも選択肢といえます。
こちらもCHECK
2.IMPORTRANGE関数でスプレッドシートを自動転記する方法
複数のスプレッドシートから、1つのスプレッドシートへ必要な情報のみを自動で転記&集約させたいといったニーズを満たせるのがIMPORTRANGE関数です。
参照元のGoogleスプレッドシートから情報を集めて、転記先のセルに関数を入力するだけで、自動的に同期されるデータ管理シートが完成します。
ここでは、IMPORTRANGE関数で自動転記する方法を解説します。参照元から転記先にIMPORTRANGE関数を使って転記する方法をステップバイステップで紹介するため、ぜひご参照ください。
2-1.転記元のスプレッドシートのURLとシート名を把握する
IMPORTRANGE関数で使用する引数のために必要なデータは、参照元の「GoogleスプレッドシートのURL」「シートの名称」「シート内の範囲」です。IMPORTRANGE関数を入力する前に、これらのデータをコピーして、手元に入手しておくようにしましょう。
事前に必要な項目をそろえておくと、関数を入力しながら引数に入れるデータを探すより早く作業できます。
2-2.転記先のスプレッドシートでIMPORTRANGE関数を入力する
コード例:「=IMPORTRANGE(“スプレッドシートURL”, “シート名!範囲の文字列”)」
転記先のGoogleスプレッドシートの先頭のセルに、IMPORTRANGE関数を入力します。
IMPORTRANGE関数を入力したセルだけでなく、範囲として指定した範囲のセルに参照元のデータが転記されるので、シートの該当範囲に上書きされて困るデータがないか確認しておきましょう。
1つ目の引数に、ダブルクォーテーション(")で囲んだ、参照元GoogleスプレッドシートのURLを入力してください。
2つ目の引数には、ダブルクォーテーションで囲んだなかに、「シート名」「エクスクラメーションマーク(!)」「シートの範囲」を入力します。シートの範囲は、範囲の一番左上のセル名、ダブルコロン、範囲の一番右下のセル名で構成されます。
セルを確定すると、「これらのシートをリンクする必要があります」と表示されるので、「アクセスを許可」をクリックしましょう。
完成例:=IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxx0e7n-aVccxk4fvT74dcHFiFnwIg3sSzA5wmPuVk6M/edit#gid=0","シート1!B2:F10")
3.GASでスプレッドシートを自動転記する方法
次に、Google Active Script(GAS)でスプレッドシートを自動転記する方法を解説します。参照元と転記先でふたつのGoogleスプレッドシート、またGASを記載するプロジェクトが必要です。
参照元から転記先へ自動で転記するためのプログラムコードを、GASのプロジェクトに記載します。ここでは、自動転記するプログラムの作成方法を解説します。
3-1.スプレッドシートでGASプログラムを入力
転記元のGoogleスプレッドシートのメニューから、「拡張機能」を選択し、「Apps Script」をクリックしてください。下記のコードを入力します。
function copyDataBetweenSpreadsheets() {
var sourceSpreadsheetId = '転記元のスプレッドシートID';
var sourceSheetName = '転記元のシート名';
var targetSpreadsheetId = '転記先のスプレッドシートID';
var targetSheetName = '転記先のシート名';
// コピーする範囲を指定
var startRow = 1;
var startColumn = 1;
var numRows = 10;
var numColumns = 10;
// Aのスプレッドシートとシートを開く
var sourceSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetId);
var sourceSheet = sourceSpreadsheet.getSheetByName(sourceSheetName);
// Bのスプレッドシートとシートを開く
var targetSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetId);
var targetSheet = targetSpreadsheet.getSheetByName(targetSheetName);
// Aのスプレッドシートからデータを取得
var data = sourceSheet.getRange(startRow, startColumn, numRows, numColumns).getValues();
// Bのスプレッドシートにデータを転記
targetSheet.getRange(startRow, startColumn, numRows, numColumns).setValues(data);
}
以上です。スプレッドシートIDは、「https://docs.google.com/spreadsheets/d/スプレッドシートID/edit」となっています。
転記範囲を調整したい場合は、以下の部分の数値を変更しましょう。
startRow: コピーを開始する行(1から始まる整数)
startColumn: コピーを開始する列(1から始まる整数)
numRows: コピーする行の数
numColumns: コピーする列の数
転記元のデータをそのまま転記先スプレッドシートへ反映させられるため、元データのコピーを作成してその都度編集する手間を抑えられます。
3-2.GASプログラムを実行する
参照元のシートに変更があったときに、転記先へ自動的に反映させるには、トリガー昨日を使用します。Apps Scriptの「トリガー」タブを選択し、トリガー画面から、「トリガーを追加」をクリックしてください。
トリガーを設定するダイアログで、「執行する関数を選択」の中から、プログラムした関数を選択しましょう。「イベントのソースを選択」を「スプレッドシートから」に、「イベントの種類を選択」を「編集時」に変更し「保存」をクリックすると、設定完了です。
条件に応じて、転記作業を自動的に行なえます。
4.RPAツールでスプレッドシートを自動転記する方法
RPAツールなら、スプレッドシートへデータを自動転記できます。スプレッドシート間だけでなく、自社システムからスプレッドシートへの転記や、その逆の手順も可能です。複雑なシステム間で転記作業を自動化したい場合は、RPAのツールを利用するのも選択肢といえます。
ここでは、RPAツールの選び方から導入方法のコツまで解説します。
4-1.RPAツールの選定
RPAツールにはさまざまな種類があり、システムによっては対応できないソフトウェアもあるため、適したツールの選定が大切です。RPAツールの多くはGoogleスプレッドシートの転記だけでなく、さまざまな作業を自動化できます。
一方で、「自社のオンプレミスシステムからGoogleスプレッドシートへデータを転記したい」といったときは、オンプレ環境でも稼働できるデスクトップ型・サーバー型のRPAツールを利用しなければなりません。
クラウド型RPAツールで自動化できる作業はWebブラウザ等の操作に限られるため、適切なツールの選定が大切です。
こちらもCHECK
4-2.RPAツールの導入
Googleスプレッドシートの自動転記をRPA化で実現するには、シナリオと呼ばれるロボットへの指示書をRPAツール内で作成する必要があります。実際に人間が作業を行うときの手順を一つひとつ指示書に登録する作業が欠かせません。
たとえば、シートの転記をRPA化するには、「参照元と転記先のシートを開く」「参照元のデータから転記する範囲を選択する」「転記先のコピーする場所を指定する」などの手順の登録が必要です。RPAツールの設定方法については、関連記事の「rpa 導入」で詳しく解説しています。
こちらもCHECK
4-3.RPAツールの運用・メンテナンス
RPAツールを運用するには、定期的なメンテナンスが欠かせません。RPAツールは一定の手順を繰り返し行うシステムのため、工程に変化があると途端に正しく動作しなくなってしまいます。
特にブラウザで操作するSaaSはアップデートでボタン配置等が変わるケースも度々あり、その変更に合わせたメンテナンスが必要不可欠です。
また、ロボットが思った通りに作業をしてくれているかどうかをチェックする工程も取り入れるようにしましょう。なかには、シナリオの指示が正しくロボットに伝わっておらず、せっかく自動化した作業に手直しが必要になってしまう事例も。
RPAによる効率化の恩恵を最大限受けるためにも、定期的なメンテナンスが大切です。
5.簡単な作業から自動化して社内にRPAの成功体験を
簡単なスプレッドシートの転記作業なら、関数やGASを使って即座に自動化することができます。とはいえ、細かいニーズに答えるにはより優れた要件定義能力や、プログラミングスキルが欠かせません。
そのようなときは、ぜひ煩雑な定型業務を自動化できるRPAツール「RaBit」をご利用ください。プロがオーダーメイドで要件定義から開発、導入、運用までサポートするため、安心してご利用いただけるのがメリットです。
「RaBit」なら、低コストで面倒な作業を、プログラミングなどの専門的な知識がなくても正確かつ素早く処理できます。これまでに、さまざまな業種の企業が、「RaBit」によって大幅に時間・コスト・人員数を減らすことに成功しています。
ぜひこの機会に、RPAツール「RaBit」で驚くほどの効果を体験してください。