recherche multicriteres

jmst

XLDnaute Junior
Bonjour,
J’utilise cette formule:
'=EQUIV($F$22;DECALER(report!$AA$1:$AA$5000;$E1;0;NBVAL(report!$AA$1:$AA$5000)-$E1);0)+$E1 (NB: E1=0 (zéro) puis E2 est la 1ere ligne trouvée.. ect..)
pour extraire le No de ligne du tableau AA1:AA5000 Je suis limité par le Nb (255) de caractères dans les cellules testées de ma feuille "report!"

J'ai subdivisé AA1:AA500 en AB1:AB5000 (250 car) , AC1:AC5000 (250 car) AD1:AD5000 (250 car) AE1:AE5000 (250 car) et AF1:AF5000 (le solde 251 et plus) La fonction DECALER n'accepte pas AB1:AF5000

Je teste dans quelle colonne se trouve mon "mot recherché" avec une formule qui me dit que ma valeur cherchée se trouve dans la colonne 1 (AB)ou dans la colonne 2 (AC) ou dans la colonne 3 (AD) etc.... avec cette formule

=MAX(SI(ESTNUM(CHERCHE("mot recherché";$AB1:$AF1));EQUIV($AB1:$AF1;$AB1:$AF1;0);0))

Mais les resultats ont des doublons
et sur 4 colonnes¨!!!
Comment les reunirs en une seul colonne sans doublons ?
Comment faire cette recherche DECALER sur 4 colonnes AB:AF ?
Ou une seul colone avec plus de 255 caractères ?

Avec mes remerciements pour votre aide
 

Tibo

XLDnaute Barbatruc
Re : recherche multicriteres

Bonjour,

Pour pouvoir comprendre une formule telle que la tienne, il nous faut son environnement, c'est-à-dire le fichier qui va avec.

Pas besoin du fichier complet, un extrait suffit.

La taille maxi est de 48.8 ko. N"hésite donc pas à zipper si nécessaire.

Avec le fichier, les réponses devraient arriver.

Bon appétit et bon dimanche.

A te (re)lire

@+
 

jeanpierre

Nous a quitté
Repose en paix
Re : recherche multicriteres

Bonjour jmst, Tibo,

Pour mettre en Zip, rien de plus simple avec le compresseur de Windows.

Clic droit sur ton fichier dans l'explorateur et Envoyer vers/dossier compressé.

Ceci dit, cela ne va pas résoudre si le fichier est trop lourd d'origine, il te faut faire quelques sanctions sur les éléments non nécessaires à la compréhension.

Bon dimanche.

Jean-Pierre
 

Tibo

XLDnaute Barbatruc
Re : recherche multicriteres

re,

J'avoue ne pas comprendre grand chose de ce qu'il faut faire.

A tout hasard, quelques formules :

Code:
=ESTNUM(CHERCHE(F22;H3))

permet de savoir si le mot en F22 est bien présent dans la cellule H3

Code:
=(NBCAR(H3)-NBCAR(SUBSTITUE(H3;F22;"")))/NBCAR(F22)

permet de savoir combien de fois le mot en F22 est présent dans la cellule H3

Cela dit, pas sûr que ça réponde à ton souhait.

Mais pas sûr non plus qu'il ne manque rien à ton fichier pour qu'on puisse comprendre.

Que doivent donner les valeurs de ta colonne A ? A quoi correspondent-elles ?

Indique nous quel(s) résultat(s) tu attends avec une petite explication sur le pourquoi du comment.

A te (re)lire

@+
 

Tibo

XLDnaute Barbatruc
Re : recherche multicriteres

re,

