Discussion: Valeur maximum d'une plage répondant à une condition [LibreOffice][Tableur]

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2017
    Messages : 4
    Points : 3
    Points
    3

    Par défaut Valeur maximum d'une plage répondant à une condition

    Bonjour,

    J'ai une requête toute simple, mais que je n'arrive pas à faire fonctionner. Je me suis inspiré de la doc mais malgré tout ça ne marche pas. Je suis complètement novice en tableur.
    Je souhaite trouver le maximum d'une plage de valeur qui réponde à une condition.
    Colonne A : test de la condition,
    Colonne B liste des Valeurs.
    Condition = Voiture.
    Voici mes essais de formule pour le moment
    Je pense qu'il faut utiliser une combinaison de max et if, ce qui donnerait quelque chose comme ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =MAX(IF($Sheet2$A1:$Sheet2$A184="Voiture"; $Sheet2$B1:$Sheet2$B184;0))
    =MAX(IF(Sheet2.A1:A184="Voiture";Sheet2.B1:B184;0))
    Mais j'ai soit un #NAME? soit UN FALSE, dans la cellule résultat.

    Peut-être que quelqu'un a la solution.
    Merci d'avance.

  2. #2
    Membre éclairé

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    mars 2002
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2002
    Messages : 419
    Points : 819
    Points
    819
    Billets dans le blog
    1

    Par défaut

    Bonjour,
    Je suis peut-être un peu limité mais je ne comprend pas grand chose !
    Pourrais-tu joindre un petit bout de tableur avec un exemple de résultat que tu cherche !

  3. #3
    Membre actif
    Homme Profil pro
    utilisateur
    Inscrit en
    janvier 2017
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2017
    Messages : 126
    Points : 214
    Points
    214

    Par défaut max.si()

    bonjour tere-org,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX.SI(B1:B184;A1:A184;"voiture")
    Voiture doit être en colonne A
    Valeur max doit être en colonne B
    Pour que la formule ci dessus fonctionne

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2017
    Messages : 4
    Points : 3
    Points
    3

    Par défaut

    Bonjour,

    merci à tous les deux. Désolé du délai de réponse.

    Michel voici un exemple :
    il y a plusieurs items dans la colonne A, et pour chacun de ces items, je veux récupérer la valeur max associée dans la colonne B.
    Dans mon exemple pour Voiture, je voudrais récupérer la valeur 52.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Voiture	12
    Voiture	18
    Voiture	52
    Train	115
    njhub, j'ai testé ce bout de code, en l'adaptant à mon cas (plage de cellules, version anglaise,...). Il ne fonctionne pas chez moi. j'ai un #NAME? qui s'affiche comme précédemment.

    Je continue à chercher.

    Bonne journée.

  5. #5
    Membre actif
    Homme Profil pro
    utilisateur
    Inscrit en
    janvier 2017
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2017
    Messages : 126
    Points : 214
    Points
    214

    Par défaut max.si()

    bonjour tere-org,

    désolé, je viens de faire des recherches sur la fonction max.si() qui fonctionne chez moi, elle n'existe pas dans la documentation ni de LibreOffice ni de OpenOffice.
    J'en conclue que c'est une fonction personnelle, créée par macro. J'ai donc cherché à décortiquer la macro, ça m'est impossible, c'est en lecture seule.

    Ma dernière solution serait de vous envoyer le fichier fonctionnel, mais la syntaxe doit être en français, je ne sais pas si ça fonctionnera chez vous.

    voyez également la page :
    https://ask.libreoffice.org/en/quest...ction-in-calc/

  6. #6
    Membre éclairé

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    mars 2002
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2002
    Messages : 419
    Points : 819
    Points
    819
    Billets dans le blog
    1

    Par défaut

    la fonction max.si() qui fonctionne chez moi, elle n'existe pas dans la documentation ni de LibreOffice ni de OpenOffice.
    C'est une fonction de libreOffice
    Nom : Capture du 2017-07-07 20-22-11.png
Affichages : 49
Taille : 64,6 Ko
    Sauf erreur, la version anglaise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAXIFS(B1:B184;A1:A184;"voiture")

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Maitre d'Oeuvre
    Inscrit en
    juin 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Maitre d'Oeuvre
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : juin 2016
    Messages : 19
    Points : 30
    Points
    30

    Par défaut

    Bjour,

    Pour la version française : la fonction Max.si()
    Pour la version anglaise : la fonction Maxifs()

    Elles sont installées par défaut . . .

  8. #8
    Membre actif
    Homme Profil pro
    utilisateur
    Inscrit en
    janvier 2017
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2017
    Messages : 126
    Points : 214
    Points
    214

    Par défaut max et maxa

    Bonjour,

    j'arrive bien jusqu'à l'assistant fonction, mais après, en cliquant sur aide on se retrouve avec la description de max et maxa pas de max.si,
    sur les wiki dédiés non plus je ne trouve rien...

    Citation Envoyé par Michel Voir le message
    C'est une fonction de libreOffice
    Nom : Capture du 2017-07-07 20-22-11.png
