Formule deux recherches V et condition SI

Fermé
lati92 - 2 juin 2020 à 15:35
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 8 juin 2020 à 18:05
Bonjour,

Je dois rechercher sur le fichier "table de passage" des informations, mais en interrogeant la colonne E2 sinon la colonne H2 (si rien trouvé dans le fichier "table de passage"). En même temps, j'aimerai interroger la colonne H2, SI la colonne E2 ="Toulouse"...

J'ai fais donc cette formule:

=SIERREUR(RECHERCHEV(E2;'table de passage Zone MV'!B$3:E$92;4;FAUX);(SI(ET(E2;"Toulouse");RECHERCHEV(H2;'table de passage Zone MV'!B$3:E$92;4;FAUX))))

Mais je ne sait pas si ma condition est bien placée, car dans la syntaxe ça marche, mais la formule ne prend pas en compte les données du fichier "table de passage" si colonne E2=Toulouse....

Quelqu'un pourrait-il m'aider SVP?

Un grand merci
Configuration: Windows / Chrome 81.0.4044.113
A voir également:

10 réponses

Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 165
2 juin 2020 à 16:10
Bonjour,
moins évident sans fichier de pouvoir t'aider.

la condition ET doit inclure plusieurs test logiques comme par exemple ET(E2="Toulouse";E2="Paris")

là dans ton cas tu demandes pas de condition à E2 !

tu aurais du écrire SI(E2="Toulouse"...
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
2 juin 2020 à 19:30
Bonjour
effectivement pas très facile à exploiter votre demande
on va tenter ça:

=SIERREUR(RECHERCHEV(SI(OU(E2="Toulouse";NB.SI('table de passage Zone MV'!B$3:B$92;E2=0);H2;E2);'table de passage Zone MV'!B$3:E$92;4;0);"")

revenez si ça ne convient pas, avec plus d'explication ou éventuellement si possible en déposant un modèle ici:
http://mon-partage.fr
en revenant coller le lien créé sur le site
crdlmnt


0
lati75 Messages postés 4 Date d'inscription jeudi 5 mars 2020 Statut Membre Dernière intervention 3 juin 2020
3 juin 2020 à 12:00
Je vous remercie pour vos retours. J'ai essayé avec votre formule mais ça ne fonctionne pas (trop d'arguments selon excel). Je comprend que ce n'est pas évident, donc comme je ne peux pas vous transmettre le véritable fichier (confidentiel), j'ai fais un exemple avec des légumes et variétés de légumes (voir le lien tout en bas du message).

Pour m'expliquer un peu plus, j'aimerai compléter la colonne "usage" en fonction des données de l'onglet "table de passage". Pour cela, ma recherche V doit d'abord:
- interroger la colonne des "légumes" -> en déduire l'usage avec la table de passage
- si rien trouvé dans la colonne des "légumes", alors chercher dans la colonne des variétés

MAIS:
- cas particulier de la tomate (équivaut à "toulouse" dans mon fichier d'origine^^): j'ai plusieurs variétés et usages différents par variété... J'ai également une même variété "tomate" pour le légume "tomate" (cellule en rouge) et je ne peux pas retirer cela (équivaut à un secteur "toulouse" pour la commune de "toulouse" dans mon vrai fichier) -> problème dans ma recherche V qui ne se base que sur la colonne "légume" puisqu'elle y trouve des infos selon la table de passage...elle ne prend pas les infos par variété comme précisé dans la table de passage...
-> solution que je pense faire: ajouter une condition pour dire: SI colonne "légume"= "tomate" ALORS rechercher UNIQUEMENT dans la colonne "variété" l'info
Ainsi la recherche V prendrait les infos de la table de passage uniquement pour les variétés de tomates (car les usages sont différents selon les variétés ici)

C'est assez subtil mais j'espère que je ne vous ai pas perdu. N'hésitez pas si ce n'est pas clair, ou si vous avez une solution plus efficace, je suis prenante!

En tout cas je vous remercie de votre aide

Ci-dessous le lien du fichier:

https://mon-partage.fr/f/N0sWu5yx/

MERCI bcp
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
3 juin 2020 à 12:41
Bonjour
je ne comprend pas très bien dans votre exemple, le fait que vous ayez en Feuil1 colonne B des résultats qui n'existent pas dans la feuille Table
sans être sur d'avoir compris essayez ça en feuil1 B2:
=SIERREUR(SI(OU(NB.SI(Feuil1!B2:B13;A2)=0;A2="Tomate");RECHERCHEV(A2;Feuil1!A2:C13;3;0);RECHERCHEV(A2;Feuil1!B2:C13;2;0));"inexistant")
... qui renvoie partout plat ou salade à défaut d'avoir autre chose en C de la feuille table... comme dans le modèle joint où j'ai placé cette formule en Feuil1 colonne D
si ça ne convient pas, revenez avec plus d'explications
https://mon-partage.fr/f/CCI23XXp/
crdlmnt

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lati75 Messages postés 4 Date d'inscription jeudi 5 mars 2020 Statut Membre Dernière intervention 3 juin 2020
3 juin 2020 à 14:17
Ma table de passage est justement la référence, pas l'onglet "feuill1"... la table de passage définit l'usage selon les légumes/variétés de légumes. Dans ma table de passage, la colonne A regroupe légumes et variétés de légumes ensemble.

Par exemple, dans ma table de passage, il est dit que la variété de tomate "cerise" a pour usage "salade" -> donc théoriquement, dans l'onglet "feuill1" , ma recherche V doit me retourner "salade" pour cette variété. Hors la formule me retourne "plat ou salade", à cause du fait que la formule a recherché d'abord dans la colonne des "légumes", avant la colonne des variétés.

Je recherche une exception pour le légume "tomate", pour que la recherche V me renvoie l'usage selon ses variétés et non selon le légume "tomate"
je pense que votre formule est bonne mais je dois essayer dans l'autre sens (interroger la table de passage et non la feuille 1)

Merci
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié le 3 juin 2020 à 14:56
Je n'avais pas vu ça comme ça, alors essayez en Feuil1:

=SIERREUR(RECHERCHEV(SI(OU(B2="";A2="tomate");A2;B2);'table de passage'!A2:B13;2;FAUX);"")

qui ira cherchez avec A si B est vide ou si A contient Tomate, et sinon ira chercher avec B
.. et donc ira chercher avec tomate que tomate soit en A ou B

en traitant tous les cas, on finira bien par trouver le bon!

voir ici pour ce coup là :-))

