Utilisation de la fonction de décalage dans Excel

  • Partage Ça
Hugh West

Aujourd'hui, j'aimerais vous présenter La fonction OFFSET d'Excel avec 3 exemples concrets.

Dans un premier temps, je décrirai la syntaxe de la formule, puis j'expliquerai comment la fonction OFFSET peut être utilisée pour résoudre des problèmes de la vie réelle.

Introduction

La fonction OFFSET peut renvoyer une référence à une cellule (appelons-la cellule cible) ou à une plage (plage cible) qui se trouve à un nombre spécifié de lignes et de colonnes d'une autre cellule (cellule de référence) ou plage (plage de référence).

La figure ci-dessous illustre comment utiliser la fonction OFFSET pour renvoyer la référence à une cellule (partie gauche) ou à une plage (partie droite).

Cela vous donnera une impression intuitive de ce qu'est une cellule cible et de ce qu'est une cellule de référence.

La cellule surlignée en vert est une cellule cible, tandis que les cellules surlignées en jaune sont constituées d'une plage cible.

Les cellules surlignées en bleu sont des cellules de référence.

Figure 1

Que signifie OFFSET dans Excel (syntaxe) ?

Voici la syntaxe de la fonction Offset : OFFSET (référence, lignes, colonnes, [hauteur], [largeur])

Référence Requis. La référence est une cellule ou une plage de cellules à partir de laquelle le décalage commence. Veuillez noter que les cellules doivent être adjacentes les unes aux autres si vous spécifiez une plage de cellules.
Rangs Requis Le nombre de lignes, vers le haut ou vers le bas, de la cellule de référence ou de la cellule supérieure gauche de la plage de référence. Rangs peut être positive ou négative. Regardez la partie gauche de la figure 1, la cellule cible sera B2 si je change la fonction en OFFSET (C3, -1, -1). B2 est une ligne au-dessus de C3.
Cols Requis. Le nombre de colonnes, à gauche ou à droite, de la cellule de référence ou de la cellule supérieure gauche de la plage de référence. Comme avec Rangs les valeurs de l'argument Cols peut également être à la fois positif et négatif. Comment pouvons-nous écrire la fonction OFFSET si nous définissons B4 comme cellule de référence et C3 comme cellule cible ? La réponse est OFFSET (B4, -1, 1). Ici, vous pouvez voir que Cols est positif et que C3 est une colonne à droite de B4.
Hauteur En option. N'utilisez l'argument Height (hauteur) que si la cible est une plage. Il indique le nombre de lignes que comprend la plage cible. Height (hauteur) doit être un nombre positif. Vous pouvez voir dans la partie droite de la figure 1 qu'il y a deux lignes dans la plage cible. Par conséquent, nous définissons Height (hauteur) comme étant 2 dans ce cas.
Largeur En option. N'utilisez l'argument Width que si la cible est une plage (voir la partie droite de la figure 1). Il indique le nombre de colonnes que la plage cible contient. La largeur doit être un nombre positif.

Laissez-moi maintenant vous montrer comment utiliser la fonction OFFSET pour résoudre des problèmes dans la vie réelle.

Cas 1 : Recherche de droite à gauche en combinant les fonctions OFFSET et MATCH

Il est bien connu que vous ne pouvez effectuer une consultation de gauche à droite qu'avec la fonction VLOOKUP.

La valeur à rechercher doit être placée dans la première colonne de votre tableau.

Pour ajouter une nouvelle valeur de référence, vous devez déplacer toute la plage de votre tableau d'une colonne vers la droite ou modifier votre structure de données si vous souhaitez utiliser une autre colonne comme valeur de référence.

Mais en combinant OFFSET avec la fonction Match, la limitation de la fonction VLOOKUP peut être supprimée.

Qu'est-ce que la fonction MATCH et comment pouvons-nous combiner la fonction OFFSET avec la fonction Match pour effectuer la recherche ?

La fonction Match recherche un élément spécifique dans une plage de cellules et renvoie ensuite la position relative de cet élément dans la plage.

Prenons l'exemple de la plage B3:B8 de la figure 2.1 (qui montre les revenus de différents pays pour différentes années).

La formule "=MATCH ("USA", B3:B8, 0)" donnera comme résultat 1 puisque USA est le premier élément de la plage (voir les cellules B10 et C10).

Pour une autre plage C2:F2, la formule "=MATCH (2015, C2:F2, 0)" donne les résultats suivants 3 car 2015 est le troisième élément de la plage (voir les cellules B11 et C11).

