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

OpenOffice & LibreOffice Discussion :

RechercheV plusieurs résultats [LibreOffice][Tableur]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2012
    Messages : 145
    Par défaut RechercheV plusieurs résultats
    Bon ben je me suis réjouis un peu vite et je bataille depuis toute cet après midi.
    La fonction rechercheV fonctionne parfaitement entre classeur distant, seulement je me suis rendu compte que pour une même recherche je pouvais avoir 1 résultat ou plusieurs ! Je m'explique, je suis sur une table de département avec des villes et une population
    si je cherche le département 10 j'ai (dans ma base) 1 ville correspondante (Troyes) avec sa population
    si je cherche le département 91 j'ai 14 villes correspondantes avec leurs population
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(C25;'file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.A1:D313;2;0)
    la formule ci dessus me propose toujours la première ligne du critère recherché (le n° du département)
    => en fait je vais faire ma recherche sur le nom de la ville, tout en sachant que celle ci se trouve en colonne 3,
    la 1 étant le n° du département,
    la 2 le nom du département,
    la 4 la population
    => et que je dois repositionner le résultat dans cet ordre dans mon fichier destination
    Quelle modification je dois apporter à la formule ? Dans ce cas doit on toujours employer rechercheV
    merci de votre aide
    fransix

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2012
    Messages : 145
    Par défaut
    Slt, je m'oriente vers les fonctions Index et Equiv
    Dans ma feuille destination je détermine 2 champs de saisie selon mon besoin (C25 = n° Dpt & C26 = le nom de la ville recherchée)
    => mon fichier source se trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ('file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'
    => ma zone de recherche dans le fichier source est A1 à D34
    => les numéros de dpt sont en colonne A
    => les noms de villes sont en colonne C
    Je propose la formule suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX('file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.A1:D34;EQUIV(C25;'file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.A1:A34;0);EQUIV(C26;'file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'C1:C34;0))
    Sauf que j'ai une erreur 509 (Opérateur manquant)
    Est ce que je suis sur la bonne piste en utilisant ces fonctions, ou vaut il mieux persévérer avec RechercheV
    Ou est l'erreur dans ma formule (un oeil averti est le bienvenue)
    Allez atchao et merci de vos conseils

  3. #3
    Membre éclairé
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Par défaut
    Bonjour,

    L'exposé du problème n'est plus très clair.
    Est-ce que, si pour un même département, il y a plusieurs villes, celles-ci sont précédées du numéro du département à chaque fois ?

    INDEX et EQUIV te permettrons de renvoyer des contenus à gauche et à droite de la colonne de recherche mais EQUIV ne trouvera que la première ou dernière occurrence de ce que tu recherches. RECHERCHEV ne renvoie que ce qui se trouve droite de la colonne de recherche.

    Si le numéro de département est présent sur toutes les lignes on peut utiliser une formule matricielle pour récupérer toutes les occurrence d'un département dispersé sur plusieurs lignes.

    Est-ce que tu peux joindre un fichier exemple pour voir comment sont organisées les données. De préférence avec justement le cas où le même département affiche plusieurs villes. Merci

    A+

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2012
    Messages : 145
    Par défaut
    Slt,
    désolé pour cette explication confuse !

    Est-ce que, si pour un même département, il y a plusieurs villes, celles-ci sont précédées du numéro du département à chaque fois ?
    Oui, comme indiqué dans le fichier exemple joint

    Si le numéro de département est présent sur toutes les lignes on peut utiliser une formule matricielle pour récupérer toutes les occurrence d'un département dispersé sur plusieurs lignes.
    Je cherche a ramener vers un fichier distant les occurrences d'une ligne bien ciblée se trouvant dans toutes les occurrences d'un département dispersées sur plusieurs lignes (pas sur d'être clair )
    exemple : département 13 (11 lignes concernées) je cherche à ramener les données de la ville de Arles (située en 4 eme position)

    Merci de ton aide
    Fichiers attachés Fichiers attachés

  5. #5
    Membre éclairé
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Par défaut
    Bonjour,
    Je cherche a ramener vers un fichier distant les occurrences d'une ligne bien ciblée se trouvant dans toutes les occurrences d'un département dispersées sur plusieurs lignes (pas sur d'être clair )
    Oui c'est clair, ça l'était d'ailleurs depuis le début mais un petit récapitulatif s'impose...
    Si tu veux récupérer seulement les valeurs concernées par une ville, il faut effectuer la recherche dans la colonne ville et uniquement.
    Ce qui me désoriente c'est que tu cherches à effectuer d'abord une recherche en C25 sur le département puis C26 sur la ville.

    Cela sous entend-t-il que deux départements différents peuvent avoir une ville de même nom ?

    Réponse 1 Oui !
    Dans ce cas le problème est moins simple. Il faut d'abord rechercher la première et dernière ligne de la plage concernée par le département, puis effectuer dans cette plage là une recherche sur la ville.

    Réponse2 Non !
    Dans ce cas on recherche uniquement le nom de la ville dans la colonne ville et on récupère les valeurs à gauche et à droite de la même ligne avec le couple INDEX EQUIV

    Merci de préciser.

    A+

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2012
    Messages : 145
    Par défaut
    Slt, Z_662

    Réponse2 Non !
    Dans ce cas on recherche dans le fichier destination uniquement le nom de la ville dans la colonne ville et on récupère les valeurs à gauche et à droite de la même ligne avec le couple INDEX EQUIV
    Exactement ! je cherche a récupérer les données d'une ville (dont le champ et obligatoirement en colonne 3) et afficher dans mon fichier source à gauche le n° du Dpt (colonne 1), le nom du dpt (colonne 2) et à droite la population (colonne 4)

    J'avais pensé aux fonctions index/equiv, sauf que je dois avoir une erreur dans ma formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX('file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.A1:D34;EQUIV(C25;'file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.A1:A34;0);EQUIV(C26;'file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'C1:C34;0))
    C'est surement le changement d'heure qui m'embrouille dans mes explications

  7. #7
    Membre éclairé
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Par défaut
    EQUIV() recherche dans une plage colonne ou ligne et retourne selon le dernier paramètre soit la première occurrence soit la dernière. Consulter l'aide F1 apporte souvent plus de précisions de les tâtonnements.

    Donc on doit demander à EQUIV() de rechercher la ville en C26 dans la colonne C du classeur source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EQUIV($C$26;'file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.$C$1:$C$34;0)
    cette formule retourne le numéro de la ligne où se trouve la ville recherchée.

    INDEX() à présent retourne pour une plage de plusieurs colonnes et plusieurs lignes, le contenu du croisement d'une ligne et d'une colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INDEX(ma_plage;Ligne;colonne)
    Donc EQUIV() nous donne le numéro de ligne soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INDEX(ma_plage;EQUIV($C$26;'file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.$C$1:$C$34;0);le numéro de colonne à extraire sur la même ligne)
    soit au final
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INDEX('file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.$A$1:$D$34;EQUIV($C$26;'file:///C:/fas/donnees 2016.ods'#$'popu circo 2016'.$C$1:$C$34;0);COLONNE(A1))
    Formule à coller dans la colonne A et à étirer vers la droite.

    A+

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2012
    Messages : 145
    Par défaut
    Slt_Z_662, voilà qui à le mérite d'être plus que clair
    Pour ma gouverne et pour bien comprendre la formule je l'ai séquencé comme tu l'a indiqué.
    Tout cela répond parfaitement à mon besoin. A noter toutefois, pour nos amis du forum, qu'il est indispensable que les cellules soient formatées de façon identiques d'une feuille sur l'autre sinon erreur (format texte sur une feuille, en format numérique sur l'autre).
    Merci beaucoup pour cette excellente démonstration et pour l'existence de ce sympathique forum
    Ciao
    Fransix

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 16/07/2019, 12h07
  2. [XL-2010] RechercheV avec plusieurs résultats possibles
    Par BAST04GT dans le forum Conception
    Réponses: 3
    Dernier message: 28/07/2016, 20h52
  3. Recherchev avec plusieurs résultats possibles.
    Par solorac dans le forum Excel
    Réponses: 23
    Dernier message: 12/08/2014, 15h17
  4. Réponses: 6
    Dernier message: 06/07/2014, 22h15
  5. Une fonction peut-elle retourner plusieurs résultats ?
    Par aragorns dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/03/2005, 22h18

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