Je crois avoir compris (j'ai pris un chiffon doux, ai astiqué ma boule de cristal).

Un essai avec une formule matricielle :

en A1 :

Code:
=SI(LIGNE()>SOMMEPROD(((ESTNUM(CHERCHE($F$22;$H$1:$H$50))*
LIGNE($1:$50))>0)*1);"";PETITE.VALEUR(SI(ESTNUM(CHERCHE($F$22;$H$1:$H$50))*
LIGNE($1:$50)<>0;ESTNUM(CHERCHE($F$22;$H$1:$H$50))*LIGNE($1:$50));LIGNE()))

Formule matricielle à valider par CTRL + MAJ + ENTREE

puis à recopier vers le bas

Si pas ça, il nous faudra plus de détails et explications.

@+
 

jmst

XLDnaute Junior
Re : recherche multicriteres

Salut Tibo merci pour ton aide.

Dans la colonne AA je cherche a avoir le numero de la postion des phrases qui contiennent le mot rechercher.
C'est pour cette raison que ma recherche se fait avec * Par ex.: *pour* .
La colonne AA va me donner toutes les phrases contenant " pour "

Admettons que "pour " ce trouve a la ligne 6, 11, 13, 16

Une fois ce(s) No(s) trouvé(s), j'affiche d'autres colonnes (ou informations) qui ce trouvent sur la(es) même(s) ligne(s). par ex. la date, le nom
Avec la formule ( En B2 puis copie vers le bas )=INDEX($G$1:$G$3000;$A2) il va m'afficher le Nb de caracteres respectif des phrases ( 71, 182, 255, 145)
Mais il ne prend pas s'il ya plus de 255 caracteres pr ex la lignes 3 (565 caracteres

Merci
 

jmst

XLDnaute Junior
Re : recherche multicriteres

Merci Tibo
Le peu que j'ai testé semble répondre à mon voeu.
J’espère que cette formule s’adapte entre feuille.
Je me réjouis d’essayer.
Mais des obligations de famille ne me permettent pas de continuer maintenant.
A bientôt et encore merci.
 

jmst

XLDnaute Junior
Re : recherche multicriteres

Re salut Tibo
Ta formule fonctionne et trouve ce que je demandais,
Mais la puissance que demande cette formule sur 5000 lignes est énorme.
Modifie ainsi et copie sur 5000 lignes :

=SI(LIGNE()>SOMMEPROD(((ESTNUM(CHERCHE($F$22;$H$1:$H$5000))*LIGNE($1:$5000))>0)*1);"";PETITE.VALEUR(SI(ESTNUM(CHERCHE($F$22;$H$1:$H$5000))*LIGNE($1:$5000)<>0;ESTNUM(CHERCHE($F$22;$H$1:$H$5000))*LIGNE($1:$5000));LIGNE()))

Mon problème c’est EQUIV qui n’accepte pas plus de 255 caractères.

Ou bien si je subdivise mon texte en 5 colonnes, c’est regroupé ses 5 résultats en un (e) colonne

Pour l’instant je suis bloqué avec regroupé ses 3 colonnes en une SANS doublons et croissant..
Avec mes remerciements

AB=1 AC=2 AD=3
0 0 0
1699 1248 2023
2082 1265 #N/A
2140 1332
2170 1379
2214 1381
2645 1392
2755 1493
3354 1510
3517 1523
3689 1540
3736 1608
3751 1621
3760 1642
3766 1657
3958 1674
4011 1712
4130 1727
4141 1738
#N/A 1753
1773
1784
1797
1812
1829
1874
1889
1900
1953
1970
1989
2021
2046
2099
2110
2125
2142
2155
2163
2174
2176
2191
2193
2210
2229
2246
2261
2272
2285
2318
2353
2364
2377
2400
2525
2581
2615
2630
2643
2671
2673
2686
2692
2719
2860
2864
2887
2889
2895
2963
2997
3008
3068
3090
3123
3201
3314
3413
3434
3441
3462
3473
3475
3580
3595
3608
3614
3674
3734
3789
3791
3827
3829
3849
3853
3862
3864
3898
3922
3988
4032
4045
4060
4093
4117
4162
4194
4209
4222
4241
4254
4307
4322
4333
#N/A
 

Tibo

XLDnaute Barbatruc
Re : recherche multicriteres

Bonjour,

Un autre essai avec une colonne intermédiaire.

Sur la base de l'exemple de ton fichier d'hier :

en G2 :

Code:
=SI(ESTNUM(CHERCHE($F$22;H2));MAX($G$1:G1)+1;0)

à recopier vers le bas

en A1 :

Code:
=SI(NB.SI($G$1:$G$17;">0")<LIGNE();"";EQUIV(LIGNE();$G$1:$G$17;0))

à recopier également vers le bas

Je te laisse essayer

@+
 

jmst

XLDnaute Junior
Re : recherche multicriteres

Désoler Tibo mais les réponses ne sont plus dans l'ordre.
Je n'ai pas teste ta solution.

Mais je teste dans un moment ta proposition.

Voici le message que je voulais mettre avant le tient:

J’ai trouvé

Merci TIBO

Mon problème étant EQUIV et sa limitation de 255 caractères

J’ai contourné le "255 caractères" grâce a ta formule

=ESTNUM(CHERCHE($mot recherché$ ;$macolonne_ligne1)) recopiée 5000 fois

J’explique

je teste avec cette formule si le mot recherché est présent = VRAI ou absent =FAUT dans une nouvelle colonne (au lieu de 5 !!) Puis avec mon ancienne formule EQUIV je cherche les lignes : VRAI

Encore mille merci a toutes les personnes qui mon aidé.

Cordialement et a bientôt.
 

Statistiques des forums

Discussions
312 581
Messages
2 089 917
Membres
104 306
dernier inscrit
Bouhlal