Excel formule dernière occurence help!!
D££
-
D££ -
D££ -
Bonjour:
je sais que je me complique la vie mais je cherche a formuler correctement
une formule sur excel (en français).
J'ai une colonne date (exprimée en numéro du jour) avec parfois plusieurs fois
le meme jour, et une colonne contenant des nombres entiers.
je voudrais dans un deuxieme tableau (meme feuille), avoir le meme tableau
mais cette fois ci en ne retenant que le dernier nombre pour chaque date.
c a d
N°jour Nb
99 6
99 5
99 7
100 9
100 5
101 8
102 3
102 2
et mon deuxieme tableau doit me donner
N°jour Nb
99 7
100 5
101 8
102 2
Ma question est donc: quelle formule mettre dans les cellules de la colonne Nb de mon deuxieme tableau.
Je suis sur que la réponse est simple ... mais là mon cerveau bug... et surtout suis pas assez rodé sur excel.
Merci pour votre aide. D££
je sais que je me complique la vie mais je cherche a formuler correctement
une formule sur excel (en français).
J'ai une colonne date (exprimée en numéro du jour) avec parfois plusieurs fois
le meme jour, et une colonne contenant des nombres entiers.
je voudrais dans un deuxieme tableau (meme feuille), avoir le meme tableau
mais cette fois ci en ne retenant que le dernier nombre pour chaque date.
c a d
N°jour Nb
99 6
99 5
99 7
100 9
100 5
101 8
102 3
102 2
et mon deuxieme tableau doit me donner
N°jour Nb
99 7
100 5
101 8
102 2
Ma question est donc: quelle formule mettre dans les cellules de la colonne Nb de mon deuxieme tableau.
Je suis sur que la réponse est simple ... mais là mon cerveau bug... et surtout suis pas assez rodé sur excel.
Merci pour votre aide. D££
A voir également:
- Excel formule dernière occurence help!!
- Formule excel si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Formule somme excel ligne - Guide
- Excel mise en forme conditionnelle formule - Guide
8 réponses
Rassure toi, la reponse ne me parait pas simple a moi non plus et pourtant j'utilise Excel de maniere intensive depuis tres longtemps.
Dans ce cas, je ne vois pas d'autre solution que d'ajouter une colonne dans ton premier tableau afin d'indiquer ou se trouve la derniere occurence.
Ce qui donnera le resultat suivant
Le tableau suivant utilise alors les formules :
Est ce que cela te conviens ?
Dans ce cas, je ne vois pas d'autre solution que d'ajouter une colonne dans ton premier tableau afin d'indiquer ou se trouve la derniere occurence.
A B C +---------+----+-------------------------------+ 1 | No Jour | Nb | Dernier | +---------+----+-------------------------------+ 2 | 99 | 6 | =SI(NB.SI(A2:A$9;A2)=1;B2;"") | +---------+----+-------------------------------+ 3 | 99 | 5 | =SI(NB.SI(A3:A$9;A3)=1;B3;"") | +---------+----+-------------------------------+ 4 | 99 | 7 | =SI(NB.SI(A4:A$9;A4)=1;B4;"") | +---------+----+-------------------------------+ 5 | 100 | 9 | =SI(NB.SI(A5:A$9;A5)=1;B5;"") | +---------+----+-------------------------------+ 6 | 100 | 5 | =SI(NB.SI(A6:A$9;A6)=1;B6;"") | +---------+----+-------------------------------+ 7 | 101 | 8 | =SI(NB.SI(A7:A$9;A7)=1;B7;"") | +---------+----+-------------------------------+ 8 | 102 | 3 | =SI(NB.SI(A8:A$9;A8)=1;B8;"") | +---------+----+-------------------------------+ 9 | 102 | 2 | =SI(NB.SI(A9:A$9;A9)=1;B9;"") | +---------+----+-------------------------------+
Ce qui donnera le resultat suivant
A B C +---------+----+---------+ 1 | No Jour | Nb | Dernier | +---------+----+---------+ 2 | 99 | 6 | | +---------+----+---------+ 3 | 99 | 5 | | +---------+----+---------+ 4 | 99 | 7 | 7 | +---------+----+---------+ 5 | 100 | 9 | | +---------+----+---------+ 6 | 100 | 5 | 5 | +---------+----+---------+ 7 | 101 | 8 | 8 | +---------+----+---------+ 8 | 102 | 3 | | +---------+----+---------+ 9 | 102 | 2 | 2 | +---------+----+---------+
Le tableau suivant utilise alors les formules :
A B +---------+--------------------------------------+ 1 | No jour | Nb | +---------+--------------------------------------+ 2 | 99 | =SOMME.SI(Feuil1!A$1:A$9;A2;C$1:c$9) | +---------+--------------------------------------+ 3 | 100 | =SOMME.SI(Feuil1!A$1:A$9;A3;C$1:c$9) | +---------+--------------------------------------+ 4 | 101 | =SOMME.SI(Feuil1!A$1:A$9;A4;C$1:c$9) | +---------+--------------------------------------+ 5 | 102 | =SOMME.SI(Feuil1!A$1:A$9;A5;C$1:c$9) | +---------+--------------------------------------+
Est ce que cela te conviens ?
Exact, les 2 formules deviennent:
Tri sans doublons (D1 doit resté vide)
=SI(MIN(SI(A$1:A$100>D1;A$1:A$100))=0;"";MIN(SI(A$1:A$100>D1;A$1:A$100)))
dernière occurence
=SI(D2="";"";INDEX(B$1:B$100;MAX(SI(A$1:A$1000=D2;LIGNE(A$1:A$1000)))))
formules matricielles
Merci Santiago
Bonne soirée à tt le monde
Tri sans doublons (D1 doit resté vide)
=SI(MIN(SI(A$1:A$100>D1;A$1:A$100))=0;"";MIN(SI(A$1:A$100>D1;A$1:A$100)))
dernière occurence
=SI(D2="";"";INDEX(B$1:B$100;MAX(SI(A$1:A$1000=D2;LIGNE(A$1:A$1000)))))
formules matricielles
Merci Santiago
Bonne soirée à tt le monde
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tout dabord merci à tous les deux pour vos réponses.
Réponse à Michel_m:
je t'avouerais que je n'arrive pas bien à saisir le sens de la "syntaxe" de la formule, et n'ayant pas réussi à l'aapliquer à ma feuille de calcul, je me suis servi de la tienne pour y incorporer mes propres données ( :-p ) donc ce probleme est résolu.
Cependant pourquoi la deuxieme colonne de ton deuxieme tableau renvoie la valeur 0 alors qu'elle devrait renvoyer 2 (derniere occurence) ?
Réponse à santiago69:
Ton deuxieme tableau renvoie la derniere occurence pour le jour 99 dans toute la colonne (colonne 2 tableau 2) !!
Question à tous deux:
Ne saisissant pas bien les sens des syntaxes de l'un et de l'autre, je crois avoir compris que chacune de vos formules n'était valable que pour une plage de données déja remplie et dont on connait donc la taille. Pas possible donc pour moi de faire un copier/coller pour des futures plages pas encore remplies. ??...
J'espère que mon charabia n'en est pas vraiment pour vous... en vous remerciant encore de votre aide....
Réponse à Michel_m:
je t'avouerais que je n'arrive pas bien à saisir le sens de la "syntaxe" de la formule, et n'ayant pas réussi à l'aapliquer à ma feuille de calcul, je me suis servi de la tienne pour y incorporer mes propres données ( :-p ) donc ce probleme est résolu.
Cependant pourquoi la deuxieme colonne de ton deuxieme tableau renvoie la valeur 0 alors qu'elle devrait renvoyer 2 (derniere occurence) ?
Réponse à santiago69:
Ton deuxieme tableau renvoie la derniere occurence pour le jour 99 dans toute la colonne (colonne 2 tableau 2) !!
Question à tous deux:
Ne saisissant pas bien les sens des syntaxes de l'un et de l'autre, je crois avoir compris que chacune de vos formules n'était valable que pour une plage de données déja remplie et dont on connait donc la taille. Pas possible donc pour moi de faire un copier/coller pour des futures plages pas encore remplies. ??...
J'espère que mon charabia n'en est pas vraiment pour vous... en vous remerciant encore de votre aide....
La formnule de mon deuxieme tableau est :
Et rassure toi, nos formules marchent meme si tu insere des nouvelles lignes.
Je te conseille la solution de michel_m.
Tu peux cependant lui apporter la correction suivante (si michel_m me permet) :
N'oublie pas que ce sont des formules matricielles. c'est a dire qu'apres les avoir modifie, tu dois valider avec Shift+Ctrl+Enter plutot qu'avec un simple Enter.
Ensuite tu peux remplir ton tableau 1 a l'infini et recopier vers le bas ton tableau 2 a l'infini.
En revanche, tes calculs seront beaucoup plus lents (mais je pense que ca ira avec les donnees que tu as)
A B +---------+---------------------------------------------+ 1 | No jour | Nb | +---------+---------------------------------------------+ 2 | 99 | =SOMME.SI(Feuil1!A$1:A$9;A2;Feuil1!C$1:C$9) | +---------+---------------------------------------------+ 3 | 100 | =SOMME.SI(Feuil1!A$1:A$9;A3;Feuil1!C$1:C$9) | +---------+---------------------------------------------+ 4 | 101 | =SOMME.SI(Feuil1!A$1:A$9;A4;Feuil1!C$1:C$9) | +---------+---------------------------------------------+ 5 | 102 | =SOMME.SI(Feuil1!A$1:A$9;A5;Feuil1!C$1:C$9) | +---------+---------------------------------------------+
Et rassure toi, nos formules marchent meme si tu insere des nouvelles lignes.
Je te conseille la solution de michel_m.
Tu peux cependant lui apporter la correction suivante (si michel_m me permet) :
D2 =SI(MIN(SI(A:A>D1;A:A))=0;"";MIN(SI(A:A>D1;A:A))) E2 =SI(D2="";"";INDEX(B:B;MAX(SI(A:A=D2;LIGNE(A:A)))))
N'oublie pas que ce sont des formules matricielles. c'est a dire qu'apres les avoir modifie, tu dois valider avec Shift+Ctrl+Enter plutot qu'avec un simple Enter.
Ensuite tu peux remplir ton tableau 1 a l'infini et recopier vers le bas ton tableau 2 a l'infini.
En revanche, tes calculs seront beaucoup plus lents (mais je pense que ca ira avec les donnees que tu as)
Bonsoir,
Je ne crois pas (à vérifier) que les formules matricielles fonctionnent avec des colonnes entières (A:A) il faut donc écrire par exemple A$1:A$36000 par exemple (ca permet 100 numéro par jour!)
D££, sur les forums, on te livre des maquettes: j'ai pris 100 comme j'aurai pu écrire 500 ou 1000 ou 65536... je commence en A1, mais chez toi c'est peut EF567... a toi d'adapter (et ainsi de progresser) car la communauté forum ne propose pas de solutions PAC (Prêt A Cuire)
Cependant, estime, comme dans toute appli, la charge maximum avec environ 15% d'extension surtout avec des matricielles qui sont très longues avec des grands tableaux; il vaut mieux alors passer par du VBA et voir qui est le + rapide..
Amicalement
Michel
Je ne crois pas (à vérifier) que les formules matricielles fonctionnent avec des colonnes entières (A:A) il faut donc écrire par exemple A$1:A$36000 par exemple (ca permet 100 numéro par jour!)
D££, sur les forums, on te livre des maquettes: j'ai pris 100 comme j'aurai pu écrire 500 ou 1000 ou 65536... je commence en A1, mais chez toi c'est peut EF567... a toi d'adapter (et ainsi de progresser) car la communauté forum ne propose pas de solutions PAC (Prêt A Cuire)
Cependant, estime, comme dans toute appli, la charge maximum avec environ 15% d'extension surtout avec des matricielles qui sont très longues avec des grands tableaux; il vaut mieux alors passer par du VBA et voir qui est le + rapide..
Amicalement
Michel