2017-01-04 229 views
0

我有一個包含多個工作表的工作簿。在工作表1上,我想計算A列中的人員在列C中具有滿足列D =內容的標準的特定條目的次數,但只有列B是唯一值時才計數。Excel計算多個列的唯一值

使用下面的公式我可以做所有事情,除了只計算列B中的唯一數字。我在Sheet2 C2中輸入該公式,然後拉到I2,然後在每列中下拉到6。

=IF(COUNTIFS(Sheet1!$A$2:$A$150,Sheet2!$B2,Sheet1!$C$2:$C$150,Sheet2!C$1,Sheet1!$D$2:$D$150,"Content")=0,"",COUNTIFS(Sheet1!$A$2:$A$150,Sheet2!$B2,Sheet1!$C$2:$C$150,Sheet2!C$1,Sheet1!$D$2:$D$150,"Content")) 

我正在使用double countifs不顯示0的。

這裏是什麼樣子的工作表Sheet1 Image

這裏是我想表2看 enter image description here

任何幫助或建議將不勝感激。

回答

0

您可以通過數據透視表來實現這一點。

  1. 選擇所有數據
  2. 插入 - >透視表
  3. 在彈出確保您勾選框與描述下方的「添加該數據的數據模型」,然後單擊確定。這將爲您創建工作表2。
  4. 透視表中的字段移動 「SR」的行節 「戲臺」到列部分 「刺」來過濾部分 「QN」到值部分

  5. 現在右鍵點擊在一些細胞樞軸,其通過示出QN 彙總值的總和/計數 - >更多optins

  6. 在彈出,滾動到底部並點擊「重複計數」
  7. 在樞軸的濾波器部(第一行的數據透視表其中指出「產品」),選擇「內容」

注意:如果第3步被遺漏,不同計數將不會出現在值部分。希望這可以幫助。

+0

謝謝你的迴應。我希望我可以通過Macro完全實現自動化。有沒有辦法在宏中使用ta Pivot Table? – user3407426

+0

是的,你可以很容易地記錄一個宏。實際上,您可以將它作爲一次性工作,並創建一個簡單的宏以在每次打開工作表時刷新數據透視表。另一種方法是將整個數據透視表創建記錄爲一個宏。這兩種解決方案同樣好用。 –

+0

這裏是如何:http://www.pryor.com/blog/tips-for-creating-perfect-pivot-tables-with-a-macro/ –

1

Vijayakumar的答案作品。如果你需要一個簡單的版本(無數據模型選項,使用這個公式E欄拖累

=SUMPRODUCT(--($B$1:B1=B2))>0 
  1. 選擇所有數據
  2. 插入 - >透視表
  3. 數據透視表中的字段將「SR」的行節「舞臺」列節「正式版」 &「isUnique設置」(Col E)來過濾部分和「QN」到值部分在樞軸一些細胞
  4. 現在右鍵點擊其中顯示的金額/數量QN總結 值 - >計數
  5. 在樞軸的過濾器部分,選擇「內容」
  6. 在樞軸(第二行的上 樞軸表的濾波部分,其指出「isUnique設置(其上指出「PROD」 透視表第一行) 「),選擇 「TRUE」

enter image description here

當你有新的數據,你只需要Change Data SourcePivot Table tools - >Analyze或刷新。但是,您可以將整個過程記錄爲宏來自動執行。

+1

你甚至可以創建大型行集樞軸和刪除空白數據透視表。這樣,當數據發生變化時,您可以簡單地更新工作表和刷新樞軸而不是「更改數據源」選項 –

+0

當我使用= SUMPRODUCT( - ($ B $ 1:B1 = B2))> 0時,如果QN是唯一的,即不匹配下面的數字它返回一個FALSE。如果數字不唯一,則返回True。這是好的,但確實會導致我不得不將第6行中的過濾器更改爲false而不是true。我是否錯過了某個步驟或者導致了這種情況? - Shawn – user3407426

+0

我不再有excel文件,但是我建議如果你想反轉結果,可以在'NOT()'函數中包裝公式。 – nightcrawler23