https://mon-partage.fr/f/MHgAImOS/

crdlmnt

0
lati75 Messages postés 4 Date d'inscription jeudi 5 mars 2020 Statut Membre Dernière intervention 3 juin 2020
3 juin 2020 à 15:44
merci beaucoup Vaucluse!

J'ai séparé les légumes des variétés dans la table de passage, le problème venait de ce mélange ambigü... Voici le fichier avec votre formule:

https://mon-partage.fr/f/qqgvQhuT/

J'y suis presque, car seul petit bémol, comment rééditer la formule si en B2 j'ai parfois du texte ou que parfois c'est vide? exemple avec la pomme de terre j'ai complété une variété pour ce légume, et je souhaiterai que la formule aille piocher l'info dans la colonne "usage" correspondante (autrement dit "plat ou salade" pour la pomme de terre par ex)

merci bcp ce n'est pas évident je suis dessus depuis plusieurs jours - - '
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
3 juin 2020 à 18:42
Re
désolé, mais il y avait un petit bug (gros???) dans le fichier que je vous ai soumis, je n'avais pas bloqué la plage de recherche et la formule était incomplète, les résultats étant dus au hasard
mais avec votre dernier modèle, je sais encore moins ou j'en suis
Initialement, il s'agissait d'aller chercher "tomate "si e A2 contenait Tomate et aller chercher dans A si B était vide
Dans votre dernier modèle, on trouve A2 à A10 avec tomate et des résultats variables (dus hélas à l'erreur de formule d'après votre demande
maintenant s'il s'agit seulement de traiter la recherche quand B est vide
Voyez dans le fichier joint où nous en sommes, particulièrement la colonne D qui peut peut-être regrouper toutes les conditions
(mais veillez bien à respecter les infos du nota correspondant)
https://mon-partage.fr/f/ZC81iqY4/
à vous lire


0
Bonjour,

merci bcp pour votre aide. C'est un cas particulier en effet et il faut déduire l'usage pour chaque légume et sa variété...J'ai trouvé donc cette formule en m'inspirant de vos outils:

=SI(A2="tomate";RECHERCHEV(B2;'table de passage'!$B:$C;2;FAUX);RECHERCHEV(A2;'table de passage'!$A:$C;3;FAUX))

Il fallait tout simplement que je replace ma formule dans l'autre sens.
Et j'ai bien ce que je souhaite car la formule me renvoie bien l'usage pour chaque légume selon la table de passage servant de référence.

ici le fichier à télécharger: https://mon-partage.fr/f/aIQGs8OL/

Merci beaucoup pour votre investissement et dslee si ce n'était pas toujours clair!

bonne journée
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
8 juin 2020 à 18:05
Bonjour
avant d'aller plus loin, je reviens à la charge avec ma proposition en matricielle qui me paraît convenir mieux à ce que vous attendez, mais bien sur ça reste à tester en grandeur réelle chez vous
je vous transmet donc le fichier de cette proposition
voyez les informations en dessous du tableau d'édition et revenez si problème
https://mon-partage.fr/f/cO7a13g1/
à vous lire
0