Comment retrouver la dernière occurrence d'une valeur.

Résolu
Bonjour à tous,

J'ai un document à faire évoluer et je me retrouve confronté à quelques soucis:
Je doit récupérer les dernières occurrences d'une valeur ( date ) en fonction d'un nom, d'un prénom et en fonction d'une troisième valeur ( Analyse).

Ex: Je dois retrouver la dernière occurrence de l'analyse "NA" pour Mr "T" "ROGER".

J'ai trouvé en cherchant une formule pour récupérer la dernière occurrence mais je n'arrive pas à l'adapter a mes besoins( notamment la notion d'analyse).

J'espere avoir ete clair, si jamais vous avez une idée de la façon dont je doit orienter ma formule...
Merci par avance

https://www.cjoint.com/c/FJtoYJVCTTO

2 réponses

  1. Bonjour,

    Un essai avec differentes solutions :

    https://www.cjoint.com/c/FJtpOad6hRr
    0
    1. Bonjour et merci pour votre réponse rapide.

      J'ai utilisé la première solution proposée ( feuille 1 et 2) et cela fonctionne parfaitement.
      Mais la formule est limitée a 41 lignes. et si je modifie cette valeur, la formule deviens "#NA?"

      Y a t'il une liste a étendre dans la feuille2 ?

      Et encore une petite interogation, comment supprimer la date 01/01/1900 lorsqu'il il n'y a aucune occurence présente?

      encore merci !

      Cdt.
      0
    2. Bonjour et Merci a tous les deux !!

      Super efficace! encore merci a vous deux!
      0
  2. Contributeur
    Bonjour
    essayez cette formule, à adapter (applicable ici jusqu'à ligne 1000)
    Attention, cette formule est matricielle et doit être entrée avec la touche enter en maintenat les touches ctrl et sihift enfoncées. elle s'affiche automatiquement entre accolades dans la barre de formule.
    Notez aussi que dans votre modèle, il y avait des blancs derrière les lettres en colonne G. je les ai supprimés pour tester via ctrl h
    la formule:

    =MAX((SI(F1:F1000&G1:G1000&H1:H1000="NA"&"T"&"Roger";LIGNE(A1:A1000))))

    j'ai volontairement placé les trois textes cherchés séparémment pour que vous puissiez le cas échéant, les rem placer par des adresses de cellules qui les contiennent (mais on aurait pu écrire directement NATROGER

    pour info, vous pouvez aussi obtenir la liste complète des lignes contenant les infos avec celle ci(de la dernière à la première):

    =SIERREUR(GRANDE.VALEUR(SI($F$1:$F$1000&$G$1:$G$1000&$H$1:$H$1000="NA"&"T"&"ROGER";LIGNE($A$1:$A$1000));LIGNE(A1));"")

    le code SIERREUR(.....);"") permet d'éviter un affchage d'erreur quand la formule dépasse le nombre de lignes trouvées
    crdlmnt
    0
    1. Bonjour et merci pour votre retour rapide!
      Mais il me semble que cette formule (la première) compte le nombre d’occurrence.

      J'ai peut être mal compris votre démarche.

      cdt.
      0
    2. Contributeur
      Non, la première formule ressort, via le code MAX le N° de ligne de la dernière occurence dans le tableau, la seconde ressort l'ensemble de ces lignes en ordre décroissant

      voyez ici l'ensemble des possibilités des deux codes
      https://www.cjoint.com/c/FJtraSaIL4H

      (n'oubliez pas l'entrée en matricielle et notez que les adresses de champs commencent en ligne 1 pour éviter, avec le code INDEX, de placer une correction de décalage de ligne)
      crdlmnt
      0
    3. Bonjour et Merci a tous les deux !!

      Vaucluse tu répond a mon casse tête sur le décalage de ligne !! je devenais fou !

      Super efficace! encore merci a vous deux!
      0