質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

2回答

2932閲覧

GASとGoogleフォーム、スプレッドシートの操作

2PC

総合スコア5

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2021/01/31 03:42

編集2021/04/25 07:05

Googleフォームのデータをスプレッドシートに反映させ計算処理をしたい

Googleフォームを使いデータを収集。
そしてスプレッドシートに集めたデータを関数を使って集計しました。
Googleフォームを集計し終わったあとに関数を入れればいいのでしょうが、回答を集めながら関数による複雑な計算を自動で追加したいです。
回答はGoogleフォームから自動で書かれますが、あらかじめ準備した関数は自動で書かれた行には追加されません。
どのようなプログラムをいれたらできるでしょうか。
そのプログラムをトリガーで追加すればいいのはわかります。
その方法や助けになるものを紹介してもらえるとありがたいです。

まとめますと、
Googleフォーム→スプレッドシート←Googleフォーム送信時に関数を挿入
というような形です。

試したこと

スプレッドシートにGASを使って操作する方法 結果「関数は挿入できなかった」

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

Googleフォームの回答をもとに計算をしたかっただけなので
Googleフォームの回答を取得→GASで変数に定義
→変数同士を計算
結果をスプレッドシートに出力するという形に落ち着きました。

Google

1//コード 2//e.namedValuesで回答を取得[]は質問のタイトル 3//変数は任意に設定 4var a = e.namedValues["回答"][0] 5var b = e.namedValues["回答"][0] 6var c = e.namedValues["回答"][0] 7var d = e.namedValues["回答"][0] 8 9//計算(任意) 10var index = a+b*c-d 11//スプレッドシート 12var url = "https://docs.google.com/spreadsheets/d/XXXXXXXXX/" 13 14//アクティブなシートを取得 15var ss = SpreadsheetApp.openByUrl(url); 16var sheet = ss.getActiveSheet(); 17 18//最終行取得(用途に応じて列・行の指定を変える) 19var lastRow = sheet.getLastRow() 20sheet.getRange(lastRow+1, 1).setValue(index) 21

変数で計算しているが定数(let)を使ってもいい。
私の場合は再代入するのでvarを使った。

投稿2021/07/15 11:13

2PC

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

GASの質問ならGoogle Apps Script のタグを付けることをお勧めしますが、
質問内容は「Googleフォームで関数をつかいたいけど、回答ごとに行が新規に追加される仕様なので思うようにいかない。」のを解消したいということだと思います。

GASを使っても出来ますが、関数で問題解決できます。
(関数による複雑な計算が、どれくらい複雑かにもよりますが)

  1. 1行目(タイトル行)に ArrayFormula を使って関数を用意しておく
  2. 関数で回答シートの対象範囲を参照する別シートを用意して 、そちらに関数をセットしておく

GAS、関数、どちらで解決したいにせよ、質問が抽象的だと回答も抽象的にしかできません。
GASで解決したい場合は、他の方の回答をお待ちください。

投稿2021/02/01 00:08

sawa

総合スコア3002

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問