Googleフォーム調査のデータセットがあります。特定の質問タイプ、正確にはグリッドのデータを表す問題が発生しました。
たとえば、 this one: のような質問が表示されます。
googleはすべてのデータを次のようなスプレッドシートに収集します。
次に、すべてを理解するために、.xlsx形式でダウンロードします。ピボットしようとしても、最初の列から「はい」と「いいえ」をカウントし、それを2番目と3番目にコピーするだけなので、私が期待していることを正確に実行していません。
私はこのようなものを手に入れます:
私はオンラインでピボットテーブルを見つけようとしてしばらく時間を費やしました。ほとんどの場合、問題なく使用できますが、これは問題を引き起こします。 Excelのfindif()関数を使用して、生データから新しいテーブルを作成し、それを操作する方法を見つけましたが、このアプローチは人為的エラーが発生しやすいようです。
これが結果であり、データを手動で調整せずに生データから取得したいものです。
私の問題をよりよく理解するために、 ダウンロード 、またはオンラインでスプレッドシートを見ることができます。
これは、元の式に比べてエラーが発生しにくい式です。ヘッダーと最初の列に記載されている列と変数が実際に要約されるため、誤って変更することはできません。エラーまたは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)
-列内のヘッダーデータの出現回数をカウントします。@mátéjuhászが述べたように、ピボットテーブルは、すでに「ピビオット」されているデータではうまく機能しません。列を作成するには、テーブルをフラット化する必要があります。ピボットテーブルを希望どおりに機能させるための回答。
別の方法として、非常に単純なテーブルを自分で作成することもできます。このテーブルは、ソーステーブルからデータを取得し、グラフ化のためにデータを準備します。下のスクリーンショットにあるように、これにより正しい結果が得られます。実際には、中間のテーブルとチャートをすべて別々のワークシートに配置します。
表の各セルには、次の数式があります:COUNTIF(<name_of_your_table>[<column_title>];[@answer])
(_<...>
_を正しい値に置き換えます)。たとえば、購入列にはCOUNTIF(Tabela2[purchase];[@answer])
があります