Trouver lez 3ème nombre psitif
Résolu
Andioen
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans une ligne de 8 colonnes, j'ai 1, 2 ou 3 nombres positifs. J'ai besoin de détecter la position (colonne ) du premier nombre positif ou du second, pour appliquer une formule au second.
Comment faire ?
Dans une ligne de 8 colonnes, j'ai 1, 2 ou 3 nombres positifs. J'ai besoin de détecter la position (colonne ) du premier nombre positif ou du second, pour appliquer une formule au second.
Comment faire ?
Configuration: Windows / Firefox 64.0
A voir également:
- Trouver lez 3ème nombre psitif
- Trouver adresse mac - Guide
- Formule mathématique 3ème pdf - Télécharger - Études & Formations
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Nombre de jours entre deux dates excel - Guide
- Ou trouver l'adresse ip - Guide
8 réponses
Bonjour
pour un champ de valeur comprenant des nombres négatifs et positifs , par exemple de A1 à H1
pour avoir le N° de colonne du 1° nombre positif:
PETITE.VALEUR(SI(A1:H1>0;COLONNE($A$1:$H$1));1)
et du second
PETITE.VALEUR(SI(A1:H1>0;COLONNE($A$1:$H$1));2)
Ect.....
attention
soit par exemple, pour un champ commençant en C jusqu'à J:
=PETITE.VALEUR(SI(C1:J1>0;COLONNE(C1:J1));1)-2
crtdlmnt
pour un champ de valeur comprenant des nombres négatifs et positifs , par exemple de A1 à H1
pour avoir le N° de colonne du 1° nombre positif:
PETITE.VALEUR(SI(A1:H1>0;COLONNE($A$1:$H$1));1)
et du second
PETITE.VALEUR(SI(A1:H1>0;COLONNE($A$1:$H$1));2)
Ect.....
attention
- cette formule est matricielle et doit être entrée avec la touche enter en maintenant les touches ctrl et shift enfoncées. (elle doit s'afficher automatiquement entre accolades dans la barre de formule)
- la formule n'inclut pas le 0 dans les positifs. Pour l'inclure remplacer > par >=
- la formule donne le N° de colonne dans la feuille, et donc, si le champ traité ne commence pas en A il est nécessaire d'appliquer une valeur corrective en fin de formule pour avoir si besoin le rang dans le champ
soit par exemple, pour un champ commençant en C jusqu'à J:
=PETITE.VALEUR(SI(C1:J1>0;COLONNE(C1:J1));1)-2
crtdlmnt
Bonjour,
Merci beaucoup d'avoir mis cette compétence à mon service. La formule marche parfaitement.
Pour répondre à Eric, le premier signifiait le premier à se présenter.
Je vais oser demander une idée supplémentaire.
Supposons que la ligne testée soit la ligne 2. La formule est donc devenue =PETITE.VALEUR(SI($A2:$H2>0;COLONNE($A2:$H2));1).
Y aurait-il une manière d'écrire la formule pour que ce qui apparaisse comme résultat ne soit pas le numéro de la colonne, mais le contenu de la colonne en ligne 1 (en fait, le titre de la colonne) ?
Cdmt
Merci beaucoup d'avoir mis cette compétence à mon service. La formule marche parfaitement.
Pour répondre à Eric, le premier signifiait le premier à se présenter.
Je vais oser demander une idée supplémentaire.
Supposons que la ligne testée soit la ligne 2. La formule est donc devenue =PETITE.VALEUR(SI($A2:$H2>0;COLONNE($A2:$H2));1).
Y aurait-il une manière d'écrire la formule pour que ce qui apparaisse comme résultat ne soit pas le numéro de la colonne, mais le contenu de la colonne en ligne 1 (en fait, le titre de la colonne) ?
Cdmt
bonjour
si les titres sont en ligne 1:
=INDEX($A$1:$H$1;PETITE.VALEUR(SI($A2:$H2>0;COLONNE($A2:$H2));1))
attention aux $ si vous tirez la formule
toujours en matricielle, bien sur
si cela vous convient, merci de passer le sujet en résolu (menu roue dentée, en haut à droite du titre)
crdlmnt
si les titres sont en ligne 1:
=INDEX($A$1:$H$1;PETITE.VALEUR(SI($A2:$H2>0;COLONNE($A2:$H2));1))
attention aux $ si vous tirez la formule
toujours en matricielle, bien sur
si cela vous convient, merci de passer le sujet en résolu (menu roue dentée, en haut à droite du titre)
crdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Aie ! Il y a un pépin !
Quand utilise la formule que vous m'avez apprise, tout va bien s'il y a des valeurs à trouver. mais s'il n'y en n'a pas, il y a affichage "#NOMBRE!".
Je m'explique. Si dans la ligne A2 à H2, il y a un chiffre positif, j'obtiens bien le résultat escompté. Et ainsi de suite dans toutes les autres lignes, ou je change dans la formule le numéro de la ligne. Ainsi pour la ligne 7 : =INDEX($A$1:$H$1;PETITE.VALEUR(SI($A7:$H7>0;COLONNE($A7:$H7));1)). Mais si dans une ligne il n'y a pas de valeur positive, j'ai "#NOMBRE!".
Bon, je peux m'en tirer en faisant une cellule intermédiaire avec votre formule, dans laquelle je reconnaitrais s'il y a un nombre ou pas, mais ce n'est pas une solution élégante par rapport à votre apport !
Quand utilise la formule que vous m'avez apprise, tout va bien s'il y a des valeurs à trouver. mais s'il n'y en n'a pas, il y a affichage "#NOMBRE!".
Je m'explique. Si dans la ligne A2 à H2, il y a un chiffre positif, j'obtiens bien le résultat escompté. Et ainsi de suite dans toutes les autres lignes, ou je change dans la formule le numéro de la ligne. Ainsi pour la ligne 7 : =INDEX($A$1:$H$1;PETITE.VALEUR(SI($A7:$H7>0;COLONNE($A7:$H7));1)). Mais si dans une ligne il n'y a pas de valeur positive, j'ai "#NOMBRE!".
Bon, je peux m'en tirer en faisant une cellule intermédiaire avec votre formule, dans laquelle je reconnaitrais s'il y a un nombre ou pas, mais ce n'est pas une solution élégante par rapport à votre apport !
Bonjour,
il suffit en début de formule mettre une gestion d'erreur et en fin ;"")
=SIERREUR( ta formule ;"")
comme cela, et au passage une autre approche de formule
=SIERREUR(INDIRECT(ADRESSE(1;EQUIV(PETITE.VALEUR(A2:H2;1);2:2;0);4));"")
il suffit en début de formule mettre une gestion d'erreur et en fin ;"")
=SIERREUR( ta formule ;"")
comme cela, et au passage une autre approche de formule
=SIERREUR(INDIRECT(ADRESSE(1;EQUIV(PETITE.VALEUR(A2:H2;1);2:2;0);4));"")