SI + RechercheV - plus simple ?
Fermé
Kuss
-
12 juin 2017 à 16:38
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 juin 2017 à 12:06
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 juin 2017 à 12:06
A voir également:
- SI + RechercheV - plus simple ?
- Iphone 14 simple - Guide
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
- Iphone 13 simple - Guide
- Organigramme simple - Guide
7 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
12 juin 2017 à 17:41
12 juin 2017 à 17:41
Bonjour
si vous pouvez déposer un modèle ici (même en bidonnant des noms si confidentialité
https://www.cjoint.com/
ce serait plus facile à traiter parce qu'avec votre formule, c'est assez tordu à comprendre
ceci dit, je pense que l'on devrait s'en sortir avec le code INDIRECT, mais il faudrait plus d'info pour être précis
à vous lire
crdlmnt
si vous pouvez déposer un modèle ici (même en bidonnant des noms si confidentialité
https://www.cjoint.com/
ce serait plus facile à traiter parce qu'avec votre formule, c'est assez tordu à comprendre
ceci dit, je pense que l'on devrait s'en sortir avec le code INDIRECT, mais il faudrait plus d'info pour être précis
à vous lire
crdlmnt
Voila :
http://www.cjoint.com/c/GFmqDyp5T2O
C'est une version simplifié avec seulement 2 pages de données, mais ça devrait vous permettre de comprendre.
En page1 (Tarificateur), c'est seulement des formules SOMME, ce qui vous intéresse se trouve en page2 (RO_SS) dans le tableau vous verrez les formules dont je vous parlais.
http://www.cjoint.com/c/GFmqDyp5T2O
C'est une version simplifié avec seulement 2 pages de données, mais ça devrait vous permettre de comprendre.
En page1 (Tarificateur), c'est seulement des formules SOMME, ce qui vous intéresse se trouve en page2 (RO_SS) dans le tableau vous verrez les formules dont je vous parlais.
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
12 juin 2017 à 18:52
12 juin 2017 à 18:52
.???. ben non, excusez moi, mais je n'arrive à coller un lien entre votre premier message et le tableau d'une part, et d'autre part je ne trouve pas e formule qui fasse référence à un tableau plutôt qu'à un autre dans votre modèle, elle ne s'adresse qu'à B1:B4 et a la feuille RO-SS.
La partie que je vous ai envoyé est différente de la première formule que j'ai collé, mais la logique est la même.
Page RO_SS, S26 :
=SI(OU(Tarificateur!D1="TNS";Tarificateur!D1="Exp. Agricole");SI(OU(Tarificateur!F1=FMASanteZ1);RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;2;0);SI(OU(Tarificateur!F1=FMASanteZ2);RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;6;0);SI(OU(Tarificateur!F1=FMASanteZ3);RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;10;0);RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;14;0))));
/.. Jusqu'ici on allait cherché la valeur sur la page RO_TNS : RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;2;0) Donc je recherche B1 (l'age du client) dans la page RO_TNS, cellule A1 à Q101, colonne 2. (Colonne 2 pour la formule 100 en 2017)
/..Pour la suite on ira chercher sur RO_SS
SI(OU(Tarificateur!F1=FMASanteZ1);RECHERCHEV(Tarificateur!B1;RO_SS!A1:Q101;6;0);SI(OU(Tarificateur!F1=FMASanteZ2);RECHERCHEV(Tarificateur!B1;RO_SS!A1:Q101;10;0);SI(OU(Tarificateur!F1=FMASanteZ3);RECHERCHEV(Tarificateur!B1;RO_SS!A1:Q101;14;0);RECHERCHEV(Tarificateur!B1;RO_SS!A1:Q101;2;0)))))
Page RO_SS, S26 :
=SI(OU(Tarificateur!D1="TNS";Tarificateur!D1="Exp. Agricole");SI(OU(Tarificateur!F1=FMASanteZ1);RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;2;0);SI(OU(Tarificateur!F1=FMASanteZ2);RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;6;0);SI(OU(Tarificateur!F1=FMASanteZ3);RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;10;0);RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;14;0))));
/.. Jusqu'ici on allait cherché la valeur sur la page RO_TNS : RECHERCHEV(Tarificateur!B1;RO_TNS!A1:Q101;2;0) Donc je recherche B1 (l'age du client) dans la page RO_TNS, cellule A1 à Q101, colonne 2. (Colonne 2 pour la formule 100 en 2017)
/..Pour la suite on ira chercher sur RO_SS
SI(OU(Tarificateur!F1=FMASanteZ1);RECHERCHEV(Tarificateur!B1;RO_SS!A1:Q101;6;0);SI(OU(Tarificateur!F1=FMASanteZ2);RECHERCHEV(Tarificateur!B1;RO_SS!A1:Q101;10;0);SI(OU(Tarificateur!F1=FMASanteZ3);RECHERCHEV(Tarificateur!B1;RO_SS!A1:Q101;14;0);RECHERCHEV(Tarificateur!B1;RO_SS!A1:Q101;2;0)))))
Raymond PENTIER
Messages postés
58719
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 novembre 2024
17 233
12 juin 2017 à 19:38
12 juin 2017 à 19:38
Salut kuss.
Tu peux diminuer la longueur de ta formule en définissant les noms
"age" pour la cellule TarificateurB1, "RO" pour la cellule TarificateurD1,
"ami" pour la cellule TarificateurF1,
NSS pour la plage NSSS!A1:Z42, NST pour la plage NSTNS!A1:Z42 et
NSE pour la plage NSEA!A1:Z42.
Ainsi ta formule de 1120 caractères passerait à 645 caractères :
=SI(RO="Régime1";
SI(OU(ami=amisZ1);RECHERCHEV(age;NSS;2;0);
SI(OU(ami=amisZ2);RECHERCHEV(age;NSS;7;0);
SI(OU(ami=amisZ3);RECHERCHEV(age;NSS;12;0);
SI(OU(ami=amisZ4);RECHERCHEV(age;NSS;17;0);RECHERCHEV(age;NSS;22;0)))));
SI(RO="Régime2";
SI(OU(ami=amisZ1);RECHERCHEV(age;NST;2;0);
SI(OU(ami=amisZ2);RECHERCHEV(age;NST;7;0);
SI(OU(ami=amisZ3);RECHERCHEV(age;NST;12;0);
SI(OU(ami=amisZ4);RECHERCHEV(age;NST;17;0);RECHERCHEV(age;NST;22;0)))));
SI(OU(ami=amisZ1);RECHERCHEV(age;NSE;2;0);
SI(OU(ami=amisZ2);RECHERCHEV(age;NSE;7;0);
SI(OU(ami=amisZ3);RECHERCHEV(age;NSE;12;0);
SI(OU(ami=amisZ4);RECHERCHEV(age;NSE;17;0);RECHERCHEV(age;NSE;22;0)))))))
Tu peux diminuer la longueur de ta formule en définissant les noms
"age" pour la cellule TarificateurB1, "RO" pour la cellule TarificateurD1,
"ami" pour la cellule TarificateurF1,
NSS pour la plage NSSS!A1:Z42, NST pour la plage NSTNS!A1:Z42 et
NSE pour la plage NSEA!A1:Z42.
Ainsi ta formule de 1120 caractères passerait à 645 caractères :
=SI(RO="Régime1";
SI(OU(ami=amisZ1);RECHERCHEV(age;NSS;2;0);
SI(OU(ami=amisZ2);RECHERCHEV(age;NSS;7;0);
SI(OU(ami=amisZ3);RECHERCHEV(age;NSS;12;0);
SI(OU(ami=amisZ4);RECHERCHEV(age;NSS;17;0);RECHERCHEV(age;NSS;22;0)))));
SI(RO="Régime2";
SI(OU(ami=amisZ1);RECHERCHEV(age;NST;2;0);
SI(OU(ami=amisZ2);RECHERCHEV(age;NST;7;0);
SI(OU(ami=amisZ3);RECHERCHEV(age;NST;12;0);
SI(OU(ami=amisZ4);RECHERCHEV(age;NST;17;0);RECHERCHEV(age;NST;22;0)))));
SI(OU(ami=amisZ1);RECHERCHEV(age;NSE;2;0);
SI(OU(ami=amisZ2);RECHERCHEV(age;NSE;7;0);
SI(OU(ami=amisZ3);RECHERCHEV(age;NSE;12;0);
SI(OU(ami=amisZ4);RECHERCHEV(age;NSE;17;0);RECHERCHEV(age;NSE;22;0)))))))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 778
12 juin 2017 à 21:37
12 juin 2017 à 21:37
Bonjour,
Déjà, tu peux remplacer :
SI(OU(Tarificateur!F1=FMASanteZ1);
par
SI(Tarificateur!F1=FMASanteZ1;
ça économise 12 x 4 = 72 caractères supplémentaires
Déjà, tu peux remplacer :
SI(OU(Tarificateur!F1=FMASanteZ1);
par
SI(Tarificateur!F1=FMASanteZ1;
ça économise 12 x 4 = 72 caractères supplémentaires
Raymond PENTIER
Messages postés
58719
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 novembre 2024
17 233
Modifié le 13 juin 2017 à 03:07
Modifié le 13 juin 2017 à 03:07
Oui, Patrice ; cela m'avait échappé.
Mais je propose une toute autre approche :
1) Dans une cellule disponible, on saisit la formule
=SI(ami=amisZ1;2;
SI(ami=amisZ2;7;
SI(ami=amisZ3;12;
SI(ami=amisZ4;17;22))))
et on définit le nom Y pour la cellule.
2) La formule principale se réduit à
=SI(RO="Régime1";RECHERCHEV(age;NSS;Y;0);
SI(RO="Régime2";RECHERCHEV(age;NST;Y;0);
RECHERCHEV(age;NSE;Y;0)))
https://www.cjoint.com/c/GFnbgspEcWm
C'est bien, la retraite ! Surtout aux Antilles ... :-) Raymond (INSA, AFPA, CF/R)
Mais je propose une toute autre approche :
1) Dans une cellule disponible, on saisit la formule
=SI(ami=amisZ1;2;
SI(ami=amisZ2;7;
SI(ami=amisZ3;12;
SI(ami=amisZ4;17;22))))
et on définit le nom Y pour la cellule.
2) La formule principale se réduit à
=SI(RO="Régime1";RECHERCHEV(age;NSS;Y;0);
SI(RO="Régime2";RECHERCHEV(age;NST;Y;0);
RECHERCHEV(age;NSE;Y;0)))
https://www.cjoint.com/c/GFnbgspEcWm
C'est bien, la retraite ! Surtout aux Antilles ... :-) Raymond (INSA, AFPA, CF/R)
Super , merci à vous. Je vais peaufiner tout ça.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 13 juin 2017 à 12:08
Modifié le 13 juin 2017 à 12:08
Bonjour tt le monde
Un autre PRINCIPE simplifié en fonction des 3 param^tres : régime, amis, Age ( impossible d'^tre + précis vu la pièce jointe de Kuss)
en utilisant "indirect" comme le préconisait notre ami Vaucluse, RechercheV et équiv
la formule unique proposée à adapter
la maquette
https://mon-partage.fr/f/dq2o8IBA/
le classeur
Un autre PRINCIPE simplifié en fonction des 3 param^tres : régime, amis, Age ( impossible d'^tre + précis vu la pièce jointe de Kuss)
en utilisant "indirect" comme le préconisait notre ami Vaucluse, RechercheV et équiv
la formule unique proposée à adapter
=RECHERCHEV(G2;INDIRECT("'"&I6&"'!B2:F5");EQUIV(I2;N2:N5;0)+1;0)
la maquette
https://mon-partage.fr/f/dq2o8IBA/
le classeur