0

Google スプレッドシートとスクリプトを使用して機器予約システムを作成しようとしています。私はこれにかなり慣れていないので、レイアウトされたソリューションではなくガイダンスを探しています。学ぶのが好きです!

私には 8 人の理科教師がいて、それぞれが授業のために器具を注文する必要があります。タイムテーブルを含むスプレッドシートをそれぞれ作成しました。タイムテーブルの関連するボックスに機器のリクエストを入力するという考えです。

私が今やりたいことは、完成したボックスを一連のデータ (必要な日付、教師の名前、そしてもちろん必要な機器などを含む) として、技術者が見るマスター シートに送信することです。形式はまったく異なります。あるシートから別のシートに範囲をインポートするだけではなく (簡単です!)、含まれるデータだけをインポートします。

マスター シートを理想的には Google フォームにリンクされたスプレッドシートのように動作させたいのですが、フォームからではなく 8 つの入力スプレッドシートからデータを入力データとして取得します (入力方法が面倒すぎると判断しました)。

長い間検索しましたが、何も思いつきませんでした。シート全体または完全な範囲をインポートするのは簡単ですが、マスターシートでデータ自体をフォーマットして並べ替えできるようにしたいと考えています。

必要なデータを配列に入れ、その配列を新しいシートに渡し、新しいシートがどこから来たのかを忘れさせることができるかどうか疑問に思いました。

これが可能かどうかについてのアドバイスを探しています。可能であれば、この問題の完全な解決策ではなく、それを理解するための方向性を教えてください。ありがとうございました!

4

1 に答える 1

1

私が提案するアプローチは、マスター シート内にスクリプトを作成することです。SpreadsheetApp.openById() または SpreadsheetApp.openByUrl() を使用して外部スプレッドシートを開きます。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#methods

スプレッドシートを開いたら、シートを開いて関連する範囲を取得し、getValues() を使用してデータを配列にプルすることにより、関連するシートからデータを取得します。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getsheetbynamename

https://developers.google.com/apps-script/reference/spreadsheet/sheet#getrangerow-column-numrows-numcolumns

https://developers.google.com/apps-script/reference/spreadsheet/range#getvalues

次に、投稿で言及したように配列内のデータを処理し、出力用の配列を構築し、Range.setValues() を使用してマスター シートに書き込むことができます。

于 2016-06-12T21:49:14.303 に答える