2017-10-19 111 views
0

我一直在嘗試做一個Excel的公式,但無法找到正確的組合。過濾後只計數可見細胞

目標:我想要COUNTIFS細胞只在將過濾器應用到原始數據集後纔可見。

電流/錯誤輸出:38

正確的輸出:15

這裏是電流式:

=COUNTIFS(INDEX('Current Month'!$A:AJ,0,MATCH("Dryness + Absorbency",'Current Month'!$A$1:$AJ$1,0)),"POSITIVE")

我已經嘗試了小計,但是這些值是錯誤的。其次,小計函數顯示索引/匹配函數的錯誤。

這裏是我的嘗試:

=COUNTA(103,INDEX('Current Month'!$A:AJ,0,MATCH("Dryness + Absorbency",'Current Month'!$A$1:$AJ$1,0)),"POSITIVE")

我也試圖與小計更換COUNTA,但它顯示錯誤。

希望有人可以建議我可以使用什麼語法來獲取可見細胞數量,以及如何將其納入我當前的公式。謝謝

+0

當2個陽性有隻計算可見行的一個聰明的方式這裏https://exceljet.net/formula/count-visible-rows-only-with-criteria –

+0

嗨,感謝您的幫助。我會嘗試使用鏈接中提供的公式,但將索引匹配併入公式中似乎有點困難。 – Faheera

回答

0

嗯,這是,如果你替換你的索引功能,到我提到

=SUMPRODUCT((INDEX('Current month'!$A1:AJ10,0,MATCH("Dryness + Absorbency",'Current month'!$A$1:$AJ$1,0))=C10)*(SUBTOTAL(103,OFFSET(INDEX('Current month'!$A1:AJ10,1,MATCH("Dryness + Absorbency",'Current month'!$A$1:$AJ$1,0)),ROW(INDEX('Current month'!$A1:AJ10,0,MATCH("Dryness + Absorbency",'Current month'!$A$1:$AJ$1,0)))-MIN(ROW(INDEX('Current month'!$A1:AJ10,0,MATCH("Dryness + Absorbency",'Current month'!$A$1:$AJ$1,0)))),0)))) 

是的,它是一個位的標準公式,你會得到什麼很長,但確實有效。

我已將全列引用更改爲前十行以便對其進行測試。你可以使用全列引用,但它是一個有點慢

=SUMPRODUCT((INDEX('Current month'!A:AJ,0,MATCH("Dryness + Absorbency",'Current month'!A1:AJ1,0))=C10)*(SUBTOTAL(103,OFFSET(INDEX('Current month'!A:AJ,1,MATCH("Dryness + Absorbency",'Current month'!A1:AJ1,0)),ROW(INDEX('Current month'!A:AJ,0,MATCH("Dryness + Absorbency",'Current month'!A1:AJ1,0)))-MIN(ROW(INDEX('Current month'!A:AJ,0,MATCH("Dryness + Absorbency",'Current month'!A1:AJ1)))),0)))) 

我追蹤的偏移從0到1得到的只是一個單一的單元格引用從以抵消更改該行參數在INDEX語句。

我的測試數據看起來像這樣,並給出未過濾的5個陽性的計數,過濾爲的「x」在列E.

enter image description here

+0

嗨湯姆夏普, 解決方案是偉大的,但我想補充一個條件,其中列c是幫寶適。是否可以在公式中添加一個條件?我嘗試過,但我一直有錯誤,也許這可能是由於放置。 – Faheera

+0

對不起,我還沒有回到你身邊 - 我想我已經在家裏的電腦上安裝了這個設置,所以以後會試一試 –

+0

它應該是= SUMPRODUCT((當前月份!)C:C =「幫寶適「)* INDEX ...和公式的其餘部分相同。 –