Il est donc possible de trouver le nombre de ventes de pantalons pour le mois de septembre en se décalant de la première cellule d'entête de 3 lignes et de 9 colonnes. Pour ceux qui lisent régulièrement les tutos, cela ressemble étrangement à la fonction INDEX ( tuto Excel « recherche V vs index equiv »)! Il est également possible de combiner les deux fonctions EQUIV dans la fonction DECALER:
DECALER(Table2[[#En-têtes];[Produits]];EQUIV($B$13;Table2[Produits];0);EQUIV($B$11;Table2[[#En-têtes];[Janvier]:[Décembre]];0))
Somme dynamique
En utilisant les deux derniers paramètres de la fonction DECALER, on obtient une plage de données. Donc, il n'est pas possible d'utiliser cette fonction seule. Elle doit être combinée à une autre, comme par exemple une somme. L'objectif est donc de faire la somme d'une plage de données variable:
La formule fait la somme de la formule:
DECALER([@Produits];0;1;1;$C$11)
On part de la ligne des produits, on se décaler d'aucune ligne, d'une colonne. Nous arrivons donc sur le mois de Janvier.
Excel Fonction Décaler
#2
Re: fonction "décaler" imbriquée avec fonction "recherchev"
Bonsoir,
Si tu tiens à utiliser la fonction DECALER:
en C16:
Code:
=DECALER($B$7;EQUIV($B$16;$B$8:$B$12;0);COLONNES($A:A);1)
à recopier vers la droite
Cela dit, la fonction INDEX associée à la fonction EQUIV me parait plus adaptée:
=INDEX($C$8:$H$12;EQUIV($B$16;$B$8:$B$12;0);COLONNES($A:A))
à recopier également vers la droite
D'autres solutions sont également possibles. @+
#3
bonjour
=RECHERCHEV($B16;$B$8:$H$12;3;FAUX) fonctionne très bien, pas besoin d'utiliser décaler
edit: salut Tibo
2b7a
XLDnaute Occasionnel
#4
Merci Tibo.... ça fonctionne... mais je ne comprends absolument pas les formules (! ) Tu peux me les expliquer? Pourquoi EQUIV? ça correspond à quoi cette fonction? Pourquoi INDEX??? D'avance, merci... demander de l'aide et l'obtenir, c'est génial... mais à condition de comprendre! #5
re,
La fonction RECHERCHEV ne permet de rechercher un élément d'une base de données qu'à droite du critère. En combinant les fonctions INDEX et EQUIV, on n'a plus cet inconvénient.
Sélectionner Chaque Nième Ligne
Pour obtenir une ligne sur trois (n), nous changeons le nombre à diviser par 3 (n). Nous pouvons activer la fonction filtre pour filtrer selon le résultat de la formule MOD requis et afficher des lignes spécifiques. Obtenir la Valeur de Chaque Nième Ligne
Pour obtenir la valeur d'une ligne sur deux ou d'une Nième ligne, nous pouvons utiliser les fonctions DECALER et LIGNE. = DECALER ( $ B $ 3; ( LIGNE ( D1) * 2) - 1; 0)
Nous allons détailler cette procédure ci-dessous. Retourner la Nième Rangée
Tout d'abord, nous allons utiliser la fonction LIGNE pour récupérer la première rangée. En copiant cette formule vers le bas, cela signifie que le numéro de la rangée prélevée changera dynamiquement en fonction de la formule. Dans la section suivante, nous utiliserons la fonction DECALER pour obtenir la valeur de la rangée multipliée par la valeur par laquelle vous souhaitez décaler la rangée. = DECALER ( $ B $ 3; ( D3 * 2) - 1; 0)
= DECALER ( $ B $ 3; ( LIGNE ( E1) * 2) - 1; 0)
Écrire du Code VBA
Nous pouvons utiliser une procédure VBA pour parcourir en boucle une plage de cellules et renvoyer la valeur de chaque deuxième ou nième cellule.