Googleフォームで長文を入力しても、改行が反映されない・消えてしまう・1行につぶれて見えると悩む人はとても多いです。
とくに以下のような場面で「改行が効かない」問題がよく起こります。
- 回答者の画面で改行が見えない
- 自動返信メールで改行が消える
- スプレッドシートに改行が表示されない
- SlackやLINE通知で改行がなくなる
実はこれ、Googleフォームの不具合ではありません。
ほとんどの場合、表示先(メール・スプレッドシート・通知)の仕様によって改行が見えなくなっているだけです。
- 改行が反映されない原因
- スプレッドシート・メール・通知での対処方法
- Apps Scriptを使った正しい改行の扱い方
などを初心者でもわかるように丁寧に解説します。
この記事を読めば、どの環境でも改行が正しく反映されるフォーム運用ができるようになります。



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メール・折り返し設定でほぼ確実に解決できる


コメント