chercher des noms suivant condition

0

Bonjour, je vous explique mon souci, je voudrais que les cellules a1 à a8 aillent me chercher les noms figurant dans la colonne j seulement si un "n" apparait a coté du nom dans la colonne i, sachant que la position des "n" variera chaque semaine, ci dessous le fichier

en vous remerciant

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

    Posté le 14 février 2020, 14:25
    par fred8888
    Répondre
    1

    Bonjour,

    J'ai une solution en ajoutant une colonne ce qui évite d'avoir des formules trop longues.

    Quelqu'un d'autre proposera certainement une meilleure solution... à suivre !


    Dans la cellule C1, je recherche où se trouve le premier "n"

    En A1

    =EQUIV("n";INDIRECT("$I$1:$I$20");0)

    La fonction EQUIV recherche la première occurrence du "n" dans le tableau I1:I20

    Dans ton exemple la ligne 3

    Lorsqu'elle est trouvée, les cellules suivantes recherchent à partir de la ligne 4 etc.

    En A2 

    =EQUIV("n";INDIRECT("$I$" & A1+1 &":$I$20");0)+A1

    La fonction INDIRECT détermine la zone de recherche en la faisant commencer une ligne après l'élément trouvé

    Quand il n'y a plus de "n", la fonction retourne #N/A

    Dans la colonne B 

    =SI(NON(ESTNA(A1));INDEX($J$1:$J$20;A1);"")

    Si le résultat dans la colonne précédente n'est pas #N/A je regarde au numéro d'index indiqué quelle est la valeur inscrite, c'est-à-dire le nom recherché.

    Un exemple valant mieux qu'un long discours, je joins ton fichier modifié ci-dessous.

    Bon courage

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

    Une dernière remarque, si tu agences différemment tes tableaux, les références dans les fonctions INDIRECT ne se mettent pas à jour automatiquement, il faut les modifier à la main.
    MicXL Posté le 14 février 2020, 15:13
    par MicXL
    0

    Bonjour, oui ça a l air de bien fonctionné, même si ces formules sont un peu compliquées pour moi, je vais prendre le temps de déchiffrer pour bien comprendre, mais cela correspond à ce que je voulais, merci beaucoup pour ton aide

    Posté le 14 février 2020, 15:25
    par fred8888
    2

    Bonsoir,

    Voici 3 solutions :

    1 avec une formule matricielle.

    Ces formules doivent être introduites en maintenant appuyé les touches CTRL/MAJ/ENTER

    Les accolades devant et derrière apparaissent automatiquement quand on introduit comme expliqué.

    Voici le classeur :

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

    Comme une formule matricielle est relativement complexe, je te joins également un petit mémo qui explique "comment cela marche":

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

    Les 2 autres méthodes exigent, comme l'explique Micxl que je salue au passage, une colonne technique qui détermine une suite numérique.  

    Je pense que la formule est plus simple mais c'est une question d'appréciation.  Une fois la suite faite, il suffit de, soit faire une RECHERCHEV, soit travailler avec INDEX et EQUIV.  

    L'un vaut l'autre, les 2 systèmes recherche toujours la première valeur trouvée donc quand on cherche 1 par exemple on trouvera toujours le premier 1 et ainsi de suite.

    Pour chercher la valeur 1  et puis la valeur 2 etc... on s'appuie sur la numérotation des lignes.

    Attention : si on démarre à une autre ligne que la première, il faudra adapter la formule en enlevant le nombre de lignes titres

    J'espère que cela t'aidera

    Chris


    CHRIS Posté le 15 février 2020, 01:59
    par CHRIS
    0

    Merci Chris pour le coucou au passage.

    Je t'avoue que quand je poste une solution, je me demande toujours quelle solution (que je trouve toujours meilleure hihihi) tu vas proposer.

    MicXL Posté le 15 février 2020, 12:32
    par MicXL

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :