Formule matricielle et liste

TheNico38 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,



Vous trouverez ci-joint un fichier avec ce dont j'aurais besoin

https://mon-partage.fr/f/o2BCY48F/

Le but est de pouvoir faire apparaître des liste de données en fonction d'un ou plusieurs critères.

Les formules matricielles sont les bonnes mais je n'arrive pas à comprendre le mécanisme, donc j'essaie de faire à partir d'exemple, mais je bloque assez vite.

Merci d'avance
A voir également:

2 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour

en D22, la matricielle:

=SIERREUR(INDEX(Champ;PETITE.VALEUR(SI(mat=$C$3;LIGNE($A$1:$A$101));LIGNE($A1));6);"")

remplacer le LIGNE(A13) pas LIGNE(A1)

sinon vous allez chercher en commençant par la 13° valeur au dessus du plus petit!

et bien entendu, il faut que le code construit en A22 existe dans la feuille Bordereau pour que les recherches fonctionnent, ce n'est pas le cas de votre modèle, mais sans doute les listes sont elles incomplètes.


Pour info
le LIGNE(A1) dans la formule donne le rang cherché pour la petite valeur et permet d'incrémenter en tirant la formule vers les bas:
LIGNE(A1) =1 devient LIGNE(A2) =2 etc...

crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
0
TheNico38 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de la réponse, mais en fait les formules existantes sont déjà issue d'une demande sur ce même forum, je ne maîtrise pas la fonction index et petite valeur.
A ce jour je commence à comprendre la notion de matrice pour tout ce qui est somme mais je ne suis pas encore en mesure de construire une formule matricielle tout seul.
Pour la notion du code qui doit être présent dans l'onglet Bordereau, effectivement la liste est incomplète
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438 > TheNico38 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Ok mais est ce que la modif préconisée vous donne satisfaction?
pour mémoire en D22
=SIERREUR(INDEX(Champ;PETITE.VALEUR(SI(mat=$C$3;LIGNE($A$1:$A$101));LIGNE($A1));6);"")

crdlmnt
0
TheNico38 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   > Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention  
 
euh non pas vraiment par rapport à ma demande
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
C'est quoi exactement, votre demande, vu qu'en fait après contrôle, (la formule est correcte dans la colonne le blocage des volets m'avait induit en erreur)
Alors qu'est ce qui ne va pas?
,sachant comme déja dit, que dans le cas de la feuille contrôle de votre modèle, la référence basé sur C3 n'existe pas dans le champ de RECHERCHE, d'où les #N/A et que par contre les résultats en B,C,D,E sont corrects
A vous lire
0
TheNico38 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   > Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention  
 
Dans le fichier, j'ai mis les conditions

Mais la problématique est la suivante

Lorsque je sélectionne dans l'onglet "Contrôle Individuel" un code GAP, je souhaite avoir une liste issue de l'onglet "Requete Ad-hoc" comprenant les champs indiqués, à savoir :
Matricule (colonne B) - Date de début (colonne F) - Date de fin (Colonne G) - Nb d'IJSS (colonne Q)
Ne pas tenir compte de la colonne A de l'onglet Contrôle individuel, elle doit me servir à alimenter les colonnes F, G, H du même onglet.

L'idéal était de rajouter une condition qui dit la chose suivante :
Si le champ Matricule de l'onglet Contrôle individuel est renseigné, n'afficher que les renseignements pour ce matricule, sinon afficher la liste des matricules.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
quelques corrections à faire....:-)))) Excel n'aime pas trop la fantaisie!
  • votre plage en requête dépasse 4000 lignes

*les champs nommés ne sont pas alignés:
  • pour assurer le fonctionnement de la matricielle sans correction de ligne, ils doivent démarrer à la ligne 1 et pour couvrir toute la plage, aller par exemple jusqu'à la ligne 5000

et tous à la même hauteur
  • dans votre formule, vous faites référence à LIGNE($A$$1:$A$99)... ça ne suffira pas,vu le champ GAP,utilisez: LIGNE($A$1:$A$5000) (même hauteur que les autres, y a pas de raison.

Et vous verrez que ça va aller beaucoup mieux
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
0
TheNico38 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
ça y est je viens de comprendre, mais l'utilisation des fonctions matricielles reste quand même vraiment complexe.

Si vous connaissez des tutoriels, ça m'interesse ceux que je trouve concerne essentiellement des problématiques de calcul et de somme (comme les SommesSI ou les SommesProd)

Dans mon travail, c'est davantage des restitutions de données texte et ensuite des formules de calcul, ou de la macro suivant le cas.

Par exemple, dans la formule que j'ai décrite auparavant, comment le traduire en bon français,

Le SI.ERREUR est facile :
Si jamais le résultat de la formule génère une erreur alors j'affiche une autre valeur, sinon j'affiche le résultat de la formule

mais ensuite, la fonction INDEX et le reste ...

pourtant j'essaie de me former sur le net, notamment les fonctions INDEX et EQUIV

en tout cas merci pour tout
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438 > TheNico38 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
On va passer en privé pour ne pas tartiner là et je vous explique un peu
.. mais juste un peu et dans un moment!
surveiller l'enveloppe rouge en haut à droite de la page, à tout à l'heure
0