Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Positions des premières informations
C'est un peu de croustillant que nous apportons dans ce nouveau volet. Il est question de déterminer les
positions en ligne des
premières informations dans un tableau. Il peut s'agir d'un
nombre, d'un
texte ou encore d'une donnée d'un autre type. Et pour chaque type, une technique spécifique existe.
Sur l'exemple illustré par la capture, nous travaillons à partir d'un tableau fait de nombreux trous. Des données de différentes natures y sont éparpillées. Sur la droite, des calculs sont engagés pour déceler les
positions en ligne des
premiers textes ou
premiers nombres, qu'il s'agisse d'une colonne ou du tableau tout entier. Nous allons donc découvrir ces techniques de calcul.
Classeur Excel à télécharger
Pour la mise en place de cette nouvelle
astuce Excel, nous suggérons d'appuyer l'étude sur un classeur offrant ce tableau à trous.
Nous retrouvons bien le tableau à trous. Sur la droite, des cases vides attendent des calculs respectifs de positions.
Si vous déployez la
zone Nom en haut à gauche de la
feuille Excel, vous constatez que deux plages nommées existent. La première (art) représente seulement la colonne Article. La seconde (tab) représente toutes les cellules du tableau.
Premier texte en colonne
Le premier calcul à réaliser consiste à trouver la
position du premier texte dans sa colonne Article. Le résultat doit être fourni en
cellule G6. Un texte n'est pas un nombre. Le
caractère générique de l'étoile à exploiter dans la
fonction Equiv, est tout à fait dédié.
- Cliquer sur la cellule G6 pour la sélectionner,
- Taper le symbole égal (=) pour initier la syntaxe de la formule de recherche,
- Inscrire la fonction de recherche de position suivie d'une parenthèse, soit : Equiv(,
- Taper le symbole de l'astérisque entre guillemets, soit : "*",
Nous indiquons ainsi à la
fonction Equiv de chercher toute cellule composée exclusivement de caractères textuels. Naturellement, elle retournera le premier succès, soit la
position du premier texte dans la colonne. Et c'est précisément cet élément que nous devons maintenant fournir.
- Taper un point-virgule (;) pour passer dans l'argument de la rangée de recherche,
- Désigner la première colonne par son nom, soit : art,
- Puis, taper un point-virgule suivi du chiffre zéro : ;0, pour une recherche exacte,
- Dès lors, fermer la parenthèse de la fonction Equiv,
Nous n'en avons pas terminé pour autant. La première cellule de cette colonne apparaît en ligne 6. Or, la
fonction Equiv raisonne relativement à la plage qui lui est donnée pour effectuer la recherche. Pour elle, la ligne 6 n'est autre que la ligne 1. Pour réajuster la valeur sur le bon indice, nous devons donc ajouter cinq unités à son calcul.
- Ajouter cinq unités à la suite du calcul, soit : +5,
- Puis, valider la formule avec la touche Entrée du clavier,
Le résultat retourné indique la
ligne 9. Et comme vous pouvez l'apprécier, malgré la présence d'un nombre en ligne 8, c'est bien la
position du premier texte décelé sur la ligne suivante qui est repérée. La syntaxe de la petite formule que nous avons construite est très simple :
=Equiv("*";art;0)+5.
Première donnée dans le tableau
Le calcul à suivre invite à déceler la position de la première donnée dans le tableau, qu'il s'agisse d'un texte ou d'un nombre. Pour cela, nous allons changer notre fusil d'épaule en exploitant une
technique matricielle. Toutes les cellules doivent être passées en revue tour à tour. Dès qu'une cellule non vide est décelée, la position en ligne doit être retournée. Nous devons commencer par exploiter la
fonction Min pour que la ligne concordante
la plus petite soit extraite de la matrice résultante.
- Cliquer sur la cellule G9 pour la sélectionner,
- Taper le symbole égal (=) pour initier la syntaxe de la formule matricielle,
- Inscrire la fonction pour le minimum, suivie d'une parenthèse, soit : Min(,
La
valeur la plus petite qui doit être retournée dépend d'un critère. Sa cellule ne doit pas être vide. Dans ce raisonnement récursif engageant toutes les cellules tour à tour, nous devons donc vérifier cette condition avec une
fonction Si.
- Inscrire la fonction conditionnelle suivie d'une parenthèse, soit : Si(,
- Puis, taper le critère suivant : tab<>"",
Ainsi, pour chaque cellule analysée, nous cherchons celles qui ne sont
pas vides. Comme ce critère est embarqué dans la
fonction Min, pour retourner la plus petite ligne concordante, nous devons exploiter la
fonction Excel Ligne dans la branche
Alors de la
fonction Si.
- Taper un point-virgule (;) pour passer dans la branche Alors de la fonction Si,
- Inscrire la fonction donnant l'indice de ligne d'une cellule, suivie d'une parenthèse, soit : Ligne(,
- Puis, désigner l'intégralité du tableau par son nom, soit : tab,
Dans ce
raisonnement matriciel et en cohérence avec le critère de la
fonction Si, ce sont
tous les numéros de ligne des
cellules non vides qui vont être inscrits dans une matrice. Et la
fonction Min va se charger d'isoler le plus petit pour indiquer la position de la
première donnée dans ce tableau.
- Fermer la parenthèse de la fonction Ligne,
- Fermer la parenthèse de la fonction Si,
- Puis, fermer la parenthèse de la fonction Min,
- Enfin, valider la formule avec le raccourci clavier CTRL + MAJ + Entrée,
Le résultat indique la
ligne 7 et repère effectivement le texte Production dans la
première cellule non vide de ce tableau. Si vous le remplacez par un nombre, la sentence est la même. Si vous inscrivez une donnée dans une ligne du dessus, le calcul actualise son résultat pour repérer la nouvelle position.
Position du premier nombre
Le plus dur est fait désormais. Pour trouver la
position de la première valeur numérique, il suffit d'adapter le critère du précédent
calcul matriciel. Il ne s'agit plus de déceler les lignes des cellules non vides, mais celles des
cellules numériques. Et pour cela,
Excel offre la
fonction de test EstNum. En bout de course, c'est une fois encore la
fonction Min qui se chargera d'extraire de la matrice résultante, l'indice de ligne concordant le
plus petit.
- En cellule G12, adapter le précédent calcul comme suit : =MIN(SI(EstNum(tab); LIGNE(tab))),
- Puis, le valider avec le raccourci clavier CTRL + MAJ + Entrée,
Comme vous pouvez le voir, le calcul repère bien la
ligne 8 du
premier nombre présent dans ce tableau. Et comme précédemment, si vous réorganisez les données, le résultat s'ajuste parfaitement et automatiquement.
Position du premier texte
Tout reste une question d'adaptation pour déceler maintenant la
position du premier texte dans le tableau. Et pour cela,
Excel offre cette fois la
fonction Logique EstTexte.
- En G15, adapter la précédente syntaxe comme suit : =MIN(SI(EstTexte(tab); LIGNE(tab))),
- Puis, valider la formule par le raccourci clavier CTRL + MAJ + Entrée,
Cette fois, le calcul répond par la
ligne 7 où se situe effectivement la
première information textuelle. Si vous supprimez son contenu, le résultat pointe instantanément sur la ligne suivante qui héberge bien le prochain texte dans ce tableau.