Fonctions SI imbriquées et dépendances de cellules
Semrodia
-
Raymond PENTIER Messages postés 58991 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 58991 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à la communauté,
Je dois avouer ne pas avoir su quoi marquer comme titre, j'espère que ce sera plus compréhensible après mes quelques mots.
Je fais actuellement une BDD pour un gite communal tenu par un membre de ma famille. De cette BDD, je sortirai des statistiques, du publipostage email et une automatisation de la création de facture. C'est pour ce dernier élément que je viens vous demander votre aide.
J'ai donc une BDD en Feuille1 et ma facture en Feuille 2. Le but est d'utiliser seulement le nom de famille pour nourrir une fonction INDEX pour la plupart des infos et ainsi "automatiser". Mon problème est dans le libellé des lignes de facture. J'ai utilisé pour ma première ligne (cellule A15) une fonction SI imbriquée comme celle-ci :
=SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);6)<>0;"Chambre de deux personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);7)<>0;"Chambre de trois personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);8)<>0;"Chambre de quatre personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);9)<>0;"Chambre de six personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);10)<>"";"Personne supplémentaire";"")))))
(Je sais c'est lourd mais je ne sais pas trop comment faire autrement... surtout qu'il y a des tonnes d'autres produits à mettre)
Mon problème est sur la ligne juste au dessous : je cherche à produire une fonction qui fasse la même recherche mais qui empêche d'afficher un même résultat qu'A15 (le tout pour avoir tous les éléments saisis dans la BDD en facture). A prendre en compte que ma fonction SI imbriquée devrait être bien plus longue puisqu'il y a une quinzaine d'éléments facturables.
Des idées ? Des conseils ?
Je vous mets le lien ici de la feuille Excel : https://mon-partage.fr/f/zpAgr5tX/
D'avance, merci pour votre aide.
Je dois avouer ne pas avoir su quoi marquer comme titre, j'espère que ce sera plus compréhensible après mes quelques mots.
Je fais actuellement une BDD pour un gite communal tenu par un membre de ma famille. De cette BDD, je sortirai des statistiques, du publipostage email et une automatisation de la création de facture. C'est pour ce dernier élément que je viens vous demander votre aide.
J'ai donc une BDD en Feuille1 et ma facture en Feuille 2. Le but est d'utiliser seulement le nom de famille pour nourrir une fonction INDEX pour la plupart des infos et ainsi "automatiser". Mon problème est dans le libellé des lignes de facture. J'ai utilisé pour ma première ligne (cellule A15) une fonction SI imbriquée comme celle-ci :
=SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);6)<>0;"Chambre de deux personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);7)<>0;"Chambre de trois personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);8)<>0;"Chambre de quatre personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);9)<>0;"Chambre de six personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);10)<>"";"Personne supplémentaire";"")))))
(Je sais c'est lourd mais je ne sais pas trop comment faire autrement... surtout qu'il y a des tonnes d'autres produits à mettre)
Mon problème est sur la ligne juste au dessous : je cherche à produire une fonction qui fasse la même recherche mais qui empêche d'afficher un même résultat qu'A15 (le tout pour avoir tous les éléments saisis dans la BDD en facture). A prendre en compte que ma fonction SI imbriquée devrait être bien plus longue puisqu'il y a une quinzaine d'éléments facturables.
Des idées ? Des conseils ?
Je vous mets le lien ici de la feuille Excel : https://mon-partage.fr/f/zpAgr5tX/
D'avance, merci pour votre aide.
A voir également:
- Fonctions SI imbriquées et dépendances de cellules
- Fonction si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Excel cellule couleur si condition texte - Guide
- Verrouiller cellules excel - Guide
- Concatener deux cellules excel - Guide
3 réponses
Bonjour.
Une première idée, qui est aussi un conseil :
Tu attribues à la cellule
du coup ta formule
SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);6)<>0;"Chambre de deux personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);7)<>0;"Chambre de trois personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);8)<>0;"Chambre de quatre personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);9)<>0;"Chambre de six personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);10)<>"";"Personne supplémentaire";"")))))
s'écrira
SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);6)<>0;"Chambre de deux personnes";SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);7)<>0;"Chambre de trois personnes";SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);8)<>0;"Chambre de quatre personnes";SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);9)<>0;"Chambre de six personnes";SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);10)<>"";"Personne supplémentaire";"")))))
Une première idée, qui est aussi un conseil :
Tu attribues à la cellule
Feuil1!1:1048576le nom F1F ;
du coup ta formule
SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);6)<>0;"Chambre de deux personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);7)<>0;"Chambre de trois personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);8)<>0;"Chambre de quatre personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);9)<>0;"Chambre de six personnes";SI(INDEX(Feuil1!1:1048576;EQUIV(D8;Feuil1!C:C);10)<>"";"Personne supplémentaire";"")))))
s'écrira
SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);6)<>0;"Chambre de deux personnes";SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);7)<>0;"Chambre de trois personnes";SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);8)<>0;"Chambre de quatre personnes";SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);9)<>0;"Chambre de six personnes";SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);10)<>"";"Personne supplémentaire";"")))))
Deuxième idée/conseil :
Dans des cellules disponibles de ton classeur tu saisis les textes "Chambre de deux personnes", "Chambre de trois personnes", "Chambre de quatre personnes" etc. et tu leur attribues les noms C2P, C3P, C4P, C6P et PS.
Ta formule peut alors s'écrire
SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);6)<>0;C2P;SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);7)<>0;C3P;SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);8)<>0;C4P;SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);9)<>0;C6P;SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);10)<>"";PS;"")))))
Dans des cellules disponibles de ton classeur tu saisis les textes "Chambre de deux personnes", "Chambre de trois personnes", "Chambre de quatre personnes" etc. et tu leur attribues les noms C2P, C3P, C4P, C6P et PS.
Ta formule peut alors s'écrire
SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);6)<>0;C2P;SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);7)<>0;C3P;SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);8)<>0;C4P;SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);9)<>0;C6P;SI(INDEX(F1F;EQUIV(D8;Feuil1!C:C);10)<>"";PS;"")))))
Bonsoir Raymond et merci pour vos deux réponses.
Je prends bonne note pour vos idées & conseils pour lesquels je vous remercie.
Il me semble que l'effet de ces conseils est de faciliter et de raccourcir la saisie de la fonction SI imbriquée.
Avez vous un conseil concernant cette cellule A16 qui doit produire un résultat différent afin d'avoir une facture complete au bout du compte ?
Merci pour votre assistance,
Sem
Je prends bonne note pour vos idées & conseils pour lesquels je vous remercie.
Il me semble que l'effet de ces conseils est de faciliter et de raccourcir la saisie de la fonction SI imbriquée.
Avez vous un conseil concernant cette cellule A16 qui doit produire un résultat différent afin d'avoir une facture complete au bout du compte ?
Merci pour votre assistance,
Sem
Concernant cette cellule A16, je ne vois absolument pas comment on pourrait faire ça " je cherche à produire une fonction qui fasse la même recherche mais qui empêche d'afficher un même résultat qu'A15 ", pour la bonne raison qu'une même formule ne peut donner qu'un même résultat ...
Mais si tu m'expliquais la logique de ta formule, en même temps que la procédure de facturation, peut-être que je trouverais une idée (ce qui n'est pas certain du tout).
Et c'est pourquoi mon intervention se bornait effectivement à réduire la taille de la formule.
Mais si tu m'expliquais la logique de ta formule, en même temps que la procédure de facturation, peut-être que je trouverais une idée (ce qui n'est pas certain du tout).
Et c'est pourquoi mon intervention se bornait effectivement à réduire la taille de la formule.