Formule index equiv [Résolu]

Signaler
Messages postés
32
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
19 février 2020
-
Vaucluse
Messages postés
24888
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 février 2020
-
Je cherche une formule de calcul
pour rechercher dans une base de données les différentes informations qui peuvent êtres sur plusieurs lignes
La recherche doit se faire sur une 2ème feuille selon le code en cellule a1
Voici un exemple
https://www.cjoint.com/c/JBilUjN6k62
Merci

7 réponses

Messages postés
24888
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 février 2020
5 039
Bien ,
ça n'empêche pas que votre formule ne correspondait à rien
essayez celle-ci en B2 de EXTRAcTION (?)

=INDEX('BASE AT'!$A$2:$M$30;PETITE.VALEUR(SI('BASE AT'!$A$1:$A$30=$A2;LIGNE($A$1:$A$30));LIGNE(A1));COLONNE(B$1))

à tirer sur la plage utile autant vers le bas que vers la droite
Attention, formule matricielle à entrer avec trois touches:
maintenir enfoncées ctrl et shift et "enter"
bien respecter les positions des signes $
formuler assez lourde, limitez les adresses et les plages de recopie au nombre maxi de lignes utiles
et à soigner aussi
l'adresse de l'item INDEX commence en ligne 1

crdlmnt

Messages postés
24888
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 février 2020
5 039
Pour placer SIERREUR rien de plus simle:

=SIERREUR( votre formule complète sans le signe égal et );"")
vous pouvez rajouter un commentaire éventuellement entre les guillemets
Messages postés
24888
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 février 2020
5 039
Bonjour
votre formule en feuille EXTRACTION B2:
=SIERREUR(INDEX('BASE AT'!$A$2:$M$29;EQUIV($A1;<gras>$M$29</gras>;0);2);"")
  • à quoi sert d'aller chercher A1 alors que le code est en A2?
  • qu'est que M29 de EQuIV qui ne contient qu'une cellule?
  • pourquoi le champ de INDEX commence en ligne 2 et celui de EQUIV en ligne 1?, ça décale tout d'une ligne

ne serait ce pas plutôt
=SIERREUR(INDEX('BASE AT'!$A$2:$M$29;EQUIV($A1;'BASE AT'!$A$2:$A$29;0);2);"")
ou encore plus simple puisque la colonne de recherche est la 1° de la plage
=SIERREUR(RECHERCHEV(A2;'BASE AT'!$A$2:$M$29;2;0);"")
;2;0) pour 2° colonne ;3;0) pour 3° colonne Etc...

Messages postés
32
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
19 février 2020

Bonjour je me suis mal exprimé, et j'ai transmis le fichier avec une donnée avec une seule ligne cela ne fonctionne pas si l'on saisie le code 1162 qui possède plusieurs lignes dans la base
Merci
Messages postés
32
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
19 février 2020

Bonsoir,
Merci je découvre avec vous ce genre de formule et j'essaye de les comprendre pas toujours évident en se formant seul, mais vous m'aider beaucoup.
Là j'essaye de trouver ou mettre sierreur
Cordialement
Messages postés
24888
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 février 2020
5 039
pour mettre SIERREUR, rien de plus simple:
  • vous écrivez SIERREUR( tout de suite derrière le signe égal
  • vous rajouter <bold> );"") bold> en fin de formule.


vous pouvez placer un commentaire entre les guillemets

Messages postés
32
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
19 février 2020

Merci,
C'est comme cela que je l'ai écrite, ça commence a s'éclaircir, Il faut juste que je trouve un site pour des explications de texte
Parfait
Cordialement
Vaucluse
Messages postés
24888
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
20 février 2020
5 039
pas de quoi
je passe le sujet en résolu
Bonne route
crdlmnt