Amélioré une formule

=SIERREUR(RECHERCHEV($D$3;'Calendrier Général'!$A$2:$I$32;4;FAUX);"")

Ci-dessus la formule que j'utilise.

Elle me permet d'aller chercher une information et de la mettre si il y a quelque chose à mettre et s'il n'y a rien la case reste vide.

Elle fait référence au départ à une date.

J'aimerai l'amélioré. s'il n'y a rien à la première date, il va chercher la 2ème date, puis 3ème date, puis 4ème date.

C'est pour un programme de match pour la semaine (je suis le secrétaire d'un club de foot).

S'il y a un match le mercredi, paf sa me le marque, s'il n'y a pas de match le mercredi et il va voir pour le vendredi, puis le samedi ou le dimanche.

Et s'il n'y a pas de match programmé de la semaine, il ne marque rien.

Merci

Bonjour,

Votre demande est entièrement dépendante de la structure des données à votre disposition. Si vous voulez avoir une chance d'obtenir une réponse, je vous conseille de joindre un classeur représentatif de votre demande !

Je vous joins mon fichier.

Dans l'onglet "Calendrier Général", c'est la que je vais chercher mes infos

Dans l'onglet "Match de la semaine", c'est ce que j'ai fais et que j'utilise actuellement.

Dans l'onglet "feuil2", c'est ce que je voudrais faire

Dans l'onglet "Résultats", il faudra que je reprenne ce qu'il y aura dans "feuil2" en rajoutant les résultat des matchs.

Merci

Bonjour,

En espérant avoir compris, une formule possible en Feuil2!C5 :

=INDEX('Calendrier Général'!$D:$D;EQUIV($B5;'Calendrier Général'!$B:$B;0)+NB.SI.ENS('Calendrier Général'!$A:$A;"<"&$B$1;'Calendrier Général'!$B:$B;$B5))

Elle rapatrie le lieu du prochain match de l'équipe, en se basant sur la date indiquée en B5.

Quelques détails :

  • INDEX renvoie la valeur d'une plage de cellules (argument 1) située à l'intersection d'un indice de ligne (argument 2) et de colonne (argument 3, facultatif si argument 1 n'a qu'une colonne)
  • EQUIV renvoie la position d'un élément cherché (argument 1) dans une plage (argument 2), comme pour une RECHERCHEV, l'argument 3 est 0
  • NB.SI.ENS donne le nombre de lignes d'un tableau qui respectent un ensemble de conditions

Leur utilisation pour votre demande :

  • L'argument 1 de la fonction INDEX est le seul amené à changer d'une colonne à l'autre, en fonction du résultat souhaité (ici colonne D pour renvoyer l'équipe adverse, mais on peut changer pour renvoyer le lieu, l'heure du match, etc)
  • EQUIV sert à donner la première position (ligne) qui concerne l'équipe dans le tableau source
  • NB.SI.ENS donne ensuite le nombre de lignes de cette équipe dont les matchs sont déjà passés
  • La somme des résultats des 2 fonctions ci-dessus donne le n° de ligne qui concerne le prochain match

Bonjour,

Que dois-je changer d'une colonne à l'autre ?

Autre problème, cela me donne bien le prochain match, mais le prochain match est le 11 janvier pour les Seniors A, donc cette semaine je devrais avoir pour résultat une case vide (pas de match cette semaine).

Merci

Que dois-je changer d'une colonne à l'autre ?

Bonjour,

Le premier argument de la fonction INDEX correspond à la plage du résultat à renvoyer (ici colonne D pour le nom de l'équipe adverse).

Autre problème, cela me donne bien le prochain match, mais le prochain match est le 11 janvier pour les Seniors A, donc cette semaine je devrais avoir pour résultat une case vide (pas de match cette semaine).

Vous pouvez ajouter une condition (fonction SI()) sur la date du prochain match. Si la différence entre la date de référence et la date du match est supérieure à 7, alors ne rien afficher...

Rechercher des sujets similaires à "ameliore formule"