[Résolu]Fonction SI,OU et RECHERCHE imbriquées renvoient#N/D

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
FannyV
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 16 oct. 2018 11:03

[Résolu]Fonction SI,OU et RECHERCHE imbriquées renvoient#N/D

Message par FannyV »

Bonjour,
Je ne parviens pas à faire fonctionner une formule imbriquant SI, OU et RECHERCHE, le résultat me renvoie "#N/D" quoiqu'il arrive. Je ne suis pas parvenue à trouver un fil qui aborde ce problème.

J'ai la liste des communes du département et à côté d'elle l'information si "oui" ou "non" chaque commune est en zone montagne.
J'ai des dossiers de demandes sur diverses communes, parfois à cheval sur plusieurs (cas des lignes 80 et 181), et je souhaite que ma dernière colonne m'informe si ce dossier relève de la loi montagne : au moins une des communes du dossier doit dire oui à "zone montagne".

La fonction recherche, s'il n'y a qu'une occurrence à chercher fonctionne mais c'est le cumul des recherches qui semble faire planter.
La seule solution que j'entrevois est de pallier à toutes les possibilités avec des fonctions SI imbriquées :
oui non non
oui oui non
oui oui oui
non oui oui
non non oui
non non non
oui non oui
non oui non etc.
mais ça me semble bien fastidieux !

Merci de votre aide !
Pièces jointes
zone-montagne.ods
tableau zone-montagne
(23.54 Kio) Téléchargé 37 fois
Dernière modification par FannyV le 07 déc. 2018 13:59, modifié 1 fois.
FannyV
---
LibreOffice 6.1.5.2
OS : Windows 7 Pro (64 bits)
Travaillant dans l'administration, je n'ai pas le choix des versions et suis sur la derniere qu'il nous est permis d'installer.
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

Re: Fonction SI, OU et RECHERCHE imbriquées renvoient #N/D

Message par joel275 »

Bonjour,

je ne comprends pas ce que tu veux faire :?
FannyV a écrit :J'ai des dossiers de demandes
Où sont-ils? Est-ce que tu intitules Commune en colonne E?
FannyV a écrit :J'ai la liste des communes du département et à côté d'elle l'information si "oui" ou "non" chaque commune est en zone montagne.

Mais la même commune est selon la ligne en zone montagne ou pas....

Quelques éclaircissements seraient bien nécessaires, éventuellement avec quelques cas remplis à la main pour voir ce que tu veux obtenir.

A plus.
A jour de LibreOffice et de Ubuntu
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5732
Inscription : 03 janv. 2009 00:56

Re: Fonction SI, OU et RECHERCHE imbriquées renvoient #N/D

Message par Jean-Louis Cadeillan »

Bonjour,
Une proposition ci-joint basée sur les fonctions SI() , EQUIV(), ESTNA() pour tester le retour d'EQUIV(), + pour remplacer le OU() et * pour remplacer le ET(), ce qui donne en F3 :

Code : Tout sélectionner

=SI((ESTNA(EQUIV(Com1;SI(Montagne="oui";Commune;"");0))+(Com1=""))*(ESTNA(EQUIV(Com2;SI(Montagne="oui";Commune;"");0))+(Com2=""))*(ESTNA(EQUIV(Com3;SI(Montagne="oui";Commune;"");0))+(Com3=""));"";"Montagne")
avec Com1 = $Feuille1.$A$3:$A$231, Com2 = $Feuille1.$B$3:$B$231, Com3 = $Feuille1.$C$3:$C$231, Commune = $Feuille1.$E$3:$E$165 et Montagne = $Feuille1.$D$3:$D$165. (Plages nommées par Insertion > Plages ou expressions nommées > Définir).
 Ajout : J'ai oublié de préciser que c'est une formule matricielle à valider par Ctrl+Maj+Entrée et qui retourne le vecteur colonne ; pour éditer une formule matricielle de ce genre, il faut sélectionner l'ensemble du vecteur colonne (Ctrl+/ pavé numérique), puis F2. 
À tester.
Cordialement,
Jean-Louis
Pièces jointes
FannyV_20181207_JLC01.ods
(25.27 Kio) Téléchargé 34 fois
LibO 7.6.5.2 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
FannyV
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 16 oct. 2018 11:03

Re: Fonction SI, OU et RECHERCHE imbriquées renvoient #N/D

Message par FannyV »

Bonjour Jean-Louis,
Impeccable merci beaucoup ! Je l'ai transformé pour retrouver le "oui" comme réponse et mes intitulés de colonnes (je ne connais pas bien la manip' que tu as utilisée avec une matrice) car ça sort d'un tableau bien plus complexe qui réutilise le "oui" de cette colonne dans d'autres etc. Ça donne ça et ça marche très bien :

Code : Tout sélectionner

=SI((ESTNA(EQUIV($A$3:$A$500;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($A$3:$A$500=""))*(ESTNA(EQUIV($B$3:$B$500;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($B$3:$B$500=""))*(ESTNA(EQUIV($C$3:$C$500;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($C$3:$C$500=""));"";"oui")
Merci encore !
FannyV
---
LibreOffice 6.1.5.2
OS : Windows 7 Pro (64 bits)
Travaillant dans l'administration, je n'ai pas le choix des versions et suis sur la derniere qu'il nous est permis d'installer.
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5732
Inscription : 03 janv. 2009 00:56

Re: [Résolu]Fonction SI,OU et RECHERCHE imbriquées renvoient

Message par Jean-Louis Cadeillan »

Bonsoir,
Si tu trouves que la maintenance d'une formule matricielle dont la sortie en vecteur colonne est fastidieuse, tu peux remplacer la formule en F3 :

Code : Tout sélectionner

=SI((ESTNA(EQUIV($A$3:$A$500;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($A$3:$A$500=""))*(ESTNA(EQUIV($B$3:$B$500;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($B$3:$B$500=""))*(ESTNA(EQUIV($C$3:$C$500;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($C$3:$C$500=""));"";"oui")
par :

Code : Tout sélectionner

=SI((ESTNA(EQUIV($A3;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($A3=""))*(ESTNA(EQUIV($B3;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($B3=""))*(ESTNA(EQUIV($C3;SI($D$3:$D$165="oui";$E$3:$E$165;"");0))+($C3=""));"";"oui")
Dans ce cas, la validation par Ctrl+Maj+Entrée ne retourne qu'une seule cellule (F3). L'avantage est que la modification est plus facile (double-clic ou F2), l'inconvénient est qu'il faut la recopier vers le bas par la croix (+) de recopie en bas à droite de la cellule, en cliquer-glisser vers le bas, tout en maintenant la touche Ctrl appuyée. Tu peux aussi copier la cellule, sélectionner les autres, et coller.
Cordialement,
Jean-Louis
LibO 7.6.5.2 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Verrouillé