Comment récupérer la première cellule non nulle d'une ligne ou d'une colonne sur Excel

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Dans ce tutoriel, je vais vous montrer comment récupérer la première cellule non vide contenue dans une ligne ou dans une colonne en utilisant une formule INDEX(EQUIV(INDEX())) ! 

 

Pour suivre cet article dans les meilleures conditions, je vous invite à télécharger le fichier en suivant le lien disponible ci-dessous :

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

 

1. Présentation du cas

Pour illustrer ce tutoriel, nous allons utiliser la base de données que nous retrouvons ici à l’écran, et qui reprend le listing du personnel d’une société avec le salaire mensuel versée pour chacun de ces salariés au cours de l’année 2018 :

Excel formation - Première cellule non nulle - 01

Une cellule vide signifie qu’aucun salaire n’a été versé durant le mois, et donc que la personne ne faisait pas encore partie du personnel de l’entreprise.

L’objectif va donc être de déterminer le premier mois au cours duquel un salaire a effectivement été versé, ce mois correspondant de fait au mois d’embauche de la personne dans l’entreprise.

Pour cela, nous allons utiliser une formule assez complexe : INDEX(EQUIV(INDEX()))

 

2. Trouver la position du premier salaire : EQUIV(INDEX())

 

Et oui, vous avez lu il ne s’agit pas d’une erreur nous allons bien ici utiliser la formule INDEX() imbriquée dans la formule EQUIV(), et non l’inverse !

Voici la formule que nous allons utiliser pour retrouver la position du premier salaire versée pour la première ligne (Aceline Bonami), nous en étudierons la composition juste après

 

 =EQUIV(VRAI;INDEX(C6:N6>0;0);0) 

/p>

Excel formation - Première cellule non nulle - 02

Pour synthétiser ces deux formules, nous cherchons tout d’abord (grâce à la formule INDEX()) à construire une matrice d’une taille équivalente au nombre de cellules contenues dans la plage d’analyse (plage C6 à N6 dans laquelle nous retrouvons les salaires versés à Aceline Bonami).

Cette matrice est constituée uniquement de VRAI et de FAUX.

Pour bien comprendre la composition de cette matrice, nous allons saisir cette formule INDEX() dans une autre cellule (P6) :

Excel formation - Première cellule non nulle - 03

Le résultat retourné par cette formule est FAUX, ce qui signifie que la première cellule (C6) n’a pas pour valeur un nombre supérieur à zéro.

Vous devez sans doute vous demander quel est l’intérêt de cette information ?

En réalité, le résultat de la formule est bien plus complet, et il suffit de se rendre dans l’outil d’évaluation de formule pour s’en rendre compte (sélectionner la cellule P6, puis dans le menu Formules du ruban, cliquer sur Évaluer la formule) :

Excel formation - Première cellule non nulle - 04

Dans la fenêtre qui s’affiche, cliquer sur le bouton Évaluer afin que la formule se calcul dans la zone d’évaluation :

Excel formation - Première cellule non nulle - 05

À ce moment, là nous pouvons alors nous rendre compte qu’Excel génère la matrice : {FAUX,FAUX,FAUX,VRAI,VRAI,VRAI,VRAI,VRAI,VRAI,VRAI,VRAI,VRAI}.

Évidemment, il n’est pas possible d’afficher cette matrice dans la cellule, Excel insert alors le premier élément de celle-ci : FAUX.

En revanche, il est tout à fait possible d’exploiter cette matrice pour la traiter en tant que paramètre d’une fonction qui nécessiterai une matrice.

Et c’est justement ce que demande la formule EQUIV(), qui nous permet alors de récupérer la position du premier VRAI (attention au passage de ne pas omettre le dernier paramètre zéro :

Excel formation - Première cellule non nulle - 06

Le premier salaire est donc versé au cours du quatrième mois !

 

3. Puis trouver le mois correspondant avec la formule EQUIV(INDEX(EQUIV()))

 

Enfin, il ne reste plus qu’à imbriquer cette formule en tant que paramètre de la formule EQUIV() pour utiliser la formule INDEX(EQUIV()) de manière classique pour récupérer le mois correspondant (cliquez ici pour en savoir plus sur la formule INDEX(EQUIV())) :

Excel formation - Première cellule non nulle - 07

Attention de bien passer la référence des cellules de l’en-tête en référence absolue (en appuyant sur la touche [F4] du clavier), afin d’ajouter les symboles dollars et de fixer l’appel à cette référence lorsque nous allons étendre la formule aux cellules du dessous.

Enfin, nous pouvons valider la formule en appuyant sur la touche [Entrée] du clavier :

Excel formation - Première cellule non nulle - 08

Il ne reste plus qu’à changer le format de la cellule afin d’afficher la date de manière claire dans la cellule (choisir Date courte dans le menu de formatage rapide du menu Accueil du ruban, ou grâce au raccourci clavier [Ctrl]+[j])

Excel formation - Première cellule non nulle - 09

Et pour finir, nous pouvons étendre la formule en double-cliquant sur le petit carré noir situé en bas à droite de la cellule, lorsque le curseur prend la forme d’un symbole plus :

Excel formation - Première cellule non nulle - 10

Excel formation - Première cellule non nulle - 11

 



Articles qui pourraient vous intéresser

Comment connecter Excel sur Internet, sans VBA ?
Comment traduire automatiquement des fonctions Excel dans leur version originale ?
Comment analyser les résultats d’un sondage ou questionnaire avec Excel ?
Comment utiliser la fonction SOMME.SI pour effectuer des recherches sur des textes sur Excel ?
Comment calculer et étudier des écarts budgétaires avec Excel ?
Comment verrouiller et protéger un objet (graphique, image, zone de texte…) sur Excel ?
Comment formater des dates correctement dans Excel ?
Comment protéger le formatage des cellules tout en autorisant la saisie de données dans Excel ?
Comment transformer une photo en tableau Excel ?
Comment créer un publipostage automatique avec Excel ? (sans Word !)
Comment créer un graphique Gaufre sur Excel ?
Comment créer un graphique en cascade dans Excel ?