J'ai une base de données d'environ 100 colonnes avec des données similaires à celles de COL A à COL H.

J'utilise la formule en COL J pour rechercher dans une colonne deux lignes consécutives avec "-" et marquer la deuxième ligne comme un double comme vous pouvez le voir sur J16 et J32. Cette méthode prend du temps car je recherche souvent des colonnes différentes et je dois changer la formule à chaque fois.

Je voudrais quelque chose comme N3. En entrant l'ID de colonne et quand j'appuie sur Entrée, j'obtiendrai automatiquement le nombre de lignes avec deux "-" consécutifs et j'aimerais aussi augmenter pour rechercher des triplets et des quadruples.

Toute aide sera appréciée.

Formule sur J2:

=IF(AND(OR(F2=F1,F1="-"),F2="-"),"double","")

image ici

0
Camberra CacaitA 9 août 2017 à 23:26

2 réponses

Meilleure réponse

En N5 pour compter les doubles,

=COUNTIFS(INDEX(A:H, 2, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64)), CODE(UPPER(N3))-64), "-",
          INDEX(A:H, 3, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+1, CODE(UPPER(N3))-64), "-")

C'est l'équivalent dynamique de l'utilisation,

=COUNTIFS(G2:G20, "-", G3:G21, "-")

En N6 pour compter les triplets,

=COUNTIFS(INDEX(A:H, 2, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64)), CODE(UPPER(N3))-64), "-",
          INDEX(A:H, 3, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+1, CODE(UPPER(N3))-64), "-",
          INDEX(A:H, 4, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+2, CODE(UPPER(N3))-64), "-")

En N7 pour compter les quads,

=COUNTIFS(INDEX(A:H, 2, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64)), CODE(UPPER(N3))-64), "-",
          INDEX(A:H, 3, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+1, CODE(UPPER(N3))-64), "-",
          INDEX(A:H, 4, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+2, CODE(UPPER(N3))-64), "-",
          INDEX(A:H, 5, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+3, CODE(UPPER(N3))-64), "-")

Si vous avez besoin de quintes, vous devriez pouvoir en tirer l'idée.

enter image description here

1
9 août 2017 à 21:07

Vous souhaitez utiliser votre entrée de colonne dans la cellule N3. Vous pouvez le faire en utilisant la fonction indirecte. Modifiez simplement la formule dans la cellule J2 de ceci:

=IF(AND(OR(F2=F1,F1="-"),F2="-"),"double","")

... à ceci:

=IF(AND(INDIRECT(N$3&ROW())="-",INDIRECT(N$3&ROW()-1)="-"),"double","")

Vous pouvez attraper des triplets et des quadruples de la même manière, essayez cette formule ... cela ne fonctionnera qu'à partir de la rangée 4, et les résultats peuvent sembler désordonnés, en fonction de ce dont vous avez besoin:

=IF(AND(INDIRECT(N$3&ROW()-1)="-",INDIRECT(N$3&ROW())="-"),IF(AND(INDIRECT(N$3&ROW()-2)="-",INDIRECT(N$3&ROW()-1)="-",INDIRECT(N$3&ROW())="-"),IF(AND(INDIRECT(N$3&ROW()-3)="-",INDIRECT(N$3&ROW()-2)="-",INDIRECT(N$3&ROW()-1)="-",INDIRECT(N$3&ROW())="-"),"quadruple","triple"),"double"),"")
1
David 9 août 2017 à 21:13