0

助成金の申請を受け付けて審査するシステムがあります。次の 2 つの形式があります。

  1. 申請者が助成金申請書とともに提出したフォーム
  2. 助成金申請を評価するために私から 3 人の審査担当者に送信されたフォーム

両方のフォームの結果を 1 つのスプレッドシートにまとめたい:

シート 1 には、アプリケーション フォームのデータが一覧表示されます (自動生成されたシリアル番号付き)。

シート 2 には、すべてのアプリケーションのすべてのレビューからのデータがリストされています (レビューされたアプリケーションのシリアル番号の列を含む)。

問題が発生しています:

1 - 両方のフォームの結果が同じスプレッドシートの異なるシートに入るように指定します。

2 - アプリケーションにシリアル番号を追加してから、3 人の審査員の結果に同じシリアル番号を追加します。

助言がありますか?

4

2 に答える 2

1

別の 2 つのスプレッドシートを使用せずに、GAS を使用して 2 つの Google フォームのデータを 1 つのスプレッドシートに直接挿入することは不可能です。これは、現在、フォームは独自のスプレッドシートにのみデータを展開でき、GAS にはフォームにアクセスするサービスがないためです。

于 2012-09-06T09:44:38.617 に答える
0

かなり大まかな質問をしているので、少し一般的になりますが、最善を尽くします。UiApp を使用してフォームをゼロから作成することを検討します。これにより、機能の柔軟性が向上し、情報の流れがよりスムーズになりますが、あなたの質問はフォームに関するものなので、それに固執します.

OnSubmit質問 1:フォーム 1 と 2 に関連付けられた各スプレッドシート内に、必要なデータを別のスプレッドシートにコピーする関数を作成したいと考えています。

function onFormSubmit() { // add an onsubmit trigger 
var emailAddress = e.values[1];
var fullName     = e.values[2];
var newSS = SpreadsheetApp.openById("Add New SS ID").getSheetByName('Sheet1');//one form should be 'Sheet2'
  var range = sheet.getRange(sheet.getLastRow()+1,1,1,2);
range.setValues([[emailAddress, fullName]]);

質問 2: シリアル番号を割り当てます。私の考えでは、アプリケーションに番号を割り当て、その番号をレビュー担当者に渡して、フォームに入力してもらいたいだけです。この番号を割り当てるには、チュートリアル: ヘルプ デスク ワークフローの自動化に従ってください。代わりに、アクティブなアプリケーションで行を削除しないため、行番号が一意になるように、単純に最後の行を取得を使用します。

var serialNum = newSS.getLastRow()+1;

次に、残りと同じようにその変数を追加するだけです。私はこのコードをテストしていないので、目的に合わせてクリーンアップする必要があるかもしれません。

于 2012-09-05T16:11:23.653 に答える