IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Rechercher le nombre entier le plus proche [XL-2013]


Sujet :

Excel

  1. #1
    Candidat au Club
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Rechercher le nombre entier le plus proche
    Bonjour,

    Connaissez-vous, une fonction permettant de rechercher quelle nombre à le nombre entier le plus proche ?

    Exemple :
    14,728
    14,939
    15,149
    15,360
    15,570
    15,780
    15,991
    16,201
    16,412
    16,622

    L'entier le plus proche est 16. Car le nombre le plus près d'un entier est 15.991.

    Une solution? :/
    Merci !

  2. #2
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Citation Envoyé par C'dric Voir le message
    Connaissez-vous, une fonction permettant de rechercher quelle nombre à le nombre entier le plus proche ? ...
    L'entier le plus proche est 16. Car le nombre le plus près d'un entier est 15.991.
    Je ne sais pas si la réponse attendue est 15.991 ou 16.
    Je vais vous donner deux formules en appelant plage la plage de cellules contenant les nombres décimaux sur lesquels porte la fonction.
    Pour obtenir 15,991 , utiliser la formule matricielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(plage;EQUIV(MIN(ABS(plage-ARRONDI(plage;0)));ABS(plage-ARRONDI(plage;0));0))
    à valider par Ctrl + Maj + Entrée.
    Pour obtenir 16, utiliser la formule matricielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(ARRONDI(plage;0);EQUIV(MIN(ABS(plage-ARRONDI(plage;0)));ABS(plage-ARRONDI(plage;0));0))
    à valider par Ctrl + Maj + Entrée.
    Cordialement
    Claude

  3. #3
    Expert confirmé
    Avatar de Phanloga
    Homme Profil pro
    Pilotage RH et Relations Sociales
    Inscrit en
    Avril 2011
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Pilotage RH et Relations Sociales
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 710
    Points : 5 695
    Points
    5 695
    Par défaut
    Bonjour Claude.
    Il faut vraiment que je me mette aux formules matricielles !
    J'avais trouvé une solution, mais en contrôlant chaque ligne...

  4. #4
    Candidat au Club
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour ces réponses ! Qui fonctionne très bien !

    Il me faudrait un petit complément si cela est possible:

    Toujours le même tableau, une fonction peut elle m'indiquer la ligne où se trouve la valeur entière que l'on a trouvé?

    Exemple :
    14,728
    14,939
    15,149
    15,360
    15,570
    15,780
    15,991
    16,201
    16,412
    16,622

    Valeur entière 16 [Formule précédente] puis dans une autre cellule : Ligne 7.

    En vous remerciant !

  5. #5
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour C'dric, Philippe,
    S'il faut les deux réponses, il est évident qu'après avoir obtenu 15,991 dans une cellule cel, on peut se contenter pour avoir 16 de la formule :
    Les formules matricielles sont très puissantes mais elles prennent un temps de calcul important qui ralentit le traitement d'une feuille en contenant trop;
    donc, il vaut mieux ne pas en utiliser une lorsqu'on peut s'en passer.
    Toutes mes excuses , mais je n'avais pas lu la réponse de C'dric jusqu'au bout.
    Réponse immédiate dans un autre message.
    Cordialement
    Claude

  6. #6
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Re,
    Toujours avec l'appellation plage et le résultat 15,991 obtenu dans cel, on obtient le rang de la cellule cel par la formule :
    Ce rang ne sera aussi la ligne de la cellule contenant 15,991 qu'à la condition que la plage de cellules commence en ligne 1.
    Si la plage de cellule commence en ligne n, la ligne s'obtiendra par la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EQUIV(cel;plage;0) + n - 1
    Enfin on aurait pu commencer par calculer ce rang dans la plage avec la formule matricielle dans une cellule celbis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EQUIV(MIN(ABS(plage-ARRONDI(plage;0)));ABS(plage-ARRONDI(plage;0));0)
    toujours à valider par Ctrl + Maj + Entrée.
    Dans ce cas, 15,991 s'obtient très simplement avec :
    =INDEX(plage ; celbis)
    Cordialement
    Claude

  7. #7
    Expert confirmé
    Avatar de Phanloga
    Homme Profil pro
    Pilotage RH et Relations Sociales
    Inscrit en
    Avril 2011
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Pilotage RH et Relations Sociales
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 710
    Points : 5 695
    Points
    5 695
    Par défaut
    Juste pour l'exemple, voici la démarche que j'avais adoptée.
    Fichiers attachés Fichiers attachés

  8. #8
    Candidat au Club
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses !
    Tout fonctionne bien !

    Cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Arrondi au nombre entier le plus proche
    Par heliy dans le forum SAP
    Réponses: 4
    Dernier message: 21/04/2011, 09h44
  2. [Complexité] recherche des n points les plus proches d'un point dans une liste
    Par Benoit_T dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 20/06/2009, 16h55
  3. Réponses: 1
    Dernier message: 17/12/2008, 20h00
  4. [DEBUTANT]recherche de date - heure la plus proche
    Par tripper.dim dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/06/2007, 13h15
  5. Réponses: 10
    Dernier message: 06/03/2007, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo