Test logique formule matricielle, renvoie VRAI seul, mais FAUX avec fonction SI

Anonyme
2023-11-06T10:41:30+00:00

Bonjour,

Alors, j'ai une formule bien trop compliquée pour ce qu'elle est censée faire, mais bon, elle fonctionne. En gros, j'ai un tableau avec des valeurs vides et cette formule s'insère dans un autre tableau qui pour chaque colonne me fait la liste des ID de lignes où il y a une valeur renseignée (tout à la suite). Avec des petits ajustement de présentation. Enfin bref, compliqué.

La formule fonctionnait bien jusqu’à ce que j'essaie de remplacer mes Ranges par des INDIRECT (pour pouvoir coller dans d'autres classeurs sans qu'il m’ennuie à faire référence au premier).

Ma formule est la suivante (matricielle) :

{=SI(GAUCHE(SIERREUR(INDEX(CompFiliere;PETITE.VALEUR(SI(NON(ESTVIDE(DECALER(CompFiliere;0;EQUIV(GAUCHE($B$3;NBCAR($B$3)-11);INDIRECT("COMPETENCES!$2:$2");0)-1)));LIGNE(DECALER(CompFiliere;0;EQUIV(GAUCHE($B$3;NBCAR($B$3)-11);INDIRECT("COMPETENCES!$2:$2");0)-1));"");NB.SI(DECALER(Code;0;0;LIGNE()-LIGNE(Code));"><")+2));"");1)*1=MAX(DECALER(INDIRECT("$E$"&EQUIV("Domaine";INDIRECT("$E:$E");0));0;0;LIGNE()-EQUIV("Domaine";INDIRECT("$E:$E");0)))*1;"VRAI";"FAUX")}

Mon problème : la formule du test logique renvoie bien VRAI... mais dès que je rajoute une fonction SI, il me renvoie la valeur FAUX (donc le test logique deviens faux ?) et je ne comprends pas pourquoi.

J'adorerais fournir un exemple mais je ne peux pas envoyer mon fichier de travail, et je vais avoir du mal à faire un exemple qui reproduise ce problème, je pense...

Quelqu'un a-t-il une idée théorique de ce qui peut se passer ?

Microsoft 365 et Office | Excel | Autres | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Hecatonchire 53,870 Points de réputation Modérateur bénévole
2023-11-07T16:03:12+00:00

Il semble que la fonction INDIRECT ne supporte pas les matrices en argument.

Au point où tu en es, ajoutes une fonction INDEX pour extraire la valeur de la matrice

=INDIRECT( INDEX (....);1) )

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

7 réponses supplémentaires

  1. Anonyme
    2023-11-07T16:32:32+00:00

    La grande question étant pourquoi diantre m’interprète-t-il cette Ligne() en matrice et pas l'autre alors que les deux sont dans la même formule (validé en matricielle) ...

    Mais soit, tu as raison au point où j'en suis une fonction de plus ou de moins... très bonne idée le index ça fonctionne parfaitement !

    Je vais voir quelle sorte d'autres problèmes je vais rencontrer en copiant ce fourbis partout xD

    En tous cas merci beaucoup !

    Résolu !

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2023-11-07T15:47:10+00:00

    Merci j'avais cherché partout cet outil qui apparait quand Excel repère des formule incohérente. ça va beaucoup m'aider.

    Mais dans le cas présent, c'est bien ce que je craignait, la range construite sur indirect renvoie une erreur #valeur.

    Alors qu'il n'y a aucune raison. puisque en testant la formule à part

    Il arrive bien a interpréter le Indirect.

    Est-ce que c'est un problème de matricielle, j'ai vu qu'il rajoutait les {} dans ses étapes de calculs ?

    J'utilise aussi un indirect dans le NB.SI

    et là il ne met pas les {} avant d'interpréter le indirect ?, du coup il passe

    Je me suis dit que c'est parceque je faisait un calcul sur ligne qu'il interprète le résultat de Ligne comme un nombre et non une matrice, mais ça ne change rien même si je met *1 ou +0 donc.. je sêche.

    Mais bon je ne perd pas espoir, merci pour tes conseils ! =)

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Hecatonchire 53,870 Points de réputation Modérateur bénévole
    2023-11-07T15:11:02+00:00

    Oops je n'avais pas vu le &""

    Mes questions concernant le nombre de type étaient pour chercher d'autres manières de faire, mais toutes mes idées font appel à des fonctions de calcul non disponibles en version 2019 (Microsoft a sortie pas mal de nouvelles fonctions intéressantes sur les version plus récentes).

    Mais ça ne répondrait pas vraiment à ta question.

    La seule chose que je pourrais te conseiller, c'est d'utiliser l'outil Evaluation de formule sur un petit échantillon (pour que les matrices ne soient pas trop grandes) sur tes 2 formules, afin de tenter de comprendre la différence d'interprétation d'Excel.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire