Googleフォームで複数商品入力を縦並び管理する方法|スプレッドシートで見やすく整理するコツ

クラウドサービス

Googleフォームでレシート単位に複数の商品を入力できるようにすると、回答管理が便利になる一方で、スプレッドシート側では「横に長く並んでしまう」という問題が発生しやすくなります。特にセクション分岐を利用したフォームでは、回答が1行に集約される仕様のため、あとから集計しにくく感じる人も少なくありません。

この記事では、Googleフォームの仕様を踏まえながら、商品ごとに縦並びで整理する方法や、Googleスプレッドシート・Excelを使った現実的な管理方法について解説します。

Googleフォームは「1回答=1行」が基本仕様

まず理解しておきたいのが、Googleフォームは回答単位で1行に保存される仕様という点です。

そのため、質問文にあるように「セクション2」「セクション3」と繰り返し入力を作ると、スプレッドシートでは以下のようになります。

日時 商品1 金額1 商品2 金額2 商品3 金額3
2026/5/28 洗剤 500 スポンジ 100 タオル 300

つまり、Googleフォーム単体では「商品ごとに縦へ追加」はできません。

理想形に近づけるなら「1商品=1回答」が最強

実務的に最も扱いやすいのは、「1商品ごとにフォーム送信する方式」です。

例えば以下のようにします。

  • 購入日
  • 店舗名
  • 商品カテゴリ
  • 商品名
  • 金額
  • 支払方法
  • レシート番号
  • レシート画像

そして、同じレシートの商品でも1商品ごとにフォーム送信します。

この方式ならスプレッドシートでは自然に縦並びになります。

日付 商品名 金額 レシート番号
5/28 洗剤 500 A001
5/28 スポンジ 100 A001

集計・フィルタ・ピボットテーブルも非常にやりやすくなります。

現在のフォーム構成を活かすならスプレッドシート側で整形する

既にフォームを作り込んでいる場合は、Googleスプレッドシート側で縦持ち変換する方法があります。

例えば以下のような補助シートを作成します。

方法1:QUERY関数やARRAYFORMULAを使う

Googleスプレッドシートでは関数を使って、横並びデータを縦方向へ変換できます。

ただし、セクションが10個ある場合は数式がかなり複雑になります。

ある程度スプレッドシート操作に慣れている方向けです。

方法2:Apps Scriptで自動整形

Google Apps Scriptを使うと、フォーム送信時に「商品ごとに1行へ自動変換」できます。

例えば以下のような処理です。

  • フォーム回答シートを監視
  • 商品1〜10を順番に確認
  • 入力済み商品のみ別シートへ1行ずつ追加

この方式だと、元フォームはそのままで、管理用シートだけ綺麗な縦型になります。

空の質問を入れて列を揃える方法はおすすめしない

質問内にある「空欄用の質問を追加して整列する方法」ですが、基本的にはおすすめできません。

理由としては以下があります。

  • 列数が増えすぎる
  • 管理が複雑になる
  • あとから修正しづらい
  • 分析時に不要列が邪魔になる

特にレシート管理のように今後データ量が増える用途では、最初から「縦持ち」を前提にした設計のほうが圧倒的に扱いやすくなります。

ExcelやLooker Studioを使う方法も便利

Googleスプレッドシートだけでなく、ExcelのPower Queryを使う方法もあります。

Power Queryなら、横持ちデータを数クリックで縦持ち変換できます。

また、集計目的ならLooker Studioを使うことで、カテゴリ別・支払方法別の分析も簡単になります。

おすすめ構成の実例

実務的には以下の構成がかなり使いやすいです。

項目 おすすめ
入力方式 1商品ごと送信
レシート識別 レシート番号共通化
画像管理 Googleドライブ保存
分析 ピボットテーブル
自動化 Apps Script

特に「レシート番号」で同一会計を紐付ける方法は、経費管理でもよく使われています。

まとめ

Googleフォームは仕様上「1回答=1行」になるため、セクションを増やすほど横長データになります。商品単位で縦並び管理したい場合は、「1商品=1回答」に設計変更するか、GoogleスプレッドシートやApps Scriptで縦持ち変換するのが現実的です。将来的な集計や分析のしやすさを考えると、最初から縦型データを意識して設計すると管理がかなり楽になります。

コメント

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