Affichages : 49
Taille : 64,6 Ko
    Sauf erreur, la version anglaise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAXIFS(B1:B184;A1:A184;"voiture")

  9. #9
    Membre éclairé

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    mars 2002
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2002
    Messages : 419
    Points : 819
    Points
    819
    Billets dans le blog
    1

    Par défaut

    effectivement, je n'ai rien trouvé non-plus !
    Cependant la plupart de ces fonctions sont les mêmes que sous excel donc en cas de difficulté, on peut toujours se rabattre sur la doc ce ce produit propriétaire ()
    Si on utilise l'assistant pour trouver la fonction, Dans la partie statistique, on a MAX et MAX.SI avec quelques explications
    Nom : max_si.png
Affichages : 38
Taille : 23,7 Ko

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2017
    Messages : 4
    Points : 3
    Points
    3

    Par défaut

    Merci beaucoup !

    Voilà quelques nouvelles pistes à creuser . Je ne connaissais pas l'aide pour les fonctions, ça me semble très bien ça.

    Il semble par contre que je n'ai pas fonction MAXIFS (J'ai que MAX et MAXA) et après recherche il semble que maxifs, soit la contraction de "MAX+IF' que je cherchais à utiliser au tout début.

    En modifiant légèrement mon code par rapport à mes premiers exemples (merci l'interface d'aide), je n'ai plus d'erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX(IF(A1:A4="Voiture";B1:B4))
    mais le résultat est 115 sur mon petit exemple, comme si ma condition n'était pas prise en compte. Bizarre.

  11. #11
    Membre éclairé

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    mars 2002
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2002
    Messages : 419
    Points : 819
    Points
    819
    Billets dans le blog
    1

    Par défaut

    Après avoir remis LibreOffice en anglais pour vérifier j'ai bien trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAXIFS(B1:B184;A1:A184;"voiture")
    Nom : maxIFS.png
Affichages : 36
Taille : 55,7 Ko

  12. #12
    Membre actif
    Homme Profil pro
    utilisateur
    Inscrit en
    janvier 2017
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2017
    Messages : 126
    Points : 214
    Points
    214

    Par défaut GRANDE.VALEUR INDIRECT EQUIV

    Bonjour,

    essayez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =GRANDE.VALEUR(INDIRECT("B"&EQUIV("Voiture";A1:A184));1)
    GRANDE.VALEUR je crois qu'en anglais elle s'appelle BIG

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2017
    Messages : 4
    Points : 3
    Points
    3

    Par défaut

    J'ai testé la solution avec GRANDE.VALEUR dont la traduction anglaise donne en réalité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LARGE(INDIRECT("B"&MATCH("Voiture";A1:A4));1)
    et ça marche MAIS à condition que les valeurs soient ordonnées du plus petit au plus grand. Donc pour l'exemple ci-dessus c'est ok, mais si on inverse les lignes 2 et 3, le résultat sera 52 et non 56. Car ça recherche le nombre de match : 3 et ensuite regarde la valeur dans la case issue de la concaténation de B et de 3.
    et mes valeurs ne sont pas toujours bien ordonnées.

    J'ai fini par trouvé la fonction MAXIFS.
    Elle n'était effectivement pas présente dans ma liste de fonctions, alors j'ai fait un update et miracle, j'ai récupéré la fonction au passage.
    Du coup je confirme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAXIFS(B1:B12;A1:A12;"voiture")
    fonctionne !

    Un grand merci à tous les deux !
    Je passe le sujet en résolu.

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

Discussions similaires

  1. [XL-2007] Copier une plage d'une feuille vers une autre en gardant le format
    Par FrancisZheng dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/12/2015, 11h19
  2. [XL-2010] Trier une plage avec une plage de cellules comme critères
    Par Stanler dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/12/2015, 17h25
  3. [XL-2010] alimenter une Combobox sur une feuille avec une plage nommée
    Par GADENSEB dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/08/2015, 16h21
  4. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 18h37
  5. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 14h35

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