2016-01-22 56 views
1

我不知道我是否以這種錯誤的方式去做,但它看起來應該很簡單。列A有一個名稱列表。沿着每一行是幾個「W」。另一個單獨的字段具有代表列A名稱的下拉列表。我想計算與選擇的名稱對應的「W」的數量。我試過使用VLOOKUP和COUNTIF,但我無法弄清楚如何選擇整個數組,然後單出匹配我所選名稱的一行。我可以用一堆IF語句來處理它,但是這太耗時,因爲我手動將該名稱與該行匹配(並且它不是未來的證明)。Excel - 從數組到條件的行從VLOOKUP到COUNTIF

+0

你能告訴我們一些示例數據和期望的結果嗎? – nekomatic

回答

1

有幾種方法可以首先「縮小」在你正在尋找的行上r,在此之後,您可以使用簡單的COUNTIFS來檢查該行中W的數量。

一種方法是簡單地使用間接和動態創建的行引用,像這樣[假設你的搜索小區C1]:

=COUNTIFS(INDIRECT(MATCH(C1,A:A,0)&":"&MATCH(C1,A:A,0)),"W") 

這首先使用MATCH找到合適的行,然後構建對該行的引用[如「24:24」],該行成爲INDIRECT傳遞給COUNTIFS的行,該行計算W的行數。

對於INDIRECT的僅一種用途,間接計算的高計算成本應該不是問題。

另一種方法是指出數據可能包含在[讓我們假設至多隻有H列將被使用]的全部可能框,然後使用INDEX給我們適當的行號,如下所示:

=COUNTIFS(INDEX(A:H,MATCH(C1,A:A,0)),0,"W") 

這再次使用MATCH找到包含A列中的C1找到值的行然後它從指數全可能框,並返回特定行中的所有列[注意,講述指數爲列#返回0實際上返回所有列]。

其他方法是可能的[例如OFFSET],但我相信這兩個顯示原理相當好。

0

您可以使用 「助手」 欄目方法:

enter image description here

在助手列:

=SUMIF($A$2:$A$9,K2,$I$2:$I$9) 

=COUNTIF(B2:H2,"W") 

然後在總計列中使用SUMIF()