2017-02-16 76 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的數字)的列表。我應該在這張新表的第二欄中填入什麼公式?

+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。在電子表格列中輸入此數據,並使數據透視表顯示計數。

然後我創建這樣的表:

 
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) 

或者說,在A1模式:

 
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」表示包含底層數據的原始表列(即字段)的名稱。我期望完全引用數據透視表本身(例如使用列名稱,然後匹配其中一個數據透視表列中的特定值以便從不同列中提取該行)。這是不可能的/可取的?謝謝! – Alan

+0

@Alan - 在表格公式中,第一個和第二個「X」指的是原始數據透視表字段,而「[@X]」指的是輸出表的列「X」。我在這兩種情況下都使用了相同的名稱,因爲它們表示相同的值,但您當然不需要這樣做。您可以通過將= = IFERROR(GETPIVOTDATA(「X」,$ A $ 3,「X」,1),0)'硬編碼到公式中。然後,您需要手動更改「2」,「3」等的公式。 – Enigmativity

+0

是的,我明白這一點。我的觀點有點不同。我傾向於用「X計數」替換第一次出現的「X」,因爲它直接指向數據透視表。這工作。但似乎沒有第二次出現的「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