Googleフォームの改行が反映されない原因と対処法

Google

Googleフォームで長文を入力しても、改行が反映されない・消えてしまう・1行につぶれて見えると悩む人はとても多いです。
とくに以下のような場面で「改行が効かない」問題がよく起こります。

  • 回答者の画面で改行が見えない
  • 自動返信メールで改行が消える
  • スプレッドシートに改行が表示されない
  • SlackやLINE通知で改行がなくなる

実はこれ、Googleフォームの不具合ではありません。
ほとんどの場合、表示先(メール・スプレッドシート・通知)の仕様によって改行が見えなくなっているだけです。

この記事でわかること
  • 改行が反映されない原因
  • スプレッドシート・メール・通知での対処方法
  • Apps Scriptを使った正しい改行の扱い方

などを初心者でもわかるように丁寧に解説します。
この記事を読めば、どの環境でも改行が正しく反映されるフォーム運用ができるようになります。

  1. Googleフォームで「改行が反映されない」主な原因とは?
  2. 原因① フォーム回答画面のプレビュー仕様によるもの
    1. 回答者の画面では改行が1つにまとめられることがある
    2. 実際の回答データには改行が残っている場合もある
    3. プレビューで確認する際の注意点
  3. 原因② 自動返信メールで改行が消える(GASや外部ツール利用時)
    1. テキスト形式のメールでは改行が正常に反映されないことがある
    2. HTMLメールなら改行を強制的に反映できる
    3. GASで改行を正しく送るコード例
  4. 原因③ スプレッドシートが改行を折り返さず表示しているだけ
    1. 単純表示の問題で、改行自体は保存されているケース
    2. 「テキストの折り返し」で表示が整う
    3. セル内の改行を検索・確認する方法
  5. 原因④ 外部通知(Slack・LINE Notifyなど)で改行が無効化される
    1. 1行にまとめられるのは仕様の可能性あり
    2. メッセージ形式(JSON・Webhooks)によって挙動が異なる
      1. Slack の場合
      2. LINE Notify の場合
    3. 外部サービスで改行を反映させる設定方法
  6. 改行を正しく反映させるための対処法
    1. Googleフォーム側でできる対策
    2. スプレッドシート側の対処法
    3. メール・通知の対処法
  7. Apps Scriptで改行が反映されるメールを送るコード例
    1. 基本の改行コードを使う
    2. HTMLメールで確実に改行を反映させる
    3. テンプレート化しておくと便利
  8. よくある質問(FAQ)
      1. 「2つ改行しても1つになるのはなぜ?」
      2. 「スマホだと改行が消えるのは?」
      3. 「スプレッドシートに改行が入らない場合は?」
  9. まとめ|改行が反映されない原因は“表示の仕様”がほとんど

Googleフォームで「改行が反映されない」主な原因とは?

Googleフォームでは、回答自体には改行が入っているにもかかわらず、表示される場所によって改行が消えたり、1 行にまとめられたりします。
その理由は、Googleフォームそのものではなく 表示先の仕様 によるものです。

主な原因は次の4つです。

  • 回答画面では改行が表示されにくい仕様
  • 回答メール(自動返信)で改行が消える場合がある
  • Googleスプレッドシート側で改行が見えにくい設定になっている
  • 通知メールの形式によって改行が無効化される(GAS・Slackなど)

原因ごとに詳しく解説していきます。

原因① フォーム回答画面のプレビュー仕様によるもの

Googleフォームの回答画面では、回答者が入力した改行がそのまま見えない場合があります。

回答者の画面では改行が1つにまとめられることがある

スマホのフォームでは特に、

  • 改行が小さく表示される
  • 行の高さが詰められる
  • 2つの改行が1つにまとまる

といった見え方の変化が起こります。
これは入力 UI の仕様であり、不具合ではありません。

実際の回答データには改行が残っている場合もある

不思議に思えますが、実際には…

  • スプレッドシート
  • 回答エクスポート(CSV)

には改行がしっかり残っていることが多いです。
見た目だけの問題で、データが壊れているわけではありません。

プレビューで確認する際の注意点

フォーム作成者がプレビューを見ても、

  • 改行の入り方が反映されない
  • 空行が詰まる

といった現象が起きます。
正しい結果は 実際に送信 → 回答データで確認 する必要があります。

原因② 自動返信メールで改行が消える(GASや外部ツール利用時)

Googleフォームの「回答のコピー送信」や、Apps Script(GAS)で送るメールでは、改行が正常に反映されないことがよくあります。

テキスト形式のメールでは改行が正常に反映されないことがある

特に Gmail のテキストメールは、

  • 複数の改行を 1 つにまとめる
  • 空行を削除する
  • 行頭のスペースを詰める

といった挙動があります。
「メールだから崩れる」という認識を持っておくと楽です。

HTMLメールなら改行を強制的に反映できる

