2017-10-19 19 views
0

J'ai essayé de faire une formule Excel mais je n'ai pas trouvé la bonne combinaison.Compter uniquement les cellules visibles après le filtrage

Objectif: Je souhaite COUNTIFS cellules qui sont uniquement visibles après l'application de filtres à l'ensemble de données d'origine.

Courant/sortie Mauvais: 38

sortie correcte: 15

Voici la formule actuelle:

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

J'ai déjà essayé le sous-total mais les valeurs sont erronées. Deuxièmement, la fonction de sous-total affiche une erreur avec la fonction d'index/correspondance.

Voici ce que j'ai essayé:

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

J'ai aussi essayé de remplacer le COUNTA avec SUBTOTAL mais il montre l'erreur.

quelqu'un pourrait me conseiller l'espoir sur ce que je peux utiliser la syntaxe pour obtenir les cellules visibles comptent et comment je pourrais l'intégrer dans ma formule actuelle. Merci

+0

Il y a une façon intelligente de ne comptant que les lignes visibles ici https://exceljet.net/formula/count-visible-rows-only-with-criteria –

+0

Salut, Merci pour l'aide.Je vais essayer d'utiliser la formule fournie dans le lien, mais il semble être un peu difficile avec l'index match à être incorporé dans la formule. – Faheera

Répondre

0

Eh bien, c'est ce que vous obtenez si vous remplacez votre fonction d'index dans la formule standard que je l'ai mentionné

=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)))) 

Oui, il est un peu longtemps mais fonctionne.

J'ai changé références-Completement aux dix premiers rangs afin de le tester. Vous pouvez utiliser les références complètes colonnes, mais il est un peu lent

=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)))) 

je devais changer le paramètre de ligne dans l'instruction INDEX après la OFFSET de 0 à 1 pour obtenir une seule référence de cellule à OFFSET de.

Mes données de test ressemble à ceci et donne un nombre de 5 positifs non filtrée, 2 positifs lorsqu'ils sont filtrés pour un « x » dans la colonne E.

enter image description here

+0

Salut Tom Sharpe, La solution est grande, mais je voudrais ajouter une autre condition où la colonne c est pampers. Est-il possible d'ajouter une condition supplémentaire dans la formule? J'ai essayé mais je continue d'avoir des erreurs, peut-être que cela pourrait être dû au placement. – Faheera

+0

Désolé je ne suis pas revenu à vous - je pense que je l'ai mis en place sur mon ordinateur à la maison alors je l'essayerai plus tard –

+0

Il devrait être juste = SUMPRODUCT (('Mois courant! C: C = "Pampers ") * INDEX ... et le reste de la formule identique. –