Qu'est-ce que la fonction DECALER dans Excel ?
La fonction DECALER (ou OFFSET en anglais) est une fonction matricielle d'Excel qui renvoie une référence à une plage de cellules qui est décalée d'un nombre spécifié de lignes et de colonnes par rapport à une référence de départ. Elle est particulièrement utile pour créer des formules dynamiques qui s'adaptent aux changements de données.
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. Une valeur positive déplace la référence vers le bas, une valeur négative vers le haut.colonnes: Le nombre de colonnes à décaler. Une valeur positive déplace la référence vers la droite, une valeur négative vers la gauche.[hauteur](facultatif) : La hauteur de la plage renvoyée, en nombre de lignes. Si omis, la hauteur est la même que celle de laré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 laréférence.
Important : La fonction DECALER ne déplace pas réellement les cellules. Elle renvoie une référence à une plage de cellules, qui peut ensuite être utilisée dans d'autres formules.
Exemples pratiques d'utilisation de la fonction DECALER
Voici quelques exemples concrets pour illustrer l'utilisation de la fonction DECALER.
Exemple 1 : Décaler d'une ligne et d'une colonne
Supposons que vous ayez une valeur dans la cellule A1. Pour obtenir la valeur de la cellule située une ligne en dessous et une colonne à droite (c'est-à-dire B2), vous pouvez utiliser la formule suivante :
=DECALER(A1; 1; 1)
Exemple 2 : Somme d'une plage décalée
Imaginez que vous ayez des données de ventes mensuelles dans les cellules B2:B13 (janvier à décembre). Vous voulez calculer la somme des ventes des 3 derniers mois. Vous pouvez utiliser DECALER combinée à SOMME et NB pour rendre la formule dynamique.
=SOMME(DECALER(B2;NB(B2:B13)-3;0;3;1))
Explication :
NB(B2:B13)compte le nombre de cellules contenant des nombres dans la plageB2:B13. Cela donne le nombre total de mois pour lesquels vous avez des données.NB(B2:B13)-3calcule le décalage en lignes nécessaire pour commencer 3 mois avant la fin de la plage.DECALER(B2;NB(B2:B13)-3;0;3;1)renvoie une plage de 3 lignes de haut et 1 colonne de large, commençant au décalage calculé.SOMME(...)calcule la somme des valeurs dans cette plage.
Exemple 3 : Créer une liste déroulante dynamique
La fonction DECALER est très utile pour créer des listes déroulantes dynamiques. Supposons que vous ayez une liste de produits qui s'étend à mesure que vous ajoutez de nouveaux produits. Vous pouvez utiliser DECALER combinée à NBVAL pour définir la plage de la liste déroulante.
- Nommez votre plage de données initiale : Sélectionnez la plage de cellules contenant votre liste initiale de produits (par exemple,
A2:A5). Allez dans l'ongletFormules, puis cliquez surDéfinir un nom. Donnez un nom à cette plage, par exempleProduitsInitiaux. - Définissez une plage nommée dynamique : Allez dans l'onglet
Formules, puis cliquez surDéfinir un nom. Dans la boîte de dialogueNouveau nom, entrez les informations suivantes :- Nom :
ListeProduits - Fait référence à :
=DECALER(ProduitsInitiaux;0;0;NBVAL(Feuil1!$A:$A)-1;1)(RemplacezFeuil1par le nom de votre feuille si nécessaire).
- Nom :
Explication de la formule :
ProduitsInitiauxest la plage nommée que vous avez définie à l'étape 1.DECALER(ProduitsInitiaux;0;0;...)commence à la première cellule de la plageProduitsInitiaux(pas de décalage en lignes ou colonnes).NBVAL(Feuil1!$A:$A)compte le nombre de cellules non vides dans la colonne A. Cela inclut l'en-tête de la colonne, donc on soustrait 1.NBVAL(Feuil1!$A:$A)-1calcule la hauteur de la plage dynamique (nombre de produits dans la liste).-
1indique que la largeur de la plage est d'une colonne. -
Créez la liste déroulante : Sélectionnez la cellule où vous voulez insérer la liste déroulante. Allez dans l'onglet
Données, puis cliquez surValidation des données. Dans la boîte de dialogueValidation des données, choisissez les options suivantes :- Autoriser :
Liste - Source :
=ListeProduits
- Autoriser :
Maintenant, lorsque vous ajoutez de nouveaux produits à la colonne A, la liste déroulante se mettra automatiquement à jour.
Exemple 4 : Graphique dynamique
La fonction DECALER est idéale pour créer des graphiques qui se mettent à jour automatiquement lorsque vous ajoutez de nouvelles données. Vous pouvez définir des plages nommées dynamiques pour les axes X et Y du graphique, en utilisant DECALER et NB ou NBVAL. La procédure est similaire à celle de la liste déroulante dynamique, mais vous définissez deux plages nommées (une pour l'axe X et une pour l'axe Y) et vous les utilisez comme sources de données pour le graphique.
Bonnes pratiques et astuces pour utiliser la fonction DECALER
- Utilisez des noms de plages : Au lieu d'utiliser des références de cellules directes dans la fonction
DECALER, utilisez des noms de plages. Cela rend vos formules plus lisibles et plus faciles à maintenir. Par exemple, au lieu de=DECALER(A1;1;1), utilisez=DECALER(PointDeDepart;1;1)si vous avez définiPointDeDepartcomme étant la celluleA1. - Combinez
DECALERavec d'autres fonctions : La puissance deDECALERréside souvent dans sa combinaison avec d'autres fonctions commeSOMME,MOYENNE,MAX,MIN,NB,NBVAL,INDEX,EQUIV, etc. Cela vous permet de créer des formules complexes et dynamiques. - Soyez prudent avec les références circulaires : Évitez de créer des références circulaires en utilisant
DECALER. Une référence circulaire se produit lorsqu'une formule fait référence à sa propre cellule, directement ou indirectement. Cela peut entraîner des erreurs de calcul et des performances médiocres. - Vérifiez les erreurs : Si votre formule
DECALERne fonctionne pas comme prévu, vérifiez attentivement les arguments de la fonction. Assurez-vous que les décalages en lignes et en colonnes sont corrects et que la hauteur et la largeur de la plage renvoyée sont appropriées. Utilisez la fonctionEVALUER LA FORMULEdans l'onglet Formules pour déboguer pas à pas votre formule. - Documentez vos formules : La fonction
DECALERpeut rendre les formules complexes. Documentez vos formules en utilisant des commentaires (en insérant des commentaires dans les cellules ou en utilisant la fonctionN) pour expliquer ce qu'elles font. Cela facilitera la compréhension et la maintenance de vos feuilles de calcul.
Erreurs courantes à éviter avec la fonction DECALER
- Oublier l'argument
référence: La fonctionDECALERa besoin d'une référence de départ pour calculer le décalage. Ne pas fournir cet argument entraînera une erreur. - Utiliser des décalages incorrects : Assurez-vous que les décalages en lignes et en colonnes sont corrects. Une erreur courante est d'inverser les signes (positif au lieu de négatif, ou vice versa).
- Ne pas tenir compte de la hauteur et de la largeur : Si vous avez besoin d'une plage de cellules spécifique, n'oubliez pas de spécifier les arguments
hauteuretlargeur. Si vous les omettez, la fonctionDECALERrenverra une plage de la même taille que laréférence. - Dépasser les limites de la feuille de calcul : La fonction
DECALERne peut pas renvoyer une référence à une cellule en dehors des limites de la feuille de calcul. Si vous essayez de le faire, vous obtiendrez une erreur#REF!. - Utiliser
DECALERde manière excessive : Bien queDECALERsoit puissante, elle peut rendre les formules difficiles à comprendre et peut affecter les performances des grandes feuilles de calcul. Dans certains cas, il peut être plus efficace d'utiliser d'autres fonctions commeINDEXouRECHERCHEX.
Alternatives à la fonction DECALER
Bien que la fonction DECALER soit utile, il existe d'autres fonctions Excel qui peuvent parfois être utilisées à sa place, offrant une meilleure performance ou une plus grande lisibilité.
- INDEX : La fonction
INDEXrenvoie la valeur d'une cellule dans une plage spécifiée par son numéro de ligne et de colonne. Elle est souvent plus performante queDECALER, en particulier pour les grandes feuilles de calcul. - RECHERCHEX : La fonction
RECHERCHEXest une alternative moderne àRECHERCHEVetRECHERCHEH. Elle offre plus de flexibilité et de puissance, et peut souvent remplacerDECALERdans les scénarios de recherche et de récupération de données. - ADRESSE et INDIRECT : La fonction
ADRESSErenvoie l'adresse d'une cellule sous forme de texte, et la fonctionINDIRECTconvertit une chaîne de texte en une référence de cellule. Ces fonctions peuvent être utilisées ensemble pour créer des références dynamiques, mais elles sont généralement moins performantes queINDEXouRECHERCHEX.
Conclusion
La fonction DECALER est un outil précieux dans la boîte à outils d'un utilisateur Excel avancé. Elle permet de créer des formules dynamiques et flexibles qui s'adaptent aux changements de données. En comprenant sa syntaxe, ses applications et ses limitations, vous pouvez l'utiliser efficacement pour automatiser vos tâches et gagner du temps. N'oubliez pas d'expérimenter avec les exemples fournis et de combiner DECALER avec d'autres fonctions pour exploiter pleinement son potentiel. Cependant, gardez à l'esprit qu'il existe des alternatives comme INDEX et RECHERCHEX qui peuvent être plus performantes dans certains cas. En choisissant la fonction appropriée pour chaque tâche, vous pouvez optimiser vos feuilles de calcul et améliorer votre productivité.