改行を確実に 1 行ずつ反映したい場合は、

<br>

を使った HTMLメールに切り替える ことで解決します。

GASで改行を正しく送るコード例

改行を保持したメールを送るには、以下が基本です。

var body = responseText.replace(/\n/g, "<br>");

MailApp.sendEmail({
  to: email,
  subject: "ご予約ありがとうございます",
  htmlBody: body
});

ポイントは、

  • 改行コード(\n)を <br> に置き換える
  • htmlBody を使う

これで100%改行が反映されます。

原因③ スプレッドシートが改行を折り返さず表示しているだけ

スプレッドシートでは、改行が入っていても**「見えにくい表示」になっているだけ**の場合も多いです。

単純表示の問題で、改行自体は保存されているケース

スプレッドシートのデフォルトでは、

  • セルの高さが固定
  • テキスト折り返しが OFF
  • 行の高さが狭い

となっているため、改行されても見えません。

「テキストの折り返し」で表示が整う

対処法:メニュー → ︙ → テキストの折り返し → 折り返す
これだけで改行が見えるようになります。

セル内の改行を検索・確認する方法

セルをダブルクリックすると…

あいうえお
かきくけこ

のように改行されています。(表示だけが詰まって見える状態です)

原因④ 外部通知(Slack・LINE Notifyなど)で改行が無効化される

Googleフォーム → GAS → 通知 という流れでは、外部サービスごとに改行仕様が違います。

1行にまとめられるのは仕様の可能性あり

SlackやLINEは、

  • 2回の改行が 1 回に変わる
  • 1 回の改行が無視される

という仕様があります。

メッセージ形式(JSON・Webhooks)によって挙動が異なる

Slack の場合

  • 通常のテキスト投稿 → 改行が \n のまま表示
  • Blocks API → 改行を正しく処理

LINE Notify の場合

  • 複数改行はひとつにまとめられる仕様

サービスごとに挙動がバラバラです。

外部サービスで改行を反映させる設定方法

例:Slack(Blocks API)

var payload = {
  text: "ご回答内容",
  blocks: [
    {
      type: "section",
      text: {
        type: "mrkdwn",
        text: message.replace(/\n/g, "\n\n")
      }
    }
  ]
};

外部通知を使う場合は、改行の変換処理が必須です。

改行を正しく反映させるための対処法

原因がわかったところで、対処方法をまとめます。

Googleフォーム側でできる対策

  • 長文入力には「段落」を選ぶ
  • 説明欄に「必要に応じて改行してください」と記載
  • 入力エリアを増やすことで改行が反映されやすくなる

スプレッドシート側の対処法

  • 「テキストの折り返し」を ON
  • 行の高さを自動調整
  • 改行を追加する場合は CHAR(10) が使える

例:

= A1 & CHAR(10) & B1

メール・通知の対処法

  • HTMLメールに切り替えて <br> を使う
  • Apps Scriptでは改行コード(\n)を統一
  • SlackやLINEは「改行の変換」が必要

Apps Scriptで改行が反映されるメールを送るコード例

改行の混乱を防ぐには、以下のテンプレートが最強です。

基本の改行コードを使う

var message = "ご回答内容\n\n" + answer;

HTMLメールで確実に改行を反映させる

var html = message.replace(/\n/g, "<br>");

MailApp.sendEmail({
  to: email,
  subject: "ご回答ありがとうございます",
  htmlBody: html
});

テンプレート化しておくと便利

よく使う文章はテンプレートとしてスクリプト化しておくと、毎回改行トラブルに悩まされなくなります。

よくある質問(FAQ)

「2つ改行しても1つになるのはなぜ?」

メールや外部ツールが自動で「連続改行をまとめる」仕様のためです。

「スマホだと改行が消えるのは?」

スマホ入力欄の表示都合で、改行が“見えにくい”だけです。
データには残っています。

「スプレッドシートに改行が入らない場合は?」

折り返し設定を ON にするか、Ctrl + Enter(Macは Command + Enter)で改行を入力できます。

まとめ|改行が反映されない原因は“表示の仕様”がほとんど

最後に重要なポイントを整理します。

  • データには改行が残っていることが多い
  • 表示先(メール・スプレッドシート・外部ツール)で見えないだけ
  • Googleフォーム側に大きな問題はない
  • GAS・HTMLメール・折り返し設定でほぼ確実に解決できる

この記事を書いた人
管理人

2012年にWebデザインの勉強を始め、2013年より制作会社に勤務。
これまでに500件以上のWebサイト制作・運用に携わってきました。
現在も制作会社に勤務しながら、Webデザインスクールのトレーナーとしても後進の育成に取り組んでいます。
WordPressやデザインの実践的なノウハウを、初心者にもわかりやすく発信できるよう試行錯誤しています。

管理人をフォローする
Google
スポンサーリンク
管理人をフォローする

コメント

タイトルとURLをコピーしました