Remplir une colonne selon les intervalles d'un autre tableau

Résolu/Fermé
jardincouv Messages postés 3 Date d'inscription mercredi 21 janvier 2015 Statut Membre Dernière intervention 22 janvier 2015 - 21 janv. 2015 à 17:32
jardincouv Messages postés 3 Date d'inscription mercredi 21 janvier 2015 Statut Membre Dernière intervention 22 janvier 2015 - 22 janv. 2015 à 10:14
Bonjour,

Je sollicite votre aide SVP, car je suis méga perdu. Voici mon souci, je pense qu'on peut le régler avec la fonction SI, mais après plusieurs essais, je jette l'éponge.

Dans le tableau ci-dessous, j'aimerais qu'Excel renseigne la colonne A avec la donnée présente en D, en fonction du poids de la colonne B, selon la tranche de la colonne C dans laquelle il se situe.

Exemple : la case A1 affiche -165 (donnée issue de la colonne D), car la case B1 affiche 312, qui se situe entre 300 et 330 (colonne C, 11e ligne).

J'ai donc besoin de dire à Excel : va voir dans le tableau à droite où se trouve la donnée de la colonne B, et remplis la colonne A.

Les données sur l'image ont été rentrées à la main, mais j'ai plusieurs milliers de lignes et ça me semble impossible de continuer comme ça. Est-ce possible ? Merci d'avance !!!!

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 21/01/2015 à 18:17
Bonsoir
en premier lieu il faut refaire votre tableau C pour que les valeurs soient numériques, donc sans texte ni>
et remplacer le moins de 70 par 0
sous réserve que votre colonne C de droite soit classée par ordre croissant:

en A de gauche:
=RECHERCHEV(B1;C:D;2)
devrait faire l'affaire
(à tirer sur la hauteur)


Toutefois, cette formule renvoi toujours la valeur inférieure de D. Si vous voulez la valeur la, plus proche, c'est un peu plus compliqué .
=SI(A1-INDEX(C:C;EQUIV(A1;C:C))<=INDEX(C:C;EQUIV(A1;C:C)+1)-A1;INDEX(D:D;EQUIV(A1:C:C));INDEX(D:D;EQUIV(A1;C:C)+1))

si vous voulez que la valeur de A centrée soit reportée sur la maxi, enlever le signe égal de <=

crdlmnt


Errare humanum est, perseverare diabolicum
0
jardincouv Messages postés 3 Date d'inscription mercredi 21 janvier 2015 Statut Membre Dernière intervention 22 janvier 2015
22 janv. 2015 à 09:34
Bonjour, quelle rapidité !!!!!!

Je viens de tester la première fonction RECHERCHEV et ça fonctionne du tonnerre !!!

Bravo et mille mercis à vous ! Par contre, est-ce que vous pourriez m'expliquer ?

En gros on dit à Excel va chercher la valeur "RECHERCHEV" ? A quoi sert le 2 à la fin de la formule ?

Merci beaucoup !!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 22/01/2015 à 09:55
Bonjour
fonction recherche:

=RECHERCHEV(Valeur cherchée;plage de recherche;Rang dans la plage de la colonne à ressortir;code excel)

Valeur cherché: adresse de la cellule contenant la valeur cherchée ou valeur ou texte entre guillemets
champ de recherche: plage ou se trouve la valeur à ressortir, le code recherchant la "valeur cherchée" dans la 1° colonne de cette plage
Rang dans la plage de la colonne où se trouve la valeur à ressortir
Code EXCEL:

formule se termine par:

) ou ;1) > la formule ressort la valeur en ligne avec la valeur directement inférieure à celle cherchée, mais il faut que le champ 1° colonne soit classé en ordre croissant

;) ou ;0) ou ;FAUX) la formule ressort la valeur en ligne avec la valeur exacte se trouvant dans la colonne de recherche. Renvoie #N/A si la valeur cherchée n'existe pas,. Le champ n'a pas besoin d'être classé.

Fonctionne aussi en recherche verticale avec RECHERCHEH

Bonne route Au plaisir
crdlmnt
Errare humanum est, perseverare diabolicum
0
jardincouv Messages postés 3 Date d'inscription mercredi 21 janvier 2015 Statut Membre Dernière intervention 22 janvier 2015
22 janv. 2015 à 10:14
Merci, vous me faites économiser plusieurs heures de travail.
0