Comprendre la fonction Excel DECALER (OFFSET)
La fonction DECALER (ou OFFSET) dans Excel est une fonction de recherche et de référence qui renvoie une référence à une plage qui est un certain nombre de lignes et de colonnes à partir d'une cellule ou d'une plage de cellules. Elle permet de créer des références dynamiques qui s'ajustent automatiquement en fonction de vos 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 vers le haut (négatif) ou vers le bas (positif) à partir de la référence.
- colonnes : Le nombre de colonnes à décaler vers la gauche (négatif) ou vers la droite (positif) à partir de la référence.
- [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 : Il est crucial de choisir la bonne cellule de départ. Elle détermine le point d'ancrage de votre décalage. Si vous voulez commencer à partir de la cellule A1, votre référence sera
A1. Si vous voulez faire référence à une plage, vous pouvez utiliserA1:B2. - Lignes : Un nombre positif décale vers le bas, un nombre négatif décale vers le haut.
0signifie qu'il n'y a pas de décalage vertical. - Colonnes : Un nombre positif décale vers la droite, un nombre négatif décale vers la gauche.
0signifie qu'il n'y a pas de décalage horizontal. - Hauteur : Permet de définir la hauteur de la plage résultante. Si vous voulez récupérer une plage de 3 lignes, vous devez spécifier
3. Si vous omettez cet argument, la hauteur de la plage de référence sera utilisée. - Largeur : Permet de définir la largeur de la plage résultante. Si vous voulez récupérer une plage de 2 colonnes, vous devez spécifier
2. Si vous omettez cet argument, la largeur de la plage de référence sera utilisée.
Exemples pratiques de la fonction DECALER
Voyons 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 des données dans la plage A1:B10. Vous voulez récupérer la valeur de la cellule située une ligne en dessous et une colonne à droite de la cellule A1. La formule serait :
=DECALER(A1; 1; 1)
Cette formule renvoie la valeur de la cellule B2.
Exemple 2 : Récupérer une plage de cellules
Vous avez des données dans la plage A1:C10 et vous voulez récupérer la plage B2:C3. La formule serait :
=DECALER(A1; 1; 1; 2; 2)
Cette formule renvoie la plage B2:C3.
Exemple 3 : Utiliser DECALER avec SOMME pour une somme dynamique
C'est là que DECALER devient vraiment puissant. Imaginez que vous voulez calculer la somme des 5 dernières valeurs d'une colonne de données qui s'allonge au fur et à mesure. Vous pouvez utiliser DECALER en combinaison avec NBVAL et SOMME pour créer une somme dynamique.
Supposons que vos données soient dans la colonne A, à partir de la cellule A1. La formule serait :
=SOMME(DECALER(A1;NBVAL(A:A)-5;0;5;1))
Explication:
NBVAL(A:A)compte le nombre de cellules non vides dans la colonne A, ce qui vous donne le nombre total de données.NBVAL(A:A)-5calcule le point de départ pour votre décalage. Nous soustrayons 5 du nombre total de données pour obtenir l'indice de la première cellule des 5 dernières valeurs.DECALER(A1;NBVAL(A:A)-5;0;5;1)renvoie une plage de 5 cellules, commençant à la cellule calculée précédemment, sans décalage de colonne (0), avec une hauteur de 5 lignes et une largeur de 1 colonne.SOMME(...)calcule la somme des valeurs dans la plage renvoyée parDECALER.
Capture d'écran (description textuelle): Imaginez une colonne A avec des chiffres. La formule est entrée dans une cellule séparée et affiche la somme des 5 derniers chiffres de la colonne A.
Exemple 4 : Créer une liste déroulante dynamique avec DECALER et VALIDATION DE DONNÉES
Vous pouvez utiliser DECALER pour créer une liste déroulante qui s'adapte automatiquement à l'ajout de nouveaux éléments. C'est très utile pour les listes de produits, les noms de clients, etc.
- Créez votre liste de données: Supposons que vous ayez une liste de produits dans la colonne A, à partir de la cellule
A2(la celluleA1contient l'en-tête). - Définissez une plage nommée dynamique: Allez dans l'onglet Formules > Définir un nom. Nommez votre plage, par exemple
ListeProduits. Dans le champ Fait référence à, entrez la formule suivante:
=DECALER(Feuil1!$A$2;0;0;NBVAL(Feuil1!$A:$A)-1;1)
Remplacez Feuil1 par le nom de votre feuille si nécessaire. L'explication de la formule est similaire à l'exemple précédent, mais cette fois, elle définit la hauteur de la plage pour inclure tous les produits.
3. Créez votre liste déroulante: Sélectionnez la cellule où vous voulez la liste déroulante. Allez dans l'onglet Données > Validation de données. Dans l'onglet Options, sélectionnez Liste dans le champ Autoriser. Dans le champ Source, entrez =ListeProduits (le nom de la plage que vous avez définie).
Maintenant, votre liste déroulante s'adaptera automatiquement à l'ajout de nouveaux produits dans la colonne A.
Capture d'écran (description textuelle): Imaginez une feuille Excel avec une liste de produits dans la colonne A. Une liste déroulante est créée dans une autre cellule, affichant les produits de la colonne A. Lorsque de nouveaux produits sont ajoutés à la colonne A, ils apparaissent automatiquement dans la liste déroulante.
Bonnes pratiques et astuces pour utiliser DECALER
- Utilisez des noms définis: Au lieu d'utiliser des références de cellules directes, utilisez des noms définis pour rendre vos formules plus lisibles et plus faciles à maintenir. Par exemple, au lieu de
A1, vous pouvez définir un nom commeCelluleDepart. - Testez vos formules: La fonction
DECALERpeut être complexe, alors testez vos formules soigneusement pour vous assurer qu'elles renvoient les résultats attendus. Utilisez la fonctionEVALUER LA FORMULEdans Excel pour suivre pas à pas le calcul de votre formule. - Évitez les références circulaires: Soyez prudent de ne pas créer de références circulaires avec la fonction
DECALER. Une référence circulaire se produit lorsque une formule fait référence à elle-même, directement ou indirectement. - Combinez DECALER avec d'autres fonctions: La puissance de
DECALERréside dans sa capacité à être combinée avec d'autres fonctions Excel commeSOMME,MOYENNE,RECHERCHEV, etc. pour créer des analyses complexes. - Comprendre la volatilité: La fonction
DECALERest une fonction volatile. Cela signifie qu'elle est recalculée chaque fois que la feuille de calcul est modifiée, même si les cellules auxquelles elle fait référence n'ont pas été modifiées. Cela peut ralentir les performances des feuilles de calcul complexes. Si la performance est un problème, envisagez d'utiliser des alternatives commeINDEXetEQUIV.
Erreurs courantes à éviter avec DECALER
- Oublier les arguments facultatifs : Ne pas spécifier la hauteur et la largeur peut conduire à des résultats inattendus, surtout si la référence de départ est une plage.
- Dépasser les limites de la feuille : Assurez-vous que le décalage ne vous fait pas sortir des limites de la feuille de calcul, sinon vous obtiendrez une erreur
#REF!. - Utiliser des valeurs non numériques pour les décalages : Les arguments
lignesetcolonnesdoivent être des nombres entiers. L'utilisation de texte ou de valeurs non numériques provoquera une erreur. - Ne pas comprendre la volatilité (bis): Ignorer l'impact de la volatilité sur la performance peut rendre vos feuilles de calcul lentes et difficiles à utiliser. Soyez conscient de ce problème et utilisez
DECALERavec parcimonie dans les grandes feuilles de calcul.
Alternatives à la fonction DECALER
Bien que DECALER soit une fonction puissante, elle peut parfois être remplacée par d'autres fonctions, notamment INDEX et EQUIV. Ces fonctions sont généralement moins volatiles et peuvent offrir de meilleures performances dans certains cas.
- INDEX et EQUIV : La combinaison de
INDEXetEQUIVest souvent une alternative plus performante àDECALER.INDEXrenvoie la valeur d'une cellule à une intersection spécifique dans une plage, etEQUIVtrouve la position d'une valeur dans une plage. Ensemble, elles peuvent créer des références dynamiques sans la volatilité deDECALER.
Par exemple, la formule suivante, qui recherche la valeur correspondant à un nom dans une colonne et renvoie la valeur de la colonne adjacente:
=INDEX(C:C;EQUIV("NomRecherche";A:A;0))
Cette formule est plus performante que son équivalent avec DECALER dans les grandes feuilles de calcul.
DECALER vs. INDEX : Quel est le meilleur choix ?
Le choix entre DECALER et INDEX dépend de votre situation spécifique.
- Utilisez DECALER si : Vous avez besoin d'une solution rapide et facile à comprendre, et que la performance n'est pas un problème majeur.
- Utilisez INDEX et EQUIV si : La performance est critique, et vous êtes prêt à investir un peu plus de temps pour comprendre et mettre en œuvre la formule.
Conclusion
La fonction DECALER est un outil puissant et polyvalent pour créer des feuilles de calcul Excel dynamiques. En comprenant sa syntaxe et en expérimentant avec des exemples concrets, vous pouvez l'utiliser pour automatiser des tâches, créer des analyses plus sophistiquées et améliorer votre productivité sur Excel. N'oubliez pas de tenir compte de sa volatilité et d'envisager des alternatives comme INDEX et EQUIV lorsque la performance est un facteur important. Avec un peu de pratique, vous maîtriserez rapidement la fonction DECALER et débloquerez de nouvelles possibilités dans vos feuilles de calcul.