[Résolu] Erreur de retour RECHERCHEV

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.
amisbievre
Fraîchement OOthentifié
Messages : 1
Inscription : 16 août 2018 23:42

[Résolu] Erreur de retour RECHERCHEV

Message par amisbievre »

Bonjour,

J'utilise une fonction RECHERCHEV assez compliquée pour savoir en combien de mois je peux avoir un apport et le montant à économiser chaque mois. C'est assez simple je part du principe que j'ai deux listes A et B et une valeur val1.

En gros val1 est la valeur la plus proche dans B de ce qu'il me reste sur mon compte après le loyer et les charges fixes et frais annexes. Et je veux le nombre de mois de A qui correspond à val1 dans B.
la fonction ressemble à ça:

Code : Tout sélectionner

{=RECHERCHEV(INDEX($Calcul_Emprunt_Consolidé.D7:$Calcul_Emprunt_Consolidé.D10;EQUIV(MIN(ABS(H3-($Calcul_Emprunt_Consolidé.D7:$Calcul_Emprunt_Consolidé.D10)));ABS(H3-$Calcul_Emprunt_Consolidé.D7:$Calcul_Emprunt_Consolidé.D10);0));$Calcul_Emprunt_Consolidé.$C7:$Calcul_Emprunt_Consolidé.$D10;1;1)}
Si vous la voulez en plus simple c'est ça:

Code : Tout sélectionner

=RECHERCHEV(H5;$Calcul_Emprunt_Consolidé.D7:$Calcul_Emprunt_Consolidé.D10;1;1)
où H5 correspond au résultat de la fonction INDEX (qui fonctionne super).

Le problème est que la liste est bien triée (donc le 1 a la fin est bon) mais quelque soit la valeur de val1, recherchev me renvoie toujours toujours la dernière valeur de la liste.... et je ne comprends pas pourquoi! Avec la formule matricielle complète ou la version simple qui prend le résultat de INDEX (qui lui est juste).

EDIT 1: Je mets une version "blanchie" du document sur un seule feuille (l'erreur est la même) pour visualiser un peu mieux le bazar. Les chiffres importants sont surlignés en jaune.
EDIT 2: si on fait le teste de mettre dans le désordre les listes A et B et qu'on passe la valeur finale de RECHERCHEV à 0 il y a une erreur "#N/D"...


Pouvez-vous m'aider?

D'avance merci :-)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libreoffice 5.4, Ubuntu 18.04
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Erreur de retour RECHERCHE V

Message par OOotremer971 »

Bonjour,
Tu devrais relire l'aide sur la syntaxe de la fonction RECHERCHEV() car manifestement tu l'as mal comprise.

RECHERCHEV() recherche verticalement dans la première colonne (et uniquement elle) d'une matrice et retourne le contenu des colonnes adjacentes à droite (et uniquement à droite) de la colonne de recherche. Or le critère que tu recherches se trouve dans la deuxième colonne de ta matrice et la valeur que tu souhaites afficher se trouve à gauche du critère.

Pour trouver la position du critère (2058,33) il faut utiliser la fonction EQUIV() ; elle retourne une valeur numérique correspond à la position relative du critère dans la colonne. Il ne reste plus qu'à donner en argument cette valeur à la fonction INDEX() pour connaître la valeur situé à gauche du critère sur la même ligne :

Code : Tout sélectionner

=INDEX($A$1:$A$4;EQUIV(L5;$B$1:$B$4;0))
@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11