XL 2019 Recherche V

  • Initiateur de la discussion Initiateur de la discussion Defre_77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Defre_77

XLDnaute Nouveau
Bonsoir à tous,

J'ai un petit soucis avec ma RechercheV (soumise à condition dans la colonne C24) pour le loyer. Mon Tableau possède 3 colonnes.
Dans la 1ère, normalement, ce sont des valeurs qui normalement vont de 0 à 1833 ; puis de 1833,01 à 2199,59 ; puis de 2199,60 à 2566,19 etc...

Le problème est que je n'arrive pas à trouver la bonne valeur.
Dans mon exemple, le salaire de Référence est de 1834€, mais la valeur affichée est 40,40 (au lieu de 56,50).

Quelqu'un peu me dire comment résoudre ce problème ?
D'avance merci pour votre aide
 

Pièces jointes

Bonjoir,

si tu as la fonction RechercheX dans ton excel, c'est celle qu'il te faut
1693262248550.png


si tu n'as pas la fonction alors le faire comme cela, les formules parlent d'elles même :
1693263556034.png


VB:
=MIN(SI(G2<=Tab_Loyers[Salaire Mensuel Brut];Tab_Loyers[Salaire Mensuel Brut]))
=RECHERCHEV(MIN(SI(G2<=Tab_Loyers[Salaire Mensuel Brut];Tab_Loyers[Salaire Mensuel Brut]));Tab_Loyers;3)
 
Dernière édition:
Bonjour à tous

@RyuAutodidacte

=MIN(SI(G2<=Tab_Loyers[Salaire Mensuel Brut];Tab_Loyers[Salaire Mensuel Brut])) =RECHERCHEV(MIN(SI(G2<=Tab_Loyers[Salaire Mensuel Brut];Tab_Loyers[Salaire Mensuel Brut]));Tab_Loyers;3)

Le demandeur ayant Excel 2019 je crois qu'il doit les valider
1693265934379.png


Pour que tes formules fonctionnent chez moi sur excel 2010 il faut :

Appuyer sur les touches: Ctrl+Maj+entrée pour valider car c'est des formules matricielle

1693266337813.png


Sinon tu auras
1693266292217.png


😉
 
Bonjour à tous,
@RyuAutodidacte
Les formules proposées sont erronées pour les salaires supérieurs à 5499
@Defre_77
Tes formules sont correctes si tu modifies ton tableau loyer en mettant les bornes "à partir de" au lieu de "jusqu"à" et en supprimant une ligne comme dans fichier joint. Si j'ai bien compris.
Cordialement
 

Pièces jointes

Bonjour à tous

@Phil69970
Merci de le préciser étant sur Office 365 Mac, je n'ai pas besoin de le faire, c'est pris en compte automatiquement.
D'ailleurs je me demande si ce n'est plus nécessaire pour toute les formules matricielles de faire Ctrl+Maj+entrée sur Office 365 ?

@Defre_77
La formule complète :
VB:
=RECHERCHEV(MIN(SI($G$2<=Tab_Loyers[Salaire Mensuel Brut];Tab_Loyers[Salaire Mensuel Brut]));Tab_Loyers;SI($C$23=1;2;SI($C$23>1;3;"")))

Edit : @Defre_77 je viens d'éditer mon message et je viens juste de voir le tiens après
 
@Defre_77 la formule complète va être un peu plus longue (prend en compte C23 =1 ou C23 >1) :
VB:
=RECHERCHEV(MAX(MIN(SI(Tab_Loyers[Salaire Mensuel Brut]>=$G$2;Tab_Loyers[Salaire Mensuel Brut]));MAX(SI(Tab_Loyers[Salaire Mensuel Brut]<=$G$2;Tab_Loyers[Salaire Mensuel Brut])));Tab_Loyers;SI(C23=1;2;SI(C23>1;3;"")))
Là ca devrait aller
 
@Defre_77
Je viens de penser à une solution plus simple et abordable en utilisation avec INDEX et EQUIV (remplace RECHERCHEV)

Il faut mettre le Tableau dans l'ordre décroissant sur la colonne Salaire Mensuel Brut :

1693308730072.png


Dans la Cellule C24 mettre la formule :
VB:
=SIERREUR(INDEX(Tab_Loyers[[1 pièce principale]:[> 1 pièce principale]]; EQUIV(SI($G$2>5499;5499;$G$2); Tab_Loyers[Salaire Mensuel Brut];-1); SI($C$23=1;1;SI($C$23>1;2;"")));"")

On INDEX sur les colonnes à rechercher :
=INDEX(Tab_Loyers[[1 pièce principale]:[> 1 pièce principale]];LIGNE;COLONNE)

Pour trouver la LIGNE correspondante on utilise EQUIV sur la colonne de Recherche (Salaire Mensuel Brut):
=EQUIV(SI($G$2>5499;5499;$G$2); Tab_Loyers[Salaire Mensuel Brut];-1)
  • pour éviter une erreur sur le chiffre à rechercher dans EQUIV, utilisation d'une condition :
    =SI($G$2>5499;5499;$G$2) dans le cas où on dépasse la valeur la plus haute => 5499
    sinon on renvoie $G$2
  • -1 pour rechercher la valeur égale ou au-dessus

Pour trouver la COLONNE une simple condition SI (rappel :dans INDEX sélection des 2 colonnes indexées : Tab_Loyers[[1 pièce principale]:[> 1 pièce principale]], donc on aura 1 ou 2 sur le choix de colonne)
=SI($C$23=1;1;SI($C$23>1;2;""))

Si dans la Cellule C23 on a rien au autre qui produit une erreur, on en englobe le tout avec la formule SIERREUR(valeur;valeur_si_erreur)
=SIERREUR(MaFormule_INDEX_EQUIV ; Renvoie vide "" si erreur)
 
Le tableau tel qu'il est d'origine veut dire ceci (voir colonne jaune) :
Tableau.png


Donc, comme déjà dit en #2, on voit bien que ce tableau est faux : si les résultats doivent être identiques de 0 à 1832,99 et de 1833 à 2199,58 alors pourquoi créer deux lignes dans le tableau ?

La question est donc de savoir quel résultat est attendu pour un SMB compris entre 0 et 1832,99 pour ensuite corriger le tableau.
 
Dernière édition:
Bonjour à tous,
@TooFatBoy
Entièrement d'accord, c'est pour ça que dans le fichier du post #6, j'ai proposé ce tableau, qui ne change pas les formules initiales

Regarde la pièce jointe 1177418
Cordialement
Re @Defre_77
Oui avec ceci la formule change (Tjs avec INDEX EQUIV) :
1693320828136.png

VB:
=SIERREUR(INDEX(Tab_Loyers[[1 pièce principale]:[> 1 pièce principale]]; EQUIV($G$2; Tab_Loyers[Salaire Mensuel Brut];1); SI($C$23=1;1;SI($C$23>1;2;"")));"")
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
250
Réponses
7
Affichages
722
Retour