Excel tri de donnees
titi
-
Vaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je sollicite votre aide car je rencontre des difficultés. J'ai un tableau de données qui est créé par une requête de Excel vers Access. Dans ce tableau j'ai le résultat de différents tests effectués.
Pour un type de marchandise j'ai plusieurs résultat de tests et le nombre de tests augmente au fur à mesure.
Je souhaite à partir de mes raw data pourvoir créer un nouveau tableau, en utilisant deux critères :
- specifier un type de données
- Je souhaiterais utiliser la date, spécifier une date et obtenir pour chaque marchandises et le type de données sélectionné , la donnée correspondant a la date la plus proche de cette date spécifiée mais antérieure ou égale à cette date.
Est-ce possible sans macro ?
Merci de votre aide
http://www.cijoint.fr/cjlink.php?file=cj201104/cijZ3cQ2Ld.xlsx
Je sollicite votre aide car je rencontre des difficultés. J'ai un tableau de données qui est créé par une requête de Excel vers Access. Dans ce tableau j'ai le résultat de différents tests effectués.
Pour un type de marchandise j'ai plusieurs résultat de tests et le nombre de tests augmente au fur à mesure.
Je souhaite à partir de mes raw data pourvoir créer un nouveau tableau, en utilisant deux critères :
- specifier un type de données
- Je souhaiterais utiliser la date, spécifier une date et obtenir pour chaque marchandises et le type de données sélectionné , la donnée correspondant a la date la plus proche de cette date spécifiée mais antérieure ou égale à cette date.
Est-ce possible sans macro ?
Merci de votre aide
http://www.cijoint.fr/cjlink.php?file=cj201104/cijZ3cQ2Ld.xlsx
A voir également:
- Excel tri de donnees
- Comment faire un tri personnalisé sur excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Logiciel tri photo - Guide
1 réponse
Bonjour
1° sous réserve que vos dates dans le tableau data raw soit toujours classées en ordre croissant
2° que les références du tableau en colonne B feuille bilan existe bien dans la feuille data colonne B ce qui ne semble pas être le cas dans votre modèle
essayez en feuille bilan, C5:
=INDEX('data raw '!$A$1:$AL$2000;EQUIV($C$3;SI('data raw '!$B$1:$B$2000=$B5;$C$1:$C$2000));1)
et en D5
=INDEX('data raw '!$A$1:$AL$2000;EQUIV($C$3;SI('data raw '!$B$1:$B$2000=$B5;$C$1:$C$2000));2)
formules matricielles à entrer avec les touches ctrl et shift enfoncées (elles doivent apparaître entre accolade dans la barre de formules)
La formule recherche la référence existante en colonne B de la feuille data, et dont la date en colonne C est la plus proche inférieure de la date en C3 feuille bilan
elle ressort ensuite la valeur correspondante sur la même ligne, dans la colonne du champ INDEX dont le N° est placé en fin de formule;1) pour la 1° ;2) pour la 2° etc..et ainsi de suite jusqu'à la dernière colonne à éditer
par exemple, la formule placée en C5 sur la feuille bilan donne:
G086 lorsqu'on place AK86 en B5, soit la valeur colonne A de A86 à la date du 4/3/11 sot ligne 1384 de la feuille data raw.
Par ailleurs et pour info: vous devz avoir des blancs en fin de nom de feuille (data raw par exemple qui complique un peu l'entrée des noms de feuille dans les formules)
crdlmnt
1° sous réserve que vos dates dans le tableau data raw soit toujours classées en ordre croissant
2° que les références du tableau en colonne B feuille bilan existe bien dans la feuille data colonne B ce qui ne semble pas être le cas dans votre modèle
essayez en feuille bilan, C5:
=INDEX('data raw '!$A$1:$AL$2000;EQUIV($C$3;SI('data raw '!$B$1:$B$2000=$B5;$C$1:$C$2000));1)
et en D5
=INDEX('data raw '!$A$1:$AL$2000;EQUIV($C$3;SI('data raw '!$B$1:$B$2000=$B5;$C$1:$C$2000));2)
formules matricielles à entrer avec les touches ctrl et shift enfoncées (elles doivent apparaître entre accolade dans la barre de formules)
La formule recherche la référence existante en colonne B de la feuille data, et dont la date en colonne C est la plus proche inférieure de la date en C3 feuille bilan
elle ressort ensuite la valeur correspondante sur la même ligne, dans la colonne du champ INDEX dont le N° est placé en fin de formule;1) pour la 1° ;2) pour la 2° etc..et ainsi de suite jusqu'à la dernière colonne à éditer
par exemple, la formule placée en C5 sur la feuille bilan donne:
G086 lorsqu'on place AK86 en B5, soit la valeur colonne A de A86 à la date du 4/3/11 sot ligne 1384 de la feuille data raw.
Par ailleurs et pour info: vous devz avoir des blancs en fin de nom de feuille (data raw par exemple qui complique un peu l'entrée des noms de feuille dans les formules)
crdlmnt
merci de votre aide, je rencontre encore des difficultés.La valeur que j'obtiens si je classe le tableau par ordre décroissant de date correspond au test le plus ancien.
Je comprends la fonction index:
index(matrice, numéro de ligne, numero de colonne)
matrice= mon tableau A1:L2000
numéro de colonne = celle de la donnée que je veux récupérer= 7 dans mon nouvelle exemple
J'ai par contre du mal à comprendre la formule pour déterminer le numéro de ligne.
numéro de ligne = equiv(valeur recherchée, plage de cellule,1)
valeur recherchée =date=c3
Pour déterminer la plage de cellule vous utilisez un SI que je ne comprends pas.
Pourriez m'éclairer svp.
merci
http://www.cijoint.fr/cjlink.php?file=cj201104/cijN2LWs29.xlsx
tout d'abord, il est bien précisé au début de mon message que le tableau doit être classé dans l'ordre croissant, la fonction EQUIV ressortant la valeur inférieure en N° de ligne la plus proche de celle cherchée.
Ensuite, la condition SI est la partie matricielle, elle ne prend en compte que les éléments de la colonne B qui correspondent à la référence placée en B5
Enfin, je n'arrive pas à traiter cela sur votre fichier, il y a des liens qui parasitent mes interventions et probablement un format date aléatoire en colonne C
Je vous transmet ce fichier qui est obtenu comme suit:
création d'un nouveau classeur vierge
copie / collage valeur des deux feuilles (nommées F_1 et F_2)
j'ai replacé les formules et il me semble que cela fonctionne, mais je ne garantis pas
J'ai aussi placé en colonne D la formule matricielle qui ressort le N° de ligne éditée pour faciliter le contrôle
Regardez si cela correspond à ce que vous souhaitez et si oui essayez de l'adapter , peut être en conservant les liens qui apparaissent, cela fonctionnera mieux
http://www.cijoint.fr/cjlink.php?file=cj201104/cij9vILGIx.xls
Note:le fichier est en type excel 97_2003 pour garantir le transfert
crdlmnt