2017-06-06 34 views
0

我需要鏈接sumif()與索引匹配(我猜這裏),但不知道從哪裏開始。使用索引匹配與總和如果

基本上我有一個表,有不同種類的寵物,它們的種類和數量。有3家商店。我需要一個輸出,我可以從每個商店動態獲取每個物種的數量。

數據表:

"A1"    Pet Stores  
Species Class  a b c 
cat  Fluffy1 1 0 0 
cat  Fluffy2 3 0 0 
cat  Fluffy3 5 7 1 
cat  Fluffy4 6 0 7 
dog  Barky1  7 6 9 
dog  Barky2  1 3 9 
dog  Barky3  0 2 8 
dog  Barky4  0 2 3 
fish  Swimmy1 0 0 0 
fish  Swimmy2 1 3 0 
fish  Swimmy3 0 2 3 
fish  Swimmy4 0 0 0 

輸出:

Pet Store a <--change this 
cat   15 <--output 
dog   8 <--output 
fish  1 <--output 

現在我的 「貓」 的公式是=SUMIF($A$3:$A$14,A17,$C$3:$C$14)。但是,它只能看到我設置的1列。我如何改變它以搜索「寵物商店」並返回相應列的總和?

回答

2

如何:

公式單元格H3複製下來是

=SUMIF($A$2:$A$13,G3,INDEX($C$2:$E$13,,MATCH(H$2,$C$1:$E$1,0))) 

enter image description here

+0

真棒!創造奇蹟。這是你第二次回答我的qns。哈哈。非常感謝你的幫助! – adam

+0

大聲笑。這可能不是最後一次。請繼續提出這些問題! – teylyn

0

略短於@ teylyn的版本:

=SUMIF(A$2:A$13,A16,OFFSET(C$2:C$13,,CODE(B$15)-97)) 

但因爲它通用性較差,依賴於正在編碼的商店名稱(不過,正如在示例中那樣和有意義的列標籤的目的):

SO44381087 first example

但是我更傾向於將數據透視表:

SO44381087 second example

+1

多年前,我把自己放棄了,因爲它很不穩定。在這些我們在問題中使用的小數據樣本中,這並不重要,但是我已經看到了工作簿的暫停,因爲他們不斷地重新計算由於偏移等易失性函數。數據透視表是一個好主意,但源數據已經是交叉表,並且需要進行標準化(即未轉換),所以透視表可以通過A,B或C(或使用切片器)進行過濾。 – teylyn

+0

@teylyn我同意。雖然我懷疑我在這裏看到的很多公式Q可能是整個數據集(可能是'匿名')而不是樣本(而且很多VBA本質上可能是「一次性」的要求)。以這種方式使用的代碼在26個實例後變得複雜。如果上面的數據真的只是一個小樣本,那麼我希望數據能夠被捕獲爲「單位」,那麼PT將真正實現它自己。比如上面說的10k記錄,你更喜歡PT的公式嗎? – pnuts