Formule complexe avec plusieurs arguments [Résolu]

Signaler
Messages postés
41
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
15 janvier 2021
-
 Oceanik -
Bonjour les pros d'Excel,

Je dois produire rapidement un fichier Excel permettant de déterminer la priorité selon plusieurs critères. J'ai seulement réussi avec la priorité 1. À la priorité 2, j'ai l'erreur #valeur. Est-ce que j'oublie un ";" et/ou des parenthèses, etc...??

Je dois poursuivre la formule avec 7 autres critères pour un total de 9 priorités.

Je crois qu'Excel me renverra que j'ai trop d'arguments pour cette formule".

Comment m'en sortir?

Je joins mon fichier Excel et ma liste d'arguments à bâtir.

Merci beaucoup à l'avance pour votre support!

Fichier Excel : https://www.cjoint.com/c/KAlpkEyWiMr
Fichier avec arguments : https://www.cjoint.com/c/KAlpmCTVUir

8 réponses

Messages postés
12905
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
17 janvier 2021
2 101
Bonjour Oceanik

Personnellement je passerai par un tableau annexe des 9 priorités (les colonnes pouvant être masquées ensuite) et en colonne A une simple formule pour relever la priorité inférieure parmi celles possibles
https://www.cjoint.com/c/KAlq5ua72c1

J'ai mis les formules pour les priorités 1, 2 et 3, à toi de poursuivre

Il serait très utile aussi de mettre des listes déroulantes pour tous les choix dans ton tableau de base car une erreur de frappe ou un mot mal orthographié empêchera les formules de fonctionner correctement

Cdlmnt
Via
Messages postés
41
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
15 janvier 2021

Merci beaucoup! Beau travail! Je vais essayer de poursuivre ça. Je pensais que je pouvais utiliser le si.multiple ou le si.condition mais je n'y arrive pas sous 365 et impossible en Excel 2013.

Encore MERCI!
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 071
Bonjour Oceanik.

Observation liminaire : Dans la ligne contenant les intitulés de colonnes (noms de champs), il est pratique, et lisible, de mettre des expressions et des phrases, comme "Milieu a été en éclosion?" en I1 ...
L'ennui, c'est qu'on finit par obtenir des formules à rallonge qui, elles, sont illisibles, comme
=SI(ET([@Catégorie]="Semi-autonome";OU([@[Si "Oui"Type d''unité]]="Cognitive";[@[Milieu vulnérable]]="Oui");[@[EnjeuPCI]]="Oui";OU([@[Quelle(s) vague(s)]]="Vague 1";[@[Quelle(s) vague(s)]]="Vagues 1 et 2");[@[Ressource problématique]]="Oui");"P1";SI(ET([@Catégorie]="Semi-autonome";OU([@[Si "Oui"Type d''unité]]="Cognitive";[@[Milieu vulnérable]]="Oui");OU([@[EnjeuPCI]]="Oui";[@[Ressource problématique]]="Oui";OU([@[Quelle(s) vague(s)]]="Vague 1";[@[Quelle(s) vague(s)]]="Vagues 1 et 2"));"P2");"")) en A2 !

Je te suggère de faire ceci :
- Copier, en ligne 1
- Insérer les cellules copiées, en A2
- Insérer une ligne vide entre les lignes 1 et 2
(pour bien délimiter le tableau de calcul)
- Remplacer les contenus de la nouvelle ligne 3 par
Pr/Cat/RLS/Rive/PUF/Type/Nb/Enj/écl/Vag/Vuln/Ress
Ta formule est devenue :
=SI(ET([@Cat]="Semi-autonome";OU([@Type]="Cognitive";[@Vuln]="Oui");[@Enj]="Oui";OU([@Vag]="Vague 1";[@Vag]="Vagues 1 et 2");[@Ress]="Oui");"P1";SI(ET([@Cat]="Semi-autonome";OU([@Type]="Cognitive";[@Vuln]="Oui");OU([@Enj]="Oui";[@Ress]="Oui";OU([@Vag]="Vague 1";[@Vag]="Vagues 1 et 2"));"P2");""))
ce qui est quand même plus sympathique (305 caractères au lieu de 500 ) ...
Messages postés
41
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
15 janvier 2021

Bel astuce! Merci du conseil!
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 071
... (suite 2)

