2015-08-31 27 views
-2

我與銷售(保持例子簡單)3列查找基於多個列的不同值

NAME -- STATE -- COUNTRY 

很容易找到多少銷售的電子表格。 (和所有的線) 我可以找出我有多少客戶,但如何對來自特定國家(和國家)

NAME -- STATE -- COUNTRY 
p1----- CA------ USA 
p2----- CA------ USA 
p1----- CA------ USA 
p1----- CA------ USA 
p3----- NY------ USA 
p3----- NY------ USA 

上面的例子會給兩個獨特的客戶來自CA,並找出有多少客戶從NY 1個獨特的客戶和3從美國

編輯:

從上表中的期望的結果將是

STATE - UNIQUE CUSTOMERS 
CA ---- 2 
NY ---- 1 

COUNTRY - UNIQUE CUSTOMERS 
USA ---- 3 

回答

1

假設您的數據在列A,B和C的第1行中有標題,請按照以下說明操作。

在單元格F1中輸入STATE。

在單元格G1中輸入COUNT。

在小區F2進入此陣列式(必須與Ctrl鍵 + + Enter↵待定):

=IFERROR(INDEX(B$2:INDEX(B:B,COUNTA(B:B)),MATCH(0,COUNTIF(F$1:F1,B$2:INDEX(B:B,COUNTA(B:B))),)),"") 

在單元格G2輸入此規則式(使用回車確認) :

=IF(LEN(F2),COUNTIF(B2:B13,F2),"") 

選擇F2:G2並複製。

現在選擇F3:F51並粘貼。

UPDATE

改變問題的性質。第一個公式與以前完全一樣。它會在源數據中獲取不同的狀態並將它們剔除,以便它們不顯示空白。

第二個公式現在有所不同。它需要計算每個狀態中不同客戶的數量,並且現在已經使用確認了一個數組公式,並按照以下步驟操作: + Shift + Enter↵)。

=IF(LEN(F2),SUM(IF(F2=$B$2:$B$50,1/(COUNTIFS($B$2:$B$50,F2,$A$2:$A$50,$A$2:$A$50)),)),"") 
+0

我審閱了我不明白這是如何工作。這是如何引用列A(名稱)?其次爲什麼「必須使用Control-Alt-Delete進行確認?這對我沒有意義。 – Mayo

+0

很高興回答您的問題,但首先您是否按照指示嘗試了它? –

+0

對不起,應該是Control-Shift -Enter。 –

1

這個公式(輸入作爲數組式CTRL-SHIFT-ENTER)將計數名稱的出現的次數在MyState

=COUNTIFS(Names,Names,States,MyState) 

因此,如果MyState = 「CA」 將返回{ 3; 1; 3; 3; 0; 0}

要獲得CA中的名稱數目,您可以將該數組的倒數相加,除了取零的倒數無效/無限。因此,包裝上面的公式在測試零:如果是零,輸出爲零,否則取倒數(的,你去設置無限等於零非常罕見的情形!):

=IF(COUNTIFS(Names,Names,States,MyState)=0,0,1/COUNTIFS(Names,Names,States,MyState)) 

(仍然是一個。陣列式)

對於CA這將返回{0.333333; 1; 0.333333; 0.333333; 0; 0}

的最後一步是與陣列式來總結:

=SUM(IF(COUNTIFS(Names,Names,States,MyState)=0,0,1/COUNTIFS(Names,Names,States,MyState))) 

這possi因爲舍入錯誤,這可能會返回2.99999 ...而不是3。如果這是一個問題,你可以通過用ROUND函數包裝它或設置顯示格式爲零的小數位來修復它。

它應該是直接修改這個按國家計數。希望有所幫助。

1

由於這個問題也有一個「谷歌電子表格」的標籤,這將是我建議的配方,在谷歌電子表格的使用:

對於狀態計數:

=query(unique(ArrayFormula({A2:A&B2:B, A2:C})), "select Col3, count(Col1) where Col3 <> '' group by Col3 label count(Col1)''",0) 

並面向全國計數:

=query(unique(ArrayFormula({A2:A&B2:B&C2:C, C2:C})), "select Col2, count(Col1) where Col2 <> '' group by Col2 label count(Col1)''",0) 

另見this example spreadsheet.

+0

在工作時無法訪問Google。今晚稍後再看, – Mayo

+0

我已將共享設置爲「公開」,因此您應該能夠立即看到它。 – JPV

-1

易在Excel 2013數據透視表:

SO32302815 first example

也容易與谷歌電子表格:

SO32302815 second example

+0

謝謝。但我對使用數據透視表不感興趣。這也將用於谷歌牀單。 – Mayo