2017-02-16 6 views
0

この問題を説明するには、次のデータを考慮してください。1,2,3,5,3,2。スプレッドシートの列にこれを入力し、カウントを表示するピボットテーブルを作成します。このピボットテーブル内の情報を利用して、私は新しいテーブルを作成したい、1と5ゼロを含む表の頻度カウント

1,1 
2,2 
3,2 
4,0 
5,1 

間のすべての値のカウントでこれを行うには良い方法は何ですか?私の最初の考えは、VLOOKUPを使用してルックアップエラーをトラップすることでした。しかし、明らかにピボットテーブルにはGETPIVOTDATAが優先されます。いずれにせよ、私は両方のアプローチで失敗しました。

カウントのピボットテーブルが「PivotTable1」であり、必要なすべてのルックアップキー(つまり、1〜5の数字)を保持している1つの列テーブルをすでに作成していると仮定します。この新しいテーブルの2番目の列には何を入力する必要がありますか?

+0

はすでにあなたのピボットテーブル内の1と5の間のすべての値のカウントを持っていないのですか? – CallumDA

+0

範囲でグループ化することができますhttps://exceljet.net/blog/how-to-group-a-pivot-table-by-age-range – Slai

+0

@Slaiこれはうまくいくはずですが、試してみてください。 1の増分を指定すると、4の0の値は分類されません。 – Alan

答えて

0

だから、これで始まる:1,2,3,5,3,2:次のデータを検討し、問題を説明するために

。スプレッドシートの列にこれを入力し、カウントを表示するピボットテーブルを作成します。 A1モードでは、

 
X | Freq           
- | --------------------------------------------- 
1 | =IFERROR(GETPIVOTDATA("X",R3C1,"X",RC[-1]),0) 
2 | =IFERROR(GETPIVOTDATA("X",R3C1,"X",RC[-1]),0) 
3 | =IFERROR(GETPIVOTDATA("X",R3C1,"X",RC[-1]),0) 
4 | =IFERROR(GETPIVOTDATA("X",R3C1,"X",RC[-1]),0) 
5 | =IFERROR(GETPIVOTDATA("X",R3C1,"X",RC[-1]),0) 

または::

は、私は、このようなテーブルを作成し、私のサマリー表で

 
X | Freq          
- | ----------------------------------------- 
1 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",F3),0) 
2 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",F4),0) 
3 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",F5),0) 
4 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",F6),0) 
5 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",F7),0) 

Xが列Fです。

やテーブル式のように:

 
X | Freq          
- | ------------------------------------------- 
1 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",[@X]),0) 
2 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",[@X]),0) 
3 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",[@X]),0) 
4 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",[@X]),0) 
5 | =IFERROR(GETPIVOTDATA("X",$A$3,"X",[@X]),0) 

私にこの結果を与えた:

 
X | Freq 
- | ---- 
1 | 1 
2 | 2 
3 | 2 
4 | 0 
5 | 1 
+0

テーブル式の答えに注目すると、私は 'GETPIVOTDATA'について非常に基本的な質問があるようです。回答の「X」の両方の出現は、基礎となるデータを含む元の表の列(すなわち、フィールド)の名前を表します。私は、ピボットテーブル自体を完全に参照することを期待していました(たとえば、列名を使用してピボットテーブルの列の1つの特定の値に一致させ、その列を別の列から抽出する)。これは可能ではない/望ましいのですか?ありがとう! – Alan

+0

@Alan - テーブル式では、第1と第2の "X"は元のピボットテーブルフィールドを参照し、 '[@X]'は出力テーブルのカラム 'X'を参照します。私は同じ値を表していたので、両方の場合でフィールドに同じ名前を使用しましたが、それを行う必要はありません。'= IFERROR(GETPIVOTDATA(" X "、$ A $ 3、" X "、1)、0)'を実行することで、値を式にハードコードすることができます。その後、2、3などの式を手動で変更する必要があります。 – Enigmativity

+0

はい、わかりました。私のポイントは少し違う。私は最初の "X"の出現を "Count of X"に置き換えることになります。これはピボットテーブルを直接参照するためです。これは機能します。しかし、第2の「X」の出現(フィールドの特定として)に相当する代替物は存在しないようである。とにかく、ソリューションをありがとう。 – Alan

0

パフォーマンスに大きな問題がない場合は、ピボットテーブルをバイパスしてCOUNTIF()機能を使用できます。

あなたがカウントをしたいすべての連続した番号のリストを作成し、最初のパラメータは、あなたの入力番号の範囲であることと、第二は、注文した結果リストの数であるとそれらのそれぞれのためCOUNTIF()を使用します。

A B C D 
1 1   1 =COUNTIF(A:A,C1) 
2 2   2 =COUNTIF(A:A,C2) 
3 3   3 =COUNTIF(A:A,C3) 
4 5   4 =COUNTIF(A:A,C4) 
5 3   5 =COUNTIF(A:A,C5) 
6 2 
関連する問題