On ne peut pas se lancer dans une formule à rallonge comme celle que tu as commencé à saisir, qui ferait plus de 2000 caractères, et que tu n'arriverais pas à vérifier ni adapter !
Je confirme que c'est bien la technique de via55 qu'il faut utiliser.
Messages postés
41
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
15 janvier 2021

Oui, c’est le conseil que j’ai suivi.
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 071
Autre précision à nous fournir :
Priorité 6, ligne 2, on est censé voir un "ou" après le mot "éclosion" ?

Si c'est le cas, saisir les formules suivantes :
en M4 =1*ET([Cat]="Semi-autonome"; OU([Type]="cognitive";[Vuln]="oui"); [Enj]="oui"; OU([Vag]="vague 1";[Vag]="vagues 1 et 2"); [Ress]="oui")
en N4 =1*ET([Cat]="Semi-autonome"; OU([Type]="cognitive";[Vuln]="oui"); OU([Enj]="oui"; [Vag]="vague 1";[Vag]="vagues 1 et 2";[Ress]="oui"); [@Pr1]=0)
en O4 =1*ET([Cat]="Semi-autonome"; OU([Type]="cognitive"; [Vuln]="oui"); OU([Enj]="oui";[Vag]="vague 2";[Ress]="oui"); [@Pr1]+[@Pr2]=0)
en P4 =1*ET([Cat]="Semi-autonome"; [Type]="physique"; OU([Enj]="oui";[Vag]="Vagues 1 et 2";[Vag]="vague 1";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]=0)
en Q4 =1*ET([Cat]="Semi-autonome"; [Type]="physique"; OU([Enj]="oui";[Vag]="vague 2";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]=0)
en R4 =1*ET([Cat]="Semi-autonome"; OU([écl]="oui";[Vag]<>""); OU([Enj]="oui";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]=0)
en S4 =1*ET([Cat]="Semi-autonome"; OU([Enj]="oui";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]+[@Pr6]=0)
en T4 =1*ET(OU([Enj]="oui";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]+[@Pr6]+[@Pr7]=0)
en U4 =1*([@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]+[@Pr6]+[@Pr7]+[@Pr8]=0)
Le tableau qui récapitule ces formules indique que les priorités 6 à 9 ne sont jamais atteintes ...
Tu devras continuer à tester les différentes combinaisons, et apporter les correctifs indispensables.
https://www.cjoint.com/c/KAorGDKQiMA


Messages postés
41
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
15 janvier 2021

Merci M. Pentier pour votre support. C’est grandement apprécié.
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 071
Salut.

Ta précision du post #10 m'a permis de rectifier ma formule pour la priorité 6, qui devient
en R4 =1*ET([Cat]="Semi-autonome"; OU([Vag]="Vague 1";[Vag]="Vague 2";[Vag]="Vagues 1 et 2"); OU([Enj]="oui";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]=0)
Tableau des formules
Diagramme des contraintes
J'attends tes demandes de modification, et éventuellement tes compléments de conditions pour les priorités supérieures à 2 ...
Avec vos précieux conseils, j’ai réussi à fournir un outil qui répond au besoin. Merci encore à tous!
Messages postés
41
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
15 janvier 2021

J'ai réussi à trouver mon erreur pour la priorité 2.

Maintenant, je dois savoir quelle fonction utilisée pour joindre toutes mes priorités par ordre d'importance (P1 à P9)?

Je suis de base sous Excel 2013 mais j'ai aussi Microsoft 365.

Merci!
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 071
... (suite)

Pour nous éviter des erreurs et des pertes de temps, peux-tu préciser :
Dans ton tableau Excel, la liste déroulante de cellule pour la colonne E propose "Oui" et "Non".
Mais ta liste PDF de description des priorités stipule "Présence unité fermée cognitive / physique", ces valeurs étant réservées au champ "Si oui type d'unité" !!!
Qu'en est-il ?
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 071
De même, il semble y avoir confusion entre les champs "éclosion" et "quelle(s) vague(s)" !
Veux-tu nous éclairer ?
Messages postés
41
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
15 janvier 2021

En effet, si c’est oui pour éclosion, il faut préciser la vague.
Messages postés
41
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
15 janvier 2021

Si unité fermée est oui, il faut préciser le type.
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 071


Quand j'ai fini par poster mon message #14,
j'ai vu que tu avais envoyé tes précisions #10
et #12.
Je suis en train de représenter les diagrammes exprimant tes conditions ; je finirai demain ...
Là, j'ai sommeil !

Mais voici déjà un exemple :