DESIGN / CODE / INFRA / AI

解説

割合の合計が100%を超えたら間違い?AIの集計で複数回答と分母を確認しよう

アンケートの結果をAIへまとめてもらったら、割合の合計が150%になった。すぐ計算間違いと決める前に、一人がいくつ回答できたかを確認してみよう。

割合の合計が100%を超えたら間違い?AIの集計で複数回答と分母を確認しよう
保存リストを見る →
この記事の道しるべ 6項目

アンケートの結果をAIへまとめてもらったら、割合の合計が150%になった。すぐ計算間違いと決める前に、一人がいくつ回答できたかを確認してみよう。

このページでは、架空の四人の回答を使う。実際の回答者の情報やAIの有料サービスは不要。紙と電卓、またはPython 3で検算できるよ。

一つだけ選ぶか、複数選べるか

たとえば「普段使う制作ツール」を聞くとき、一つだけ選ぶ設問と、当てはまるものを全部選ぶ設問では数え方が違う。

Googleフォームの公式資料も、ラジオボタンなどの単一選択と、複数選べるチェックボックスを分けている。見た目の違いだけでなく、集計の前提が変わるんだ。

四人の回答を、手で数える

人 選んだツール
A デザイン、コード
B コード
C デザイン、コード
D デザイン

デザインを選んだ人は三人、コードを選んだ人も三人。回答者四人を分母にすると、それぞれ75%で、合計は150%になる。

同じ人が両方へ入っているため、二つを足しても、別々の人を数えた100%にはならない。複数回答なら、割合の合計が100%を超えること自体は矛盾ではないよ。

分母を六件の選択に変えると、別の問いになる

四人が選んだ数の合計は六件。この六件を分母にすれば、各ツールは三件ずつで50%・50%になる。

分母 問い 結果
回答者四人 何人がそのツールを選んだか 75%ずつ
選択六件 選ばれた件数の内訳はどうか 50%ずつ

どちらも計算できるけれど、伝えている内容は違う。合計を100%へ直すことを先に目的にせず、何を説明したいかを決めよう。

Pythonで検算する場合

answers = [{'design', 'code'}, {'code'}, {'design', 'code'}, {'design'}]
people = len(answers)
selections = sum(len(row) for row in answers)
for tool in ['design', 'code']:
    count = sum(tool in row for row in answers)
    print(tool, count / people * 100, count / selections * 100)

各行の割合は75.0と50.0になる。編集部では、手で数えた三人ずつ・全六件と、この計算結果を照合した。実際のAIの回答を測定したものではないよ。

AIへの依頼に、母数を添える

「これは複数回答です。割合は回答者数を分母にして、各選択肢を選んだ人数から計算してください。同じ人が複数の項目に入るため、合計100%へ正規化しないでください」と書ける。

未回答の人を含むか、設問ごとの有効回答者数を使うか、同じ回答の重複をどう扱うかも、必要に応じて決めよう。分母がゼロなら、割り算で割合を作らず、回答なしと分かる表示にする。

割合の言葉はパーセントとポイント、元の人数の影響は人数で重みを付ける平均へ。

参照した公式資料

確認日:2026年10月26日。

参考・出典

公開と変更の記録
  • :初回公開

日時は日本時間です。記載のある変更は、確認できた編集記録に基づきます。更新日の違いだけから変更内容を推測して載せることはありません。

更新・訂正の方針 →

みんなのコメント 0

感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。

最初のコメントをどうぞ。