Aide pour comprendre une formule
Fermé
FBCH44
Messages postés
8
Date d'inscription
mardi 4 janvier 2022
Statut
Membre
Dernière intervention
12 avril 2022
-
Modifié le 15 janv. 2022 à 20:41
BFCH - 24 janv. 2022 à 10:11
BFCH - 24 janv. 2022 à 10:11
A voir également:
- Aide pour comprendre une formule
- Formule excel pour additionner plusieurs cellules - Guide
- Formule si et - Guide
- Formule pour calculer une moyenne sur excel - Guide
- Formule excel - Guide
- Excel mise en forme conditionnelle formule - Guide
6 réponses
DjiDji59430
Messages postés
4144
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
16 novembre 2024
678
14 janv. 2022 à 19:34
14 janv. 2022 à 19:34
Bonjour à tous,
SI(LIGNES($1:1)<=NB.SI(TS_data;$A$1);INDEX(MesData;PETITE.VALEUR(SI(TS_data=$A$1;LIGNE(INDIRECT("1:"&LIGNES(TS_data))));LIGNES($1:1));1);"")
SI(LIGNES($1:1)<=NB.SI(TS_data;$A$1) ==>""
la formule fonctionne pour les lignes auxquelles elle s'applique, sinon, elle renvoie ""
peut etre remplacé par sierreur(formule;"").
on va ranger dans une autre liste les celules qui repondent a la condition, ici TS_data=$A$1
Pour les ranger il faut un ordre
Cet ordre, c'est LIGNES($1:1)
on aura petite.valeur(plage;1, puis 2 (lignes($1;2), etc au fur et a mesure qu' on descend la formule quand il n'y en aura plus, on aura une erreur et le sierreur donnera le ""
LIGNE(INDIRECT("1:"&LIGNES(TS_data)))
Pour compter les valeur de la lise a traiter, il faut savoir combien il y a de lignes
si par exemple TS_data a 10 lignes
LIGNE(INDIRECT("1:"&LIGNES(TS_data))) ==>LIGNE(INDIRECT("1:"&10))==>ligne($1:$10)
si TS_data) correspond a la plage a5:a15 , ou peut mettre ligne(a5:a15 )-4
pourquoi -4 ?
parce que l'index d'une plage commence a 1 ce qui fait 5-4;6-4;etc...
SI(TS_data=$A$1;LIGNE(INDIRECT("1:"&LIGNES(TS_data))))
ça va donner une matrice de 0 ou de 1 appliquée a celle des lignes
on obtient une matrice genre (faux;2;3;faux;faux;faux)
PETITE.VALEUR(SI(TS_data=$A$1;LIGNE(INDIRECT("1:"&LIGNES(TS_data))));LIGNES($1:1))
la premiere valeur c'est 3, apres 4 etc.
dansc la formule se réduit a
INDEX(MesData;2) puis au fur et a mesure qu'on descend
INDEX(MesData;3)
etc
on a ainsi crée une liste des mes data qui repondent aux conditions TS_data=$A$1
Crdlmt
SI(LIGNES($1:1)<=NB.SI(TS_data;$A$1);INDEX(MesData;PETITE.VALEUR(SI(TS_data=$A$1;LIGNE(INDIRECT("1:"&LIGNES(TS_data))));LIGNES($1:1));1);"")
SI(LIGNES($1:1)<=NB.SI(TS_data;$A$1) ==>""
la formule fonctionne pour les lignes auxquelles elle s'applique, sinon, elle renvoie ""
peut etre remplacé par sierreur(formule;"").
on va ranger dans une autre liste les celules qui repondent a la condition, ici TS_data=$A$1
Pour les ranger il faut un ordre
Cet ordre, c'est LIGNES($1:1)
on aura petite.valeur(plage;1, puis 2 (lignes($1;2), etc au fur et a mesure qu' on descend la formule quand il n'y en aura plus, on aura une erreur et le sierreur donnera le ""
LIGNE(INDIRECT("1:"&LIGNES(TS_data)))
Pour compter les valeur de la lise a traiter, il faut savoir combien il y a de lignes
si par exemple TS_data a 10 lignes
LIGNE(INDIRECT("1:"&LIGNES(TS_data))) ==>LIGNE(INDIRECT("1:"&10))==>ligne($1:$10)
si TS_data) correspond a la plage a5:a15 , ou peut mettre ligne(a5:a15 )-4
pourquoi -4 ?
parce que l'index d'une plage commence a 1 ce qui fait 5-4;6-4;etc...
SI(TS_data=$A$1;LIGNE(INDIRECT("1:"&LIGNES(TS_data))))
ça va donner une matrice de 0 ou de 1 appliquée a celle des lignes
on obtient une matrice genre (faux;2;3;faux;faux;faux)
PETITE.VALEUR(SI(TS_data=$A$1;LIGNE(INDIRECT("1:"&LIGNES(TS_data))));LIGNES($1:1))
la premiere valeur c'est 3, apres 4 etc.
dansc la formule se réduit a
INDEX(MesData;2) puis au fur et a mesure qu'on descend
INDEX(MesData;3)
etc
on a ainsi crée une liste des mes data qui repondent aux conditions TS_data=$A$1
Crdlmt
FBCH44
Messages postés
8
Date d'inscription
mardi 4 janvier 2022
Statut
Membre
Dernière intervention
12 avril 2022
17 janv. 2022 à 11:10
17 janv. 2022 à 11:10
merci beaucoup pour ces explications.
Mais suis désolée, d'insister, je voulais créer une nouvelle liste des mes data mais cette fois qui répondent aux conditions consultations palais oui.
la liste que j'obtiens : 1er nom puis #Nombre!
je ne vois pas ce qui ne colle pas
SI(LIGNES($1:1)<=NB.SI(Tableau3[Consultation_palais];$A$1);INDEX(MesData;PETITE.VALEUR(SI(Tableau3[Consultation_palais]=$A$1;LIGNE(INDIRECT("1:"&LIGNES(Tableau3[Consultation_palais]))));LIGNES($1:1));1);"")
si vous avez la possibilité de m'aider à nouveau je vous en remercie.
bonne journée
BFCH
Mais suis désolée, d'insister, je voulais créer une nouvelle liste des mes data mais cette fois qui répondent aux conditions consultations palais oui.
la liste que j'obtiens : 1er nom puis #Nombre!
je ne vois pas ce qui ne colle pas
SI(LIGNES($1:1)<=NB.SI(Tableau3[Consultation_palais];$A$1);INDEX(MesData;PETITE.VALEUR(SI(Tableau3[Consultation_palais]=$A$1;LIGNE(INDIRECT("1:"&LIGNES(Tableau3[Consultation_palais]))));LIGNES($1:1));1);"")
si vous avez la possibilité de m'aider à nouveau je vous en remercie.
bonne journée
BFCH
DjiDji59430
Messages postés
4144
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
16 novembre 2024
678
17 janv. 2022 à 17:38
17 janv. 2022 à 17:38
Ce n'est pas moi qui t'ai fait cette formule, je te l'ai simplement expliquée (Mal apparemment !)
C'est quoi le ;1) a la fin ?
essaye
SI(LIGNES($1:1)<=NB.SI(Tableau3[Consultation_palais];$A$1);INDEX(MesData;PETITE.VALEUR(SI(Tableau3[Consultation_palais]=$A$1;LIGNE(INDIRECT("1:"&LIGNES(Tableau3[Consultation_palais]))));LIGNES($1:1)));"")
Crdlmt
C'est quoi le ;1) a la fin ?
essaye
SI(LIGNES($1:1)<=NB.SI(Tableau3[Consultation_palais];$A$1);INDEX(MesData;PETITE.VALEUR(SI(Tableau3[Consultation_palais]=$A$1;LIGNE(INDIRECT("1:"&LIGNES(Tableau3[Consultation_palais]))));LIGNES($1:1)));"")
Crdlmt
FBCH44
Messages postés
8
Date d'inscription
mardi 4 janvier 2022
Statut
Membre
Dernière intervention
12 avril 2022
17 janv. 2022 à 17:47
17 janv. 2022 à 17:47
ca me mets #ref!
et non, les explications m'aide à comprendre la formule et justement je ne comprends pas pourquoi ca ne fonctionne pas.
en tous les cas merci d'avoir pris le temps d'y répondre
bonne soirée
et non, les explications m'aide à comprendre la formule et justement je ne comprends pas pourquoi ca ne fonctionne pas.
en tous les cas merci d'avoir pris le temps d'y répondre
bonne soirée
DjiDji59430
Messages postés
4144
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
16 novembre 2024
678
Modifié le 17 janv. 2022 à 23:39
Modifié le 17 janv. 2022 à 23:39
mets ton fichier sur le forum, on regardera ensemble
il me semble qu'il manque des $ dans le indirect
LIGNE(INDIRECT("$1:$"&LIGNES(Tableau3[Consultation_palais]))))
Sinon, tes lignes bougent quand tu descends ta formule
Crdlmt
il me semble qu'il manque des $ dans le indirect
LIGNE(INDIRECT("$1:$"&LIGNES(Tableau3[Consultation_palais]))))
Sinon, tes lignes bougent quand tu descends ta formule
Crdlmt
FBCH44
Messages postés
8
Date d'inscription
mardi 4 janvier 2022
Statut
Membre
Dernière intervention
12 avril 2022
18 janv. 2022 à 09:56
18 janv. 2022 à 09:56
bonjour,
Merci pour tes réponses et d'essayer de me dépanner.
même avec les $ ca ne marche pas.
voici l'image de mon fichier. je n'arrive pas à le joindre en excel.
je souhaiterai un onglet qui récupère les données des lignes qui ont "oui" dans consultation palais.
Le tableau "base de données" peut comporter 300 lignes. l'onglet "consultation palais" une cinquantaine.
et il me faut réussir à le faire en automatique, pas par un filtre, car je suis la "conceptrice" mais les utilisateurs ne connaissent pas bien excel et surtout pas les filtres.
il faut donc que j'arrive à leur extraire automatiquement l'onglet avec les données dont ils ont besoin.
merci beaucoup pour ton aide
bonne journée
BFCH
Merci pour tes réponses et d'essayer de me dépanner.
même avec les $ ca ne marche pas.
voici l'image de mon fichier. je n'arrive pas à le joindre en excel.
je souhaiterai un onglet qui récupère les données des lignes qui ont "oui" dans consultation palais.
Le tableau "base de données" peut comporter 300 lignes. l'onglet "consultation palais" une cinquantaine.
et il me faut réussir à le faire en automatique, pas par un filtre, car je suis la "conceptrice" mais les utilisateurs ne connaissent pas bien excel et surtout pas les filtres.
il faut donc que j'arrive à leur extraire automatiquement l'onglet avec les données dont ils ont besoin.
merci beaucoup pour ton aide
bonne journée
BFCH
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
DjiDji59430
Messages postés
4144
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
16 novembre 2024
678
18 janv. 2022 à 11:36
18 janv. 2022 à 11:36
Bonjour,
Un fichier EXCEL (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur https://www.cjoint.com/ , ainsi que ta version d'Excel, permettrait aux intervenants de répondre plus précisément à ta question.
Crdmt
Un fichier EXCEL (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur https://www.cjoint.com/ , ainsi que ta version d'Excel, permettrait aux intervenants de répondre plus précisément à ta question.
Crdmt
15 janv. 2022 à 10:25