Formule matricielle avec condition

Bonjour à tous,

J'ai besoin d'un petit coup pouce pour résoudre une formule trop complexe pour moi... Je précise que j'ai posté ma problématique sur un autre forum mais je n'ai pas de réponse à ce jour.

La formule ci dessous me trouve la première cellule commençant par les lettres par "R" puis "C" puis "CA" puis"CE"
Cela me fausse le résultat quand il y a plusieurs lettres sur la même ligne! et ne prend pas comme valeur la première cellule pleine mais la suivante...

Dans la mesure du possible, je souhaiterais intégrer la fonction "OU"

Formule matricielle:

=SIERREUR(INDEX(Date11;EQUIV(VRAI;B5:AF5="R";0));OUSIERREUR(INDEX(Date11;EQUIV(VRAI;B5:AF5="C";0));OUSIERREUR(INDEX(Date11;EQUIV(VRAI;B5:AF5="CA";0));OUSIERREUR(INDEX(Date11;EQUIV(VRAI;B5:AF5="CE";0));""))))


Cette formule est validée Ctrl+Shift+Entrer

Merci beaucoup à l'avance pour votre aide.

Bien cordialement.

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour Diabolo162

    Dans votre formule

    EQUIV(VRAI;B5:AF5="R";0)

    La Fonction EQUIV(…)

    EQUIV(valeur_cherchée, matrice_recherche, [type])

    ce qui donne

    EQUIV("R";$B$5:$AF$5;0)
    donnera le décalage en nombre de colonne ou est trouvé R par rapport à la colonne B
    vous commencez la recherche en B5
    Votre fonction EQUIV pour moi n'est pas bien formulée
    Le OU se met en début d'une fonction SI

    SI(ou(teste logique 1;teste logique 2 ; … ;... );valeur si vrai;valeur si faux)

    1. Merci de votre réponse Philou.

      Votre réponse EQUIV("R";$B$5:$AF$5;0) fonctionne uniquement si la première lettre est un "R" sur la ligne.
      Si la première lettre commence par par un "C" la formule ne fonctionne pas.
      1. Contributeur
        normal c'est ce que la formule demande R

        Ma formule est un exemple pour la fonction EQUIV(…)
        Après il faut avoir le fichier pour construire la formule pour les différentes options
    2. https://www.cjoint.com/c/HJdj3Aq7Mjn

      Voici un exemple du fichier.
      J'ai entouré la date de début de congès. C'est dans cette colonne que la formule me cause problème.
      1. Contributeur
        Bonjour Diabolo162

        Un idée de formule dans le fichier

        https://cjoint.com/c/HJejGUQTHmx
        1. Merci PHILOU!!!!

          Je n'aurais jamais trouvé seul et cela répond tout à fait à ma demande.

          Continuez l'entraide vous êtes géniaux.
          1. Help me
          2. Bonjour PHILOU,

            J'ai découvert un bug dans le fonctionnement de la formule.
            J'ai remarqué que quand il y a un "jour férié" dans la semaine la date de congès est décalée.
            Par exemple :
            Date de congès du 24 décembre au 31 décembre

            Résultat avec la formule (avec le 25/12 jour férié):
            Date de congès 24/12 au 29 décembre
        2. Contributeur
          Bonjour Diabolo162

          Je viens de regarder en mettant le calendrier sur décembre cellule B3
          En ligne 6 une ligne vide
          Si on met C du 24 au 28 et C le 31
          Cela affiche bien congés du 24/12/2018 au 02/01/2019

          1. dans l'hypothèse ou l'on met C du 24 au 28/12 avec le 25 (sans "C" car férié)...la date de reprise est décalée de 2 cellules vers la gauche soit le (29/12) au lieu du 31/12.
        3. Contributeur
          Bonjour Diabolo162

          Quand vous changer le nom du champ DATE11 en DATE12
          il faut penser à le changer dans la formule

          1. arffff désolé.... je viens de m'en apercevoir... Merci beaucoup de votre aide