Comprendre la fonction DECALER d'Excel
La fonction DECALER (OFFSET en anglais) est une fonction Excel qui renvoie une référence à une plage qui est un certain nombre de lignes et de colonnes à partir d'une référence de départ. Contrairement à d'autres fonctions qui renvoient une valeur, DECALER renvoie une référence, ce qui la rend extrêmement flexible pour créer des formules dynamiques.
Syntaxe de la fonction DECALER
La syntaxe de la fonction DECALER est la suivante :
=DECALER(référence; lignes; colonnes; [hauteur]; [largeur])
Où :
- référence : La cellule ou la plage de cellules à partir de laquelle le décalage est calculé. C'est le point de départ.
- lignes : Le nombre de lignes à décaler vers le haut (négatif) ou vers le bas (positif). 0 signifie pas de décalage vertical.
- colonnes : Le nombre de colonnes à décaler vers la gauche (négatif) ou vers la droite (positif). 0 signifie pas de décalage horizontal.
- [hauteur] (facultatif) : La hauteur de la plage renvoyée, en nombre de lignes. Si omis, la hauteur est la même que celle de la
référence. - [largeur] (facultatif) : La largeur de la plage renvoyée, en nombre de colonnes. Si omis, la largeur est la même que celle de la
référence.
Explication détaillée des arguments
- référence : Imaginez que c'est votre point d'ancrage. Toutes les autres valeurs sont relatives à ce point.
- lignes : Si vous voulez descendre de 3 lignes, vous mettez
3. Si vous voulez remonter de 2 lignes, vous mettez-2. - colonnes : Pareil que pour les lignes, mais horizontalement.
2pour aller à droite,-2pour aller à gauche. - hauteur et largeur : Ces arguments déterminent la taille de la plage que
DECALERva renvoyer. Si vous ne les spécifiez pas, Excel utilisera la taille de votreréférencede départ.
Cas d'utilisation concrets de la fonction DECALER
La fonction DECALER est particulièrement utile dans les situations suivantes :
- Création de plages nommées dynamiques : Une plage nommée dynamique s'adapte automatiquement à l'ajout ou à la suppression de données. C'est idéal pour les graphiques ou les tableaux croisés dynamiques.
- Calculs sur des plages variables : Vous pouvez utiliser
DECALERpour calculer des sommes, des moyennes ou d'autres statistiques sur des plages qui changent de taille. - Récupération de données spécifiques : Vous pouvez extraire des valeurs spécifiques d'un tableau en fonction de critères variables.
- Création de tableaux de bord interactifs : En combinant
DECALERavec d'autres fonctions commeINDEXouEQUIV, vous pouvez créer des tableaux de bord qui se mettent à jour en temps réel.
Exemple 1 : Créer une plage nommée dynamique pour un graphique
Supposons que vous ayez une liste de ventes mensuelles dans la colonne A (A1:A12 par exemple) et que vous souhaitiez créer un graphique qui se mette à jour automatiquement lorsque vous ajoutez de nouvelles ventes.
- Définir une plage nommée pour le nombre de ventes : Allez dans l'onglet Formules, puis Gestionnaire de noms, et cliquez sur Nouveau...
- Nommer la plage : Donnez un nom à votre plage, par exemple "VentesMensuelles".
-
Entrer la formule DECALER : Dans le champ Fait référence à, entrez la formule suivante :
=DECALER(Feuil1!$A$1;0;0;NBVAL(Feuil1!$A:$A);1)Feuil1!$A$1est la première cellule de votre liste de ventes.0;0signifie qu'il n'y a pas de décalage par rapport à la cellule A1.NBVAL(Feuil1!$A:$A)compte le nombre de cellules non vides dans la colonne A, ce qui détermine la hauteur de la plage.1signifie que la largeur de la plage est d'une colonne.- Créer le graphique : Sélectionnez une cellule vide, allez dans l'onglet Insertion, choisissez un type de graphique (par exemple, un graphique linéaire). Cliquez avec le bouton droit sur le graphique et sélectionnez Sélectionner des données.
- Ajouter la plage nommée : Cliquez sur Ajouter, donnez un nom à votre série (par exemple, "Ventes"), et dans le champ Valeurs de la série, entrez
=Feuil1!VentesMensuelles. RemplacezFeuil1par le nom de votre feuille si nécessaire.
Maintenant, lorsque vous ajoutez de nouvelles ventes dans la colonne A, le graphique se mettra à jour automatiquement.
Exemple 2 : Calculer la somme des 3 derniers mois
Supposons que vous ayez des ventes mensuelles dans la colonne B (B2:B13), et que vous souhaitiez calculer la somme des ventes des 3 derniers mois.
La formule à utiliser est la suivante :
=SOMME(DECALER(B2;NB(B2:B13)-3;0;3;1))
B2est la première cellule de votre liste de ventes.NB(B2:B13)compte le nombre de cellules contenant des nombres dans la plage B2:B13. Cela détermine le nombre total de mois.-3décale la référence de 3 mois vers le haut pour commencer à calculer la somme des 3 derniers mois.0signifie qu'il n'y a pas de décalage horizontal.3définit la hauteur de la plage à 3 mois.1définit la largeur de la plage à 1 colonne.
Exemple 3 : Récupérer une valeur spécifique en fonction d'un critère
Imaginons un tableau avec des noms de produits en colonne A et leurs prix en colonne B. Vous voulez récupérer le prix d'un produit spécifique entré dans la cellule D1.
Vous pouvez combiner DECALER avec EQUIV pour trouver la ligne correspondante au produit et ensuite récupérer le prix.
=DECALER(A1;EQUIV(D1;A:A;0)-1;1;1;1)
A1est la cellule de départ (le coin supérieur gauche de votre tableau).EQUIV(D1;A:A;0)trouve la position du produit entré dans D1 dans la colonne A. Le-1est nécessaire carDECALERcompte à partir de 0.1décale d'une colonne vers la droite pour atteindre la colonne des prix.1;1définit la hauteur et la largeur de la plage à une seule cellule.
Bonnes pratiques et astuces pour utiliser DECALER
- Utiliser des références absolues : Pour éviter des erreurs, utilisez des références absolues (avec le signe
$) pour laréférencede départ, surtout si vous copiez la formule. - Combiner avec d'autres fonctions : La puissance de
DECALERréside dans sa capacité à être combinée avec d'autres fonctions commeSOMME,MOYENNE,INDEX,EQUIV,NBVAL, etc. - Vérifier les erreurs : Soyez attentif aux erreurs
#REF!si vos décalages vous font sortir de la feuille de calcul. - Utiliser des noms de plages : Pour une meilleure lisibilité et maintenance, utilisez des noms de plages pour les références dans la formule
DECALER. - Documenter vos formules : Ajoutez des commentaires pour expliquer la logique de vos formules
DECALER, surtout si elles sont complexes. - Penser à la performance : L'utilisation excessive de la fonction
DECALERpeut ralentir le calcul des feuilles de calcul complexes. Si possible, explorez d'autres solutions comme les tableaux structurés ou Power Query.
Erreurs courantes à éviter avec DECALER
- Oublier les références absolues : Si vous ne fixez pas la référence de départ avec des
$, la formule risque de ne plus fonctionner correctement lorsque vous la copiez. - Dépasser les limites de la feuille : Assurez-vous que vos décalages ne vous font pas sortir des limites de la feuille de calcul, sinon vous obtiendrez une erreur
#REF!. - Utiliser des valeurs incorrectes pour la hauteur et la largeur : Vérifiez que la hauteur et la largeur de la plage renvoyée correspondent à ce que vous attendez.
- Ne pas comprendre la logique des décalages : Prenez le temps de bien comprendre comment fonctionnent les décalages en lignes et en colonnes, surtout si vous utilisez des valeurs négatives.
- Ignorer les problèmes de performance : Si votre feuille de calcul est lente, essayez d'optimiser vos formules
DECALERou d'utiliser d'autres méthodes.
En conclusion, la fonction DECALER d'Excel est un outil puissant pour créer des références dynamiques et des formules flexibles. Bien qu'elle puisse sembler complexe au premier abord, sa maîtrise vous ouvrira de nouvelles possibilités pour automatiser vos tâches et analyser vos données plus efficacement. N'hésitez pas à expérimenter avec les exemples présentés dans cet article et à explorer les nombreuses combinaisons possibles avec d'autres fonctions Excel. Avec un peu de pratique, vous deviendrez un expert de la fonction DECALER !