こんにちは😃愛西スタッフです!

 

 

先日、アンケートの入力作業がありました。
中にはWebサイトのフォームを使って回答されたものもあり、それも集計作業の対象となりました。
ここで、今回集計の際に工夫したことをダミーアンケート「あなたが一番好きな日本の伝統料理は何ですか?」を使って説明します。

 

 

Q. あなたが一番好きな日本の伝統料理は何ですか?(複数選択可)1. 寿司
2. 天ぷら
3. すき焼き
4. おでん
5. 味噌汁
6. うな重
7. そば
8. その他(自由記述)

 

回答の形式と集計上の課題

Web回答はCSV形式で保存されていて、内容は次のように1セルに複数の回答が「番号 項目名」という形式でセミコロン(「;」)区切りで入っています:

例: 1 寿司;2 天ぷら;5 味噌汁

この形式、人が読むには分かりやすいのですが、番号だけを集計するには一工夫が必要です。というのも、回答番号がテキストと一緒に入っており、そのままでは集計や分析に使えないからです。
今回のアンケートの、納品データの形式として1つのセルに「番号だけ」を入れなければなりませんでした。そこで、どうやって番号を抽出したかを説明します。

 

🛠 SpreadSheetで番号を抽出する工夫

ステップ①:番号だけを抜き出す

まず、**「1 寿司;2 天ぷら;5 味噌汁」**のような文字列から、番号だけ(1,2,5)を抜き出す処理を行います。

使った関数はこちら:

=SPLIT(REGEXREPLACE($A2,"[^0-90-9;]",""),";")

✅ 解説:

  • REGEXREPLACE($A2,”[^0-90-9;]”,””)
    → 数字とセミコロン以外の文字をすべて削除します。実際のデータでは1桁の番号が全角で入っていました。
    → 結果:1;2;5
  • SPLIT(…,”;”)
    → セミコロンで分割し、それぞれの番号を別のセルに展開します。

この処理だけで、番号「1」「2」「5」をそれぞれのセルに取り出せます!

 

 

ステップ②:昇順に並べて、カンマ区切りにする

納品データではカンマ区切りの1セルにまとめる処理をそのまま行ったのですが、Web回答では選択肢を選んだ順がそのまま保存されますので、先に昇順に並べ替える処理を行った方がより丁寧でした。

並べ替え処理を行えば、順序違いを同じ組み合わせとして処理できて、より集計しやすい形になっていたでしょう。

並べ替えとデータのまとめを行う関数が以下のようになります:

=TEXTJOIN(",", TRUE, SORT(TRANSPOSE(FILTER(C2:J2, TRUE))))

✅ 解説:

  • FILTER(C2:J2, TRUE)
    → セル範囲 C2:J2 からすべての値を取得(空欄は無視)
  • TRANSPOSE(…)
    → 横並びのデータを縦に変換(SORT関数で並べ替えやすくする)
  • SORT(…)
    → 昇順に並び替え
  • TEXTJOIN(“,”, TRUE, …)
    → カンマでつなげて1つのセルにまとめる

この一連の処理で、「1,2,5」のような番号リストを簡単に作成できます。

 

 

✅ 実際の出力例(ダミーデータ)

回答 番号 番号(タブ区切り)
1 寿司;2 天ぷら;5 味噌汁 1,2,5 1 2 5
3 すき焼き;6 うな重 3,6 3 6
4 おでん;1 寿司;8 納豆ご飯 1,4,8 4 1 8
2 天ぷら;5 味噌汁;7 そば 2,5,7 2 5 7
7 そば;1 寿司;6 うな重 1,6,7 7 1 6
3 すき焼き;4 おでん;2 天ぷら 2,3,4 3 4 2
5 味噌汁;8 肉じゃが 5,8 5 8
6 うな重;1 寿司 1,6 6 1
2 天ぷら;3 すき焼き;5 味噌汁 2,3,5 2 3 5
7 そば;4 おでん;8 焼き魚 4,7,8 7 4 8

 

 

✨ SpreadSheet活用で作業がぐっと楽に!

このように、Google SpreadSheetの関数の組み合わせを活用することで、

  • 複雑なテキストからの番号抽出
  • 昇順ソート
  • カンマ区切りでまとめる

といった処理が、マクロやプログラムを書かずに実現できます。

一件面倒そうに見える作業も、
SpreadSheetの正規表現・テキスト処理系関数をうまく使えば、かなりの時短と効率化につながります。

「番号と選択肢が一緒に入っているデータ」に悩んでいる方は、
ぜひこの方法を試してみてください!