Ajouter un paramètre valable pour toute la formule

Résolu
padim Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
padim Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   - 31 mars 2016 à 12:42
Bonjour,
Ma formule va chercher le prix d'une chambre d'hôtel en fonction de la catégorie de la chambre et du nombre de personnes occupant la chambre. 4 catégories de chambres et 7 combinaisons d'occupants possibles : Seul, deux adultes, 2A+1enfant, 2A+2E, 3A, 2E, 3E. Ma formule combinant SI, ET, RECHV fait 8 lignes.
Je veux ajouter un supplément pour bébé. Faut-il que je l'ajoute à chaque élément de ma formule ou y a t-il moyen d'indiquer que que dans tous les cas, s'il y a un bébé, il faut ajouter le supplément ?
Si les cellules "Total", "Reste" et "Payé" affichent une erreur, c'est uniquement parce qu'il n'y a pas de sommes dans les cellules de tarifs mais du texte. Avec des sommes, ça marche.
Merci,
Padim



A voir également:

3 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 742
 
Bonjour padim

Tu peux grandement raccourcir ta formule en utilisant des plages nommées et INDEX EQUIV au lieu RECHERCHEV et une succession de SI
Elle pourra se résumer à quelque chose comme cela :
=INDEX(tarif;EQUIV(G2;categorie;0);EQUIV(REPT("A";C2)&REPT("E";D2);clients;0))+SI(E2=1;INDEX(tarif;EQUIV(G2;categorie;0);EQUIV("BB";clients;0)))

supplément bébé compris !

Exemple : http://www.ct.com/c/FCinyD2XtOT

Cdlmnt
Via
0
padim Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Grand merci via55,
Ca paraît super et ça marche du tonerre, et c'est drôlement plus simple que mon usine à gaz. Mais je ne comprends pas tout. Tant mieux, je vais devoir apprendre encore.
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 742
 
De rien

Explication rapide de la formule :
=INDEX(tarif;EQUIV(G2;categorie;0);EQUIV(REPT("A";C2)&REPT("E";D2);clients;0))+SI(E2=1;INDEX(tarif;EQUIV(G2;categorie;0);EQUIV("BB";clients;0)))

Tout d'abord les REPT répètent la lettre A ou E le nombre de fois indiquées donc 2 adultes 1 enfant donnera AAE
Ensuite avec INDEX on cherche dans la matrice tarif la valeur sur la même ligne (EQUIV) que la valeur en G2 dans catégories et dans la même colonne ( second EQUIV) que la concatenation des lettres dans clients
ET on ajoute à cela s'il y a 1 dans la col E, la valeur dans tarif prise dans la ligne de la catégorie et dans la colonne correspondant à BB (tout ça grâce au 2nd INDEX)

Cdlmnt
Via
0
padim Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
via55
Excuse le retard, j'ai enfin eu le temps de me poser et de bien décortiquer la formule (je l'ai mise en pratique avant sans même la comprendre vraiment).
Elle est absolument fantastique.
J'espère être un jour assez compétent pour arriver à penser à combiner des formules comme tu l'as fait. On trouve beaucoup d'aide sur chaque formule, mais savoir les combiner comme ça, relève du génie.
Merci sincèrement.
0