Revenons à la fonction OFFSET.

Si nous définissons la cellule B2 comme cellule de référence et prenons la cellule E3 comme cellule cible, comment pouvons-nous écrire la formule OFFSET ?

E3 est 1 rangée en dessous de B2 et 3 colonnes de droite à B2.

Par conséquent, la formule peut être écrite comme suit : "=OFFSET(B2, 1 , 3 Regardez attentivement les chiffres en rouge, pouvez-vous trouver qu'ils correspondent ?

C'est la réponse à la question : comment combiner la fonction OFFSET avec la fonction Match ? La fonction Match peut être appliquée pour servir de deuxième ou de troisième argument à la fonction OFFSET. (voir cellule C13).

La cellule C14 montre comment utiliser la fonction VLOOKUP pour récupérer les mêmes données.

Nous devons savoir que les recettes de 2015 sont enregistrées dans la 4ème colonne du tableau B2:F8 avant d'écrire la fonction VLOOKUP.

Cela signifie que nous devons bien connaître la structure des données lorsque nous utilisons la fonction VLOOKUP.

Il s'agit d'une autre limitation de VLOOKUP. Toutefois, en utilisant la fonction MATCH comme argument de la fonction OFFSET, nous n'avons pas besoin de connaître l'index de la colonne.

Ceci est très utile s'il y a beaucoup de colonnes.

Figure 2.1

Passons maintenant à un exemple plus complexe.

Supposons que nous ayons un tableau contenant le nom de la société, le nom du contact et l'adresse électronique de différentes sociétés.

Et nous voulons récupérer le nom de l'entreprise à partir d'un nom de contact connu ou obtenir un nom de contact à partir d'une adresse e-mail connue. Que pouvons-nous faire ?

En plaçant des entrées dans les cellules C2 et B3, avec l'aide de la formule dans le carré rouge, je peux récupérer le nom de la société si je connais le nom du contact.

La plage D2:E4 montre comment obtenir un nom de contact avec une adresse électronique connue.

En résumé, ces deux exemples montrent qu'il est possible d'effectuer une recherche de droite à gauche et qu'il n'est pas nécessaire de placer la valeur recherchée dans la colonne la plus à droite. Toutes les colonnes du tableau peuvent contenir la valeur recherchée.

Figure 2.2

Cas 2 : Automatiser le calcul en combinant les fonctions OFFSET et COUNT

Avant de présenter la manière d'automatiser le calcul chaque fois que nous ajoutons un nouveau nombre dans une colonne, commençons par la manière de retourner automatiquement le dernier nombre dans une colonne.

Regardez la figure ci-dessous qui montre les entrées des Ressources humaines. Supposons que nous voulions obtenir le dernier chiffre de la colonne B, la formule serait "=OFFSET (C2, 9 , 0)" si nous appliquons la fonction OFFSET.

D'après la formule, on peut savoir que 9 est le numéro de la clé.

Tant que nous pouvons renvoyer ce numéro automatiquement, nous pouvons être en mesure de localiser automatiquement le dernier numéro d'une colonne.

9 est juste le nombre de cellules qui contiennent des nombres dans la colonne C.

Si vous êtes familier avec la fonction COUNT, vous savez qu'elle permet de compter le nombre de cellules qui contiennent des nombres dans une plage.

Par exemple, la formule "=COUNT (C3:C11)" comptera le nombre de cellules qui contiennent des chiffres dans les cellules C3 à C11.

Dans notre cas, nous aimerions savoir combien de chiffres se trouvent dans une colonne entière. Il faut donc utiliser une référence comme C:C qui inclut toutes les lignes de la colonne C.

Veuillez regarder les cellules G4 et H4, le nombre retourné par "=COUNT(C:C)" est exactement égal à 9 .

Ainsi, en remplaçant 9 par COUNT(C:C) dans la fonction OFFSET ci-dessus, nous pouvons obtenir une nouvelle formule "=OFFSET (C2, COUNT(C:C) , 0)" (dans la cellule H5).

Le nombre qu'il renvoie est 87000, qui est exactement le dernier nombre de la colonne C.

Passons maintenant au calcul automatique. Supposons que nous voulions le total de tous les chiffres de la colonne C.

La formule serait "=SUM (OFFSET (C2, 1, 0, 9 1))" si nous utilisons SUM avec OFFSET.

9 est le nombre total de lignes dans la plage C3:C11 et également le nombre total de cellules contenant des nombres dans la colonne C.

Par conséquent, nous pouvons écrire la formule d'une nouvelle manière comme "=SUM (OFFSET (C2,1, 0, COUNT (C:C), 1))".

Regardez les cellules G10 et H10, le nombre total de salaires pour ces 9 employés est de 521 700 $.

Maintenant, si vous mettez un nombre comme 34 000 $ dans la cellule C12, les nombres dans les cellules G5 et G10 seront changés en 34 000 $ et 555 700 $, respectivement.

C'est ce que j'appelle l'automatisation, car vous n'avez pas à mettre à jour les formules dans les cellules G5 ou G10.

Vous devez faire attention lorsque vous utilisez la fonction COUNT, car celle-ci ne renvoie que le nombre de cellules contenant des chiffres.

Par exemple, "=COUNT (B : B)" renvoie 0 au lieu de 9 car aucune cellule de la colonne B ne contient de chiffres (voir les cellules G3 et H3).

La colonne D comprend 10 cellules contenant des chiffres et le nombre retourné par "COUNT (D : D)" est également 10.

Mais si nous voulons récupérer le dernier chiffre de la colonne D comme nous l'avons fait pour la colonne C, nous obtiendrons le chiffre 0 (voir les cellules G8 et H8).

De toute évidence, 0 n'est pas ce que nous voulons. Qu'est-ce qui ne va pas ? La cellule D13 est à 11 rangs de la cellule D2 au lieu de 10 rangs.

Ceci peut également être démontré par la formule "=OFFSET (D2, COUNT (D : D) + 1 , 0)" dans la cellule G7.

En résumé, les chiffres doivent être adjacents les uns aux autres si nous voulons utiliser la fonction COUNT avec la fonction OFFSET pour permettre l'automatisation des calculs.

Figure 3

Cas 3 : Utilisation de la fonction OFFSET pour réaliser une gamme dynamique

Supposons que nous souhaitions établir un graphique des ventes unitaires mensuelles d'une entreprise. La figure 4.1 présente les données actuelles et un graphique créé à partir des données actuelles.

Chaque mois, les ventes d'unités du mois le plus récent seront ajoutées en dessous du dernier chiffre de la colonne C.

Existe-t-il un moyen simple de mettre à jour le graphique automatiquement ?

La clé de la mise à jour du graphique consiste à utiliser la fonction OFFSET pour créer des noms de plages dynamiques pour la colonne Unités vendues.

La plage dynamique pour les ventes des unités inclura automatiquement toutes les données de vente au fur et à mesure que de nouvelles données sont saisies.

Figure 4.1

Pour créer une plage dynamique, cliquez sur le bouton Formules et, ensuite, choisissez Nom du responsable ou Définir le nom .

En dessous de Nouveau nom Une boîte de dialogue s'affichera si vous cliquez sur Définir le nom .

Si vous choisissez Responsable du nom vous devez également cliquer sur Nouveau pour réaliser le projet ci-dessous Nouveau nom apparaît.

Figure 4.2

Dans le " Nom : Le nom de la plage dynamique doit être renseigné dans le champ de saisie " " et dans le champ " Fait référence à :" nous devons taper la formule OFFSET "=OFFSET (Figure4!$C$2, 1, 0, COUNT (!$C : $C), 1)" qui générera une plage dynamique de valeurs basée sur les unités Valeurs vendues saisies dans la colonne C.

Par défaut, un nom s'applique à l'ensemble du classeur et doit être unique au sein du classeur.

Cependant, nous voulons restreindre la portée à une feuille particulière.

C'est pourquoi nous choisissons ici la figure 4 dans le " Portée : "Après avoir cliqué sur OK la gamme dynamique est créée.

Il inclura automatiquement toutes les données relatives aux ventes au fur et à mesure que de nouvelles données sont saisies.

Maintenant, cliquez avec le bouton droit de la souris sur n'importe quel point du graphique, puis sélectionnez "Sélectionner les données".

Figure 4.3

Dans le prompteur Sélectionner les données Source, choisir Série 1 et ensuite Edit.

Figure 4.4

Puis tapez "=Figure4!Units" comme le montre la figure 4.5.

Figure 4.5

Enfin, essayons et tapez 11 dans la cellule C13. Vous pouvez voir que le graphique a changé et que la valeur 11 a été incluse.

Le graphique change automatiquement lorsque de nouvelles données sont ajoutées.

Figure 4.6

Lire la suite...

  • Fonction Offset(...) dans Excel avec exemples

Télécharger les fichiers de travail

Téléchargez les fichiers de travail à partir du lien ci-dessous.

Excel-Offset-Function.rar

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.