web-dev-qa-db-ja.com

Excelの調査データのピボット、プロット、分析

Googleフォーム調査のデータセットがあります。特定の質問タイプ、正確にはグリッドのデータを表す問題が発生しました。

たとえば、 this one: のような質問が表示されます。

form

googleはすべてのデータを次のようなスプレッドシートに収集します。

data

次に、すべてを理解するために、.xlsx形式でダウンロードします。ピボットしようとしても、最初の列から「はい」と「いいえ」をカウントし、それを2番目と3番目にコピーするだけなので、私が期待していることを正確に実行していません。

私はこのようなものを手に入れます:

pivoting data

私はオンラインでピボットテーブルを見つけようとしてしばらく時間を費やしました。ほとんどの場合、問題なく使用できますが、これは問題を引き起こします。 Excelのfindif()関数を使用して、生データから新しいテーブルを作成し、それを操作する方法を見つけましたが、このアプローチは人為的エラーが発生しやすいようです。

これが結果であり、データを手動で調整せずに生データから取得したいものです。

findif function

私の問題をよりよく理解するために、 ダウンロード 、またはオンラインでスプレッドシートを見ることができます。

2
Enis P. Aginić

これは、元の式に比べてエラーが発生しにくい式です。ヘッダーと最初の列に記載されている列と変数が実際に要約されるため、誤って変更することはできません。エラーまたは0が表示されるものを入力ミスすると、最悪のケースが発生する可能性があります。

=COUNTIF(INDEX(Tabela2[#All],0,MATCH($E2,Tabela2[#Headers],0)),F$1)、ここで:

  • MATCH($E2,Tabela2[#Headers],0))-最初の列で指定された元のテーブルの列を検索します
  • INDEX(Tabela2[#All],0,MATCH(...))-この見つかった列のアドレスを取得します
  • =COUNTIF(INDEX(...),F$1)-列内のヘッダーデータの出現回数をカウントします。

enter image description here

1
Máté Juhász

@mátéjuhászが述べたように、ピボットテーブルは、すでに「ピビオット」されているデータではうまく機能しません。列を作成するには、テーブルをフラット化する必要があります。ピボットテーブルを希望どおりに機能させるための回答。

別の方法として、非常に単純なテーブルを自分で作成することもできます。このテーブルは、ソーステーブルからデータを取得し、グラフ化のためにデータを準備します。下のスクリーンショットにあるように、これにより正しい結果が得られます。実際には、中間のテーブルとチャートをすべて別々のワークシートに配置します。

表の各セルには、次の数式があります:COUNTIF(<name_of_your_table>[<column_title>];[@answer])(_<...>_を正しい値に置き換えます)。たとえば、購入列にはCOUNTIF(Tabela2[purchase];[@answer])があります

Solution screenshot

1
agtoever