[Résolu] INDEX : valeurs vides et 0

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

[Résolu] INDEX : valeurs vides et 0

Message par migrec »

Bonjour,

Je cherche à obtenir des valeurs situées à gauche de ma zone de recherche. Je ne peux pas utiliser RECHERCHE car ma zone de recherche n'est pas triée et ne le sera pas.
Avec INDEX et EQUIV, pas de problème mais une valeur vide retourne "0".
Impossible d'utiliser le formatage conditionnel car il est possible dans mon tableau d''avoir une valeur 0.

Est-ce possible ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par migrec le 21 févr. 2019 09:40, modifié 1 fois.
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: INDEX : valeurs vides et 0

Message par Jean-Louis Cadeillan »

Bonjour,
Fais un mélange. Si je mets cette méthode 3 en ligne 16 (voir ci-joint), en B13 tu mets :

Code : Tout sélectionner

=INDEX($B$1:$G$6;EQUIV($B$11;$G$1:$G$6;0);COLONNE()-1)
en C13 tu mets :

Code : Tout sélectionner

=RECHERCHEV($B16;$B$2:$G$6;COLONNE()-1)
formule que tu recopies ensuite vers la droite.
 Ajout : Comparatif de différentes méthodes dans le fichier...02.ods 
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

Re: INDEX : valeurs vides et 0

Message par migrec »

Merci pour l'ensemble de ces solutions.
Ça confirme que INDEX et EQUIV renvoie un 0 lorsque la cellule ciblée ne contient rien. Avec un test SI(cible_INDEX_EQUIV="";"Vide";"Plein"), on obtient Vide pourtant....

Je ne peux pas me baser sur la recherche sur le prénom car évidemment ma liste en contiendra des dizaines donc avec le même prénom qui se répétera.
Je vais devoir recopier l'ID en colonne A et me baser dessus, ça sera plus simple et ma recherche sera plus facile à comprendre.
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: [Résolu] INDEX : valeurs vides et 0

Message par Jean-Louis Cadeillan »

migrec a écrit :Je vais devoir recopier l'ID en colonne A et me baser dessus
Si tu veux (c'est la méthode 4), mais la méthode 6 s'appuie sur l'ID, ne demande pas d'avoir l'ID en première colonne, s'applique pour toutes les colonnes et distingue 0 et vide :

Code : Tout sélectionner

=INDIRECT(ADRESSE(MIN(SI($G$2:$G$6=$B$11;LIGNE($B$2:$B$6)));COLONNE()))
Attention, formule matricielle.
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

Re: [Résolu] INDEX : valeurs vides et 0

Message par migrec »

Oui, je vais aussi regarder de ce coté mais je ne suis pas à l'aise avec les formules matricielles.
Merci en tout cas, ça ne peut que me faire progresser avec leur usage.
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: [Résolu] INDEX : valeurs vides et 0

Message par Jean-Louis Cadeillan »

Petite traduction de :

Code : Tout sélectionner

=INDIRECT(ADRESSE(MIN(SI($G$2:$G$6=$B$11;LIGNE($B$2:$B$6)));COLONNE()))
  • Si dans ma colonne ID ($G$2:$G$6), je trouve le bon ID ($B$11), alors je récupère le n° de ligne correspondant (LIGNE($B$2:$B$6))
  • Sinon, c'est FAUX (sous-entendu)
  • Puis je prends le minimum de cette colonne, qui contient un n° de ligne quelque part et des FAUX dans les autres cellules, ce minimum est justement... le n° de ligne cherché ! (MIN() en matriciel ignore FAUX comme valeur 0)
  • Comme il n'y a qu'une seul valeur différente de FAUX dans cette colonne virtuelle de cellules, j'aurais tout aussi bien pu choisir MAX() à la place de MIN() !
  • Je construis ma référence de cellule avec ce n° de ligne et la bonne colonne (COLONNE()) avec ADRESSE() puis INDIRECT().
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

Re: [Résolu] INDEX : valeurs vides et 0

Message par migrec »

Merci pour les explications !

Je ne m'explique toujours pas ce 0 avec INDEX et EQUIV. En retravaillant sur mon fichier source, avec la formule quasi-identique dans 2 colonnes différentes, j'ai un résultat vide (ce que je veux) et un résultat avec un 0.... Je tacherai d'anonymiser mon fichier avec le problème reproduit.
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10