NB.SI + formule matricielle

Bonsoir,

J'ai une question que je me suis posée hier mais je n'arrive pas à trouver une solution adéquate.

Mon problème est le suivant :

J'ai une base de donnée avec des caractères dans chaque cellules sur plusieurs lignes et colonnes

J'ai deux cellules que j'ai appelé critères.

En fait, je recherche dans ma base, quelles sont les lignes qui possèdent les 2 critères.

J'ai trouvé une formule matricielle avec nb.si mais le problème c'est que dans ma formule, je combine 2 fois NB.SI, je voudrais trouver la formule matricielle, sans colonne intermédiaire, sans macro, ni utilisation de morefunction, pour trouver une formule qui utiliserait qu'une seule fois la fonction nb.si

64question-nb-si.xlsx (10.70 Ko)

si je suis pas clair, je suis là pour répondre à vos interrogations.

merci à vous

Bonjour,

En I2 mettre

=(OU(A2=$F$2;B2=$F$2))*(OU(A2=$G$2;B2=$G$2))*LIGNE()

et tirer vers le bas > I6 et vous obtenez le même résultat plus simplement.

Ma formule est bien étudiée je ne l'ai pas choisie au hasard

Elle me renvoie une matrice avec les valeurs pour les récupérer avec la fonction petite.valeur.

Ta formule utilise plusieurs fois OU, et justement je recherche une formule en travaillant sur la plage F2:G2 directement.

Ta formule ne fonctionne pas sans colonne intermédiaire si je veux récupérer mes numéros de ligne avec petite.valeur

Merci quand même

cdt


De plus Imagine que j'ai 20 colonne dans ma base, et 10 critères par exemple. je ne vais pas m'amuser à taper =(ou(B4... ou c4... ou d4;..

salut keta

=SI(SOMMEPROD(--(NB.SI(A2:C2;F$2)>=1)+(--(NB.SI(A2:C2;G$2)>=1)))=2;LIGNE();"")

normalent apres test

cordialement

Ok,

Désolé d'avoir essayé de vous aider.

@robjam : merci à toi d'avoir essayé de m'aider

@tulipe : slt tulipe, enfait ce n'est pas ce que je recherche : tout d'abord s'il y a 10 critères je serai obligé de rajouter +(--(NB.SI(plage;G$2)>=1)) ++(--(NB.SI(plage;H$2)>=1)) etc...

De plus, ta formule fonctionne ligne par ligne, et ne me renvoie pas une matrice complète. Ma formule I2:I6 me donne le résultat attendu : je pourrais utiliser sans colonne intermédiaire ma fonction petite.valeur.

Mais le problème c'est que je voudrais travailler directement sur F2:G2 et ne pas utilise F2 + G2..

c'est assé complexe et désolé si mes explications ne sont pas claires.

cdt

j'avais posté mas cela n'a pas passé

=SI(SOMMEPROD(--(NB.SI(A2:C2;F$2:G$2)>=1)/(--(NB.SI(A2:C2;F$2:G$2)>=1)))=2;LIGNE();"")

je te laisse gerer les val d'erreur

Bonsoir,

A tester, comme je n'ai pas Excel et que la fonction DECALER fonctionne différemment dans Excel et Calc en utilisation matricielle :

=SI(SOMMEPROD(NB.SI(DECALER($A$2;LIGNE($A$1:$A$5)-1;;;3);TRANSPOSE($F$2:$G$2)))>1;LIGNE($A$2:$A$6))

A+

Edit : Non, je viens de me rendre compte que cela ne peut pas marcher. Sommeprod va faire le total de l'ensemble et non ligne par ligne. Posté trop vite...

re

ooiste est dans le vrai il suffit d'adapter pour faire du ligne par ligne avec ligne() si ca colle

cordialement

Enfait, dans l'idée ma formule serait quelque chose comme dans le fichier ci-dessous :

mais je veux qu'elle fonctionne en la saisissant dans I2:I6 en matricielle.

J'ai essayé avec décaler, mais le problème c'est que la somme ne va pas se faire ligne par ligne mais sur le total.

slt Ooiste, effectivement c'est quelque chose du style. mais faut que je puisse récupérer la matrice des valeurs.

merci à vous


J'ai l'impression que sous.total doit pouvoir nous aider quelque part mais j'en suis pas sûr.

J'ai l'impression que sans colonne intermédiaire on ne pourra pas le faire, mais a chaque fois que je dis ça, une solution apparait

ketamacanna a écrit :

J'ai l'impression que sous.total doit pouvoir nous aider quelque part mais j'en suis pas sûr.

C'est aussi ce que je pensais mais je ne peut pas tester ce genre de formules qui ne fonctionnent pas avec Calc.

Il suffit d'attendre que R@chid, le roi du SOUS.TOTAL(DECALER, passe par ici.

J'ai trouvé c'est bon.

Je vérifie mais j'ai la formule

Avec l'utilisation de frequence Oooiste on peut s'en sortir

A tester mais normalement c'est bon

La formule :

=PETITE.VALEUR(SI(FREQUENCE(SI((NB.SI(DECALER($A$1;LIGNE(plage);;;3);critere)>0)*1;LIGNE(plage)+1;FAUX);LIGNE(plage)+1)>1;LIGNE(plage)+1);LIGNE()-1)

merci pour votre aide

je crois pas qu'une solution soit possible sans frequence mais si quelqu'un à une autre solution je suis preneur

cdt

Salut le forum et Ketamacanna! Un filtre élaboré peut-être la solution...Ce que je vois en 20 colonnes et 10 critères de recherche ressemble à un fichier genre Keno. Il faudrait être un peu plus précis.

Bonjour Ketamacanna

Je ne sais pas si çà va t'aider…

A tout hasard,

=SI(ET(NB.SI($A3:$C3;"f");NB.SI($A3:$C3;"a"));LIGNE();"")

A voir…


en matricielle…………

merci pour ta réponse.

En fait, ce n'est pas exactement ce que je recherche.

J'ai trouvé la formule et fallait passer par l'utilisation de la fonction fréquence.

De plus t'as formule fonctionne ligne à ligne et ne renvoie pas une matrice, de plus la formule devait être 'dynamique' pour pouvoir juste en changeant mes noms défini; que la formule fonctionne (avec ta formule si j'ai 100 colonnes, je devrais saisir si(et(a2:c2.. et a3:c3 etc.. et en plus rajouter les formules pour les critères.

Merci quand meme et bonnes fêtes

Désolé,

Bonnes Fêtes

Matoutou

Rechercher des sujets similaires à "formule matricielle"