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

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

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

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

Google フォーム

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

Q&A

解決済

1回答

488閲覧

Googleフォームで入力した内容をきれいにスプレットシートに表示したい

nouchi

総合スコア11

Google スプレッドシート

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

Google フォーム

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

0グッド

0クリップ

投稿2023/05/12 06:56

編集2023/05/15 00:12

フォームで入力した内容をきれいにスプレットシートに表示したい

ここに実現したいことを箇条書きで書いてください。

  • 会社で使うアルコールチェックをデジタル化したいです

→一通りテストで作成してみましたが、分岐の仕方が悪くスプレットシートにきれいに並べる事ができません。(詳しくは添付している画像を確認下さい)

前提

ここに質問の内容を詳しく書いてください。

人がかなりいるので、部署も複数存在しています。
まずは、部署を選択
その次に部署内の人を選択
次にアルコール違反のしていないかの内容にチェック

複数の部署からAグループを選択(ラジオボックス)

A部署内の人を選択(プルタウン)

基準をクリアしているか、違反しているか(ラジオボタン)

上記のような内容です

又年配者が管理・運用を行うので入力なく、簡易な物を想定しています。

イメージ説明

画像を見て頂くと分かると思いますが、今の方法だとE行・F行と長い配列になってしまいます。
C行・D行に内容を全て収まるようにしたいです

発生している問題・エラーメッセージ

なし

該当のソースコード!

なし

試したこと

一通りネットで検索を掛けましたが解決できませんでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

イメージ説明

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2023/05/14 22:04 編集

・質問文だけでは流れが全然わかりません。フォームの編集画面をぜんぶ掲載してください。
YellowGreen

2023/05/14 19:16

分岐によって回答が別れてしまう自動追記のシート(シートの回答)はそのままに、新たなシートを追加してそのシートに自動追記のシートを参照する計算式 ='シートの回答 1'!C2&'シートの回答 1'!E2...のような式 を入力して表示を整形するというのは可能ですか? それがだめなら、フォームの送信イベントをトリガーとするスクリプトで回答をC列、D列に寄せるとかでしょうか?
nouchi

2023/05/15 00:17 編集

cm67809733様 詳細な画像を追加させて頂きました。 説明が分かりづらく申し訳ありません
nouchi

2023/05/15 00:20 編集

YellowGreen様 入力のシート・整理したシート二つを運用することも考えましたが、 それだと部署が増えるたびに整理シートに関数を組まさないといけないため断念しました。 説明文でも記載していますが、年配の方が扱うんので、そこまで対応できないと思っています
YellowGreen

2023/05/15 01:11

残念ながら、私からの確認は、最初のコメントの2通りだけなので、申し訳ありませんが、あとは他の方にご期待ください。
guest

回答1

0

ベストアンサー

年配者が管理・運用を行うので入力なく、簡易な物を想定しています

ということなのでスクリプトによる方法は、質問者様への直接の回答にならないと思いますが、
teratailはプログラミングに関するサポートの場なので、参考までに。

GASのトリガー設定によって
セクション分岐により何列かにわたり重複しているフォームの回答を
最初のセクションの回答の列(今回はC列、D列)に集約するための
スクリプトの例です。

javascript

1//回答先のスプレッドシートに保存してトリガーをフォーム送信時に設定 2//送信された回答を指定の列以降の各列に移動 3function myFunction() { 4 const targetColumn = 3;//移動先の最初の列(3: C列以降に集約) 5 const numQuestion = 2;//セクションごとの質問の数(2: 該当者、結果の2項目) 6 const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('フォームの回答 1'); 7 const lastRow = sheet.getLastRow(); 8 //送信された回答を取得 9 const values = sheet.getRange(lastRow, 1, 1, sheet.getLastColumn()).getValues().flat(); 10 for (let i = targetColumn - 1 + numQuestion; i < values.length; i++) { 11 //回答の記載があれば、集約すべき列に移動 12 if (values[i]) { 13 values[i % numQuestion + targetColumn - 1] = values[i]; 14 values[i] = ''; 15 console.log('列:' + (i + 1) + ' -> 列:' + (i % numQuestion + targetColumn)); 16 } 17 } 18 //回答を上書き 19 sheet.getRange(lastRow, 1, 1, values.length).setValues([values]); 20}

投稿2023/05/15 02:38

YellowGreen

総合スコア731

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

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

nouchi

2023/05/15 05:03

YellowGreen様 ありがとうございます。上記の内容で実装したところ思うような記入になりました。 本当めちゃくちゃ有難いです。 余談ですが、ひょんな事からいつもお世話になっている年配の方の作業がデジタル化できておらず、一度手書きした内容を時間のある際にExcelに手打ちしている事が判明しました。 何とかしようと思っていたのですが、私自身もフロントエンジニア(デザイン・営業がメイン)でバックエンジニア等の知識不足(スプレットシートも)で困っていました。 恥ずかしながらGAS等初めて知りました。 教えて頂き本当にありがとうございます。 より多くの人を手助けするためにはやはり内部の事について詳しくならないと…と痛感しました。 少しずつ勉強していこうと思いました。 本当にありがとうございました。
YellowGreen

2023/05/15 05:40

お役に立たないと思っていたのでお使いいただけるとは光栄です。 運用に合わせて管理も年配者ということだとすると、組織の大きさにもよりますが、 次は人事異動(配置換え)があった際にプルダウンを自動で更新するスクリプトが欲しくなると思いますよ。
nouchi

2023/05/15 07:28 編集

なるほど なかなか難しいそうで来年度までにはGAS等の知識を蓄えたいと思います。 もしかしたら、また質問を投げているかもしれないのでその際はまた教えて頂けますと幸いです… 本当にありがとうございました‼
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問