Microsoft 365 Simplifier la formule index dans mon fichier

blancolie

XLDnaute Impliqué
Bonjour,

Dans mon fichier, j'utilise la formule suivante dans la colonne C8 :
Code:
=SIERREUR(""&INDEX(T_Datas[Lieux];PETITE.VALEUR(SI(ESTTEXTE(T_Datas[Lieux])*((T_Datas[Secteur]='Tableau de bord'!$D$1))*NON(NB.SI('Tableau de bord'!$C$7:C7;T_Datas[Lieux]));LIGNE(T_Datas[Secteur])-1);1));"")

Ce que je recherche, c'est de la simplifier car je pense pas qu'il y faut utiliser la fonction petite.valeur car il n'y aura pas 2 fois le même nom de rue dans la commune. cette formule au-dessus marche très bien mais je veux juste la simplifier.

En vous remerciant d'avance et je vous souhaite de passer de bonne fête de noël.
 

Pièces jointes

  • Tableau de Bord.xlsx
    29.2 KB · Affichages: 7
Solution
Bonsoir,
Oui on peut faire plus simple : tes valeurs de lieu sont toujours du texte donc on enlève le si esttexte, et puisque tu n'as pas de doublon, on peut enlever le non nb.si ...
On garde le petite valeur(matrice; ligne ...) pour afficher tous les noms de ton tableau
J'ai viré la fusion de cellules en colonne C
Cordialement

Dugenou

XLDnaute Barbatruc
Bonsoir,
Oui on peut faire plus simple : tes valeurs de lieu sont toujours du texte donc on enlève le si esttexte, et puisque tu n'as pas de doublon, on peut enlever le non nb.si ...
On garde le petite valeur(matrice; ligne ...) pour afficher tous les noms de ton tableau
J'ai viré la fusion de cellules en colonne C
Cordialement
 

Pièces jointes

  • Blancolie Tableau de Bord.xlsx
    28.1 KB · Affichages: 2

Dugenou

XLDnaute Barbatruc
Re,
Petite.valeur (matrice;k) permet d'appeler les N° de lignes (LIGNE(T_Datas[Secteur])-1) qui répondent à la condition : T_Datas[Secteur]='Tableau de bord'!$D$1:$F$1 un par un en commençant par la plus petite. On fait varier le k de 1 à N avec LIGNE()-7). On a créé la matrice des N° de ligne avec SI(T_Datas[Secteur]='Tableau de bord'!$D$1:$F$1;LIGNE(T_Datas[Secteur])-1)

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

En défusionnant les cellules C8: D 38 et avec excel 365 vous pourrez le faire par :
=FILTRE(T_Datas[Lieux];(T_Datas[Secteur]=$D$1))
Comme il n'y a rien dans la colonne D vos valeurs de C seront affichées sans avoir besoin d'être fusionnées.

Cordialement
 

Pièces jointes

  • Tableau de Bord.xlsx
    34.4 KB · Affichages: 2

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Il met cette erreur parce qu'il n'y a pas de secteur 'stade' dans votre exemple.

P.S. cette erreur peut avoir d'autres raisons, mais dans votre fichier exemple, c'est celle-ci la plus vraisemblable.

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
pourquoi un rectangle bleu apparait ?
Cela indique que la fonction renvoie un tableau, délimité par le rectangle bleu lorsqu'on sélectionne la cellule qui contient la formule.

Les formules de 2021 et 365 renvoyant des tableaux sont saisies uniquement dans la première cellule. Le moteur d'excel se charge de renvoyer le résultat dans le nombre de cellules nécessaires.
Plus besoin de présélection des cellules ni de validation par CTRL+MAJ+ENTREE. Si vous sélectionnez la cellule C9 vous verrez dans la barre de formule que la formule apparaît grisée: vous ne pouvez pas la modifier ici. Vous ne pouvez la modifiez qu'en C8.

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
A t elle des défauts ou inconvénients ?
Pour le moment et ce que j'en sais, si sous C8 la formule n'a pas suffisamment de cellules disponibles pour afficher son résultat alors vous aurez une erreur de type #EPARS!

Vous pouvez la conjuguer avec la formule TRIER ou TRIERPAR (si résultat en multi colonne) pour en avoir le résultat trié. Exemple
Ordre croissant : (par défaut)
=TRIER(FILTRE(T_Datas[Lieux];(T_Datas[Secteur]=$D$1)))
Ordre décroissant
=TRIER(FILTRE(T_Datas[Lieux];(T_Datas[Secteur]=$D$1));;-1)

Nouvelles fonctions dynamiques d'excel 365 et 2021 :

Cordialement
 

Statistiques des forums

Discussions
312 081
Messages
2 085 161
Membres
102 800
dernier inscrit
NOTZ