trouver les chiffres egal ou supperieur la plus proche

poussy67

XLDnaute Occasionnel
Bonjour le Forum
Mes meilleurs vœux pour la nouvelle année

Cela fait plusieurs jours que je cherche une solution c'est pour cela que je fais appelle au expert.
J'ai 3 colonnes (A,B,C) qui contienne des valeurs et la colonne D contient une adresse.
Quand je saisi une valeur rechercher dans la cellule F2, la quantité de l'adresse qui s'affiche et inferieur, égal et supérieur et que une proposition. Ma demande est-il possible d'avoir un résultat de la recherche égal et
supérieur la plus proche et plusieurs proposition.

En vous remerciant d'avance.

Cdt
Ci joint un exemple.
 

Fichiers joints

poussy67

XLDnaute Occasionnel
Bonjour JHA

Et merci pour tes formules, Mais le résultat n'est pas celui attendu.
suite à une valeur demander, qu'il me propose les adresses qui ont
le même chiffre ou 1 ou 2 chiffres supérieur que celui demandé.

Cdt
 

Fichiers joints

R@chid

XLDnaute Barbatruc
Bonjour @ tous,
Salut JHA,
oublie les colonnes B et C et explique nous les résultats escomptés pour la colonne A, j'ai essayé de comprendre mais après avoir vu les résultats souhaités je suis pas arrivé à comprendre, pour le premier résultat c’était le premier équivalent de 12 mais le deuxième c'est l'équivalent de 72 alors que le 12 se trouve en plusieurs fois dans la même colonne comme il y a des autres valeurs plus proches que 72 comme 9, 6, 3, 18, ...

@ te relire
 

poussy67

XLDnaute Occasionnel
Bonjour R@chid

Dans colonne A j'ai des quantités dans la colonne D j'ai des adresses quand je saisi une valeur dans D2.
Ma demande est si c'est possible d'avoir 3 résultat: égal ou le plus proche en supérieur et non en inferieur.
Car si j'ai 24 objets à rangé il me faut minimum une place pour les 24 objets sinon il me faut une place supérieur
a 24 objets. dans mon exemple ci joint il devrait me proposer une place de 36.

Ci-joint un exemple
 

Fichiers joints

poussy67

XLDnaute Occasionnel
Bonjour R@chid

Car la quantité rechercher est 24 minimum et si il y a plus de 24 disponible
c'est la quantité la plus proche au dessus de 24 qui est le 36.

Cdt
 

job75

XLDnaute Barbatruc
Bonjour poussy67, JHA, R@chid,

Bah R@chid, notre ami avait oublié de mettre 24 en D2 :rolleyes:

Formule matricielle en B6 :
Code:
=INDEX(B$12:B$135;EQUIV(MIN(SI((A$12:A$135>=D$2)*NON(NB.SI(B$5:B5;B$12:B$135));A$12:A$135+LIGNE(A$12:A$135)/10000000));A$12:A$135+LIGNE(A$12:A$135)/10000000;0))
à valider par Ctrl+Maj+Entrée et à tirer sur B7:B8.

Fichier joint.

A+
 

Fichiers joints

job75

XLDnaute Barbatruc
Re,

Avec le fichier du post #1 il suffit d'adapter la formule précédente, en H2 :
Code:
=INDEX($D$3:$D$126;EQUIV(MIN(SI((A$3:A$126>=$F$2)*NON(NB.SI(H$1:H1;$D$3:$D$126));A$3:A$126+LIGNE(A$3:A$126)/10000000));A$3:A$126+LIGNE(A$3:A$126)/10000000;0))
Toujours à valider matriciellement et à tirer à droite et vers le bas.

Fichier (5).

A+
 

Fichiers joints

poussy67

XLDnaute Occasionnel
Bonjour Job75

Oui je confirme que dans la pièce jointe de me suis trompé, j'avais saisi 12 au lieu de 24

Cdt
 

poussy67

XLDnaute Occasionnel
re bonjour Job75

Merci a vous deux pour votre aide, je vais essayer de comprendre cette formule et je vais essayer de l'adapter

en vous remerciant beaucoup
 

job75

XLDnaute Barbatruc
Bonjour poussy67, le forum,

Avec PETITE.VALEUR c'est plus simple et le calcul est plus rapide :
Code:
=INDEX($D$3:$D$126;EQUIV(PETITE.VALEUR(SI(A$3:A$126>=$F$2;A$3:A$126+LIGNE(A$3:A$126)/10000000);LIGNES(H$2:H2));A$3:A$126+LIGNE(A$3:A$126)/10000000;0))
Fichier(6).

Edit : à partir d'Excel 2007 le tableau peut être organisé en tableau Excel, la formule est dynamique.

Et on peut ajouter SIERREUR pour ne pas afficher les valeurs d'erreur :
Code:
=SIERREUR(INDEX(Tableau1[D];EQUIV(PETITE.VALEUR(SI(INDEX(Tableau1;;COLONNES($H2:H2))>=$F$2;INDEX(Tableau1;;COLONNES($H2:H2))+LIGNE(Tableau1)/10000000);LIGNES(H$2:H2));INDEX(Tableau1;;COLONNES($H2:H2))+LIGNE(Tableau1)/10000000;0));"")
Fichier (6 bis).

Bonne journée.
 

Fichiers joints

Dernière édition:

poussy67

XLDnaute Occasionnel
Re Job75

J'aurai une question, comment tu as fait pour renommer la plage Tableau1[D]?
Car je sais renommer des plages basic. Mais ce type de requête je ne connais pas.
Cdt
 

job75

XLDnaute Barbatruc
Bonjour poussy67, le forum,
J'aurai une question, comment tu as fait pour renommer la plage Tableau1[D]?
Il s'agit d'un tableau Excel, comme je l'ai dit on ne peut l'obtenir qu'à partir d'Excel 2007.

Pour le créer sélectionner A2 puis onglet INSERTION du ruban => Tableau.

Tableau1 est le nom donné par Excel.

Tableau1[D] est la syntaxe classique qui définit la colonne du tableau dont l'en-tête est D.

Edit : on pourrait aussi définir la colonne par son numéro d'ordre (4) :

=SIERREUR(INDEX(Tableau1;EQUIV(...);4);"")

Bonne journée.
 
Dernière édition:

poussy67

XLDnaute Occasionnel
Merci pour ton retour

Je suis sur Excel 2016 il y a une fonction dans le ruban Donnée > Récupérer et transformer et la je vois qu'on créer de requête
je vais essayer de comprendre

Merci encore
 

job75

XLDnaute Barbatruc
Re,

Je n'ai pas Excel 2016 mais j'ai vu sur le web qu'il y a un onglet "Insérer" ou "Insert"...

A+
 

poussy67

XLDnaute Occasionnel
Bonsoir Job75

J'aurai une question sur le tableau ex: Tableau1. Dans une requête tableau il supprime les formules et il convertie
en valeur c'est normal?

cdt poussy67
 

job75

XLDnaute Barbatruc
Bonsoir poussy67,

Pourquoi Excel 2016 ferait-il des choses "anormales" ? Toutes les versions Excel font des choses "normales" !!!

A+
 

Discussions similaires


Haut Bas