Recherche d'une valeur "proche" dans un TCD

boom.hs

XLDnaute Nouveau
Bonjour,

Je travaille sur un tableau croisé dynamique, à partir duquel je voudrais extraire une valeur en fonction d'un argument spécifique.

Mon tableau contient des données relatives à des produits : famille de produit et surfaces associées.
Il a été généré à partir d'une base de données suceptible d'évoluer (le tableau pourra donc lui même évoluer).

Je souhaiterai, en spécifiant une famille, pourvoir obtenir la surface présente dans la base de données la plus proche de la surface que j'envoie en argument.

Par exmeple, si j'envoie quelque chose comme "famille = table" et "surface = 500", et que les données de mon tableau contienne :

TABLE 1 / Famille Table / Surface 650
TABLE 2 / Famille Table / Surface 300

Je souhaiterai récupérer la valeur "650" qui est la plus proche de celle que j'ai envoyée.

Le tout sans passer par une macro si possible (ce n'est pas moi qui ait fixé cette contrainte, je peux peut etre essayer de la négocier...)

Merci beaucoup pour votre aide

N'hésitez pas à me demander des précisions si nécessaire ;)
 

boom.hs

XLDnaute Nouveau
Re : Recherche d'une valeur "proche" dans un TCD

Voici mon fichier.

Mon objectif est de récupérer la surface la plus proche de celle fournie en entrée ainsi que la quantité la plus proche correspondant à cette surface, sachant que la base de données (feuille "PARTS") sera amenée à contenir un plus grand nombre de pièces.

Tout cela pour pouvoir déterminer un "Max de cavités" correspondant par similitude au final.

Merci pour votre aide !
 

Pièces jointes

  • PIECES.xls
    77.5 KB · Affichages: 34
  • PIECES.xls
    77.5 KB · Affichages: 28
  • PIECES.xls
    77.5 KB · Affichages: 29

Spinzi

XLDnaute Impliqué
Re : Recherche d'une valeur "proche" dans un TCD

Bonjour,
j'ai trouvé ce fil qui parle de ton problème
Code:
Re...

Formule en feuille de calcul.

Pour une valeur toujours inférieure
=PETITE.VALEUR(B1:B19;NB.SI(B1:B19;"<"&B25))
Pour une valeur toujours supérieure
=PETITE.VALEUR(B1:B19;NB.SI(B1:B19;"<="&B25)+1)

Pour une valeur inférieure ou égale
=PETITE.VALEUR(B1:B19;NB.SI(B1:B19;"<="&B25))

Pour une valeur supérieure ou égale
=PETITE.VALEUR(B1:B19;NB.SI(B1:B19;"<="&B25)+1+(NB .SI(B1:B19;"="&B25)*1))
ou
=GRANDE.VALEUR(B1:B19;NB.SI(B1:B19;">="&B25))

Pour une valeur la plus proche inférieure ou supérieure
=B25+SI(ABS(PETITE.VALEUR(B1:B19;NB.SI(B1:B19;"<=" &B25))-B25)>PETITE.VALEUR(B1:B19;NB.SI(B1:B19;"<"&B25)+1)-B25;PETITE.VALEUR(B1:B19;NB.SI(B1:B19;"<"&B25)+1)-B25;PETITE.VALEUR(B1:B19;NB.SI(B1:B19;"<="&B25))-B25)

D'autres variantes sont possibles avec les mêmes fonctions. 

@+Jean-Marie

https://www.excel-downloads.com/threads/trouver-une-valeur-proche-dans-une-colonne.30059/
 

boom.hs

XLDnaute Nouveau
Re : Recherche d'une valeur "proche" dans un TCD

Merci Spinzi, je vais essayer ça.

Est-il possible de donner de créer des champs dans mon tableau croisé dynamique ?

Etant donné que sa forme pourra changer avec l'évolution de la base de données, et que je souhaiterai par exemple accéder aux quantités correspondant seulement à une surface donnée ?

Peut être avec LIREDONNEESTABCROISDYNAMIQUE ?
 

Discussions similaires

Réponses
2
Affichages
546

Statistiques des forums

Discussions
312 677
Messages
2 090 833
Membres
104 677
dernier inscrit
soufiane12