Comment utiliser la fonction MAKEARRAY ?

 MAKEARRAY est une nouvelle fonction d’Excel 365 qui permet de générer facilement un tableau de valeurs d’une taille de ligne et de colonne spécifiée, en appliquant une fonction LAMBDA.

Comment utiliser la fonction MAKEARRAY ?


La première remarque qu’on peut faire avant de commencer ce cours c’est qu’Excel garde, à l’instant où j’écris cet article, la nomination anglaise de cette fonction, contrairement à ce qui était habituel lors de l’utilisation de ses fonctions. Est-ce que la traduction de ce nom apparaitra ou non dans les mises à jour qui vont venir ? je n'ai aucune information pour l'instant à ce propos ! 

Voilà, c’est juste une petite remarque à laquelle je voulais attirer votre attention avant de passer à l’explication de l’utilisation de la fonction MAKEARRAY.

Comment utiliser la fonction MAKEARRAY ?

La syntaxe de cette fonction est :

MAKEARRAY (nombre de lignes ;nombre de colonnes ;calcul)

On demande à Excel alors de créer un tableau se composant du nombre de lignes et de colonnes que l’on définit dans les deux premiers arguments, puis de remplir ce tableau par les données qui seront renvoyés par le calcul qui va être effectué (le troisième paramètre) à l’aide de la fonction LAMBDA.

Note :LAMBDA est une nouvelle fonction qui vient d’apparaitre récemment. Vous trouvez plus d’explication sur sa façon d’utiliser en suivant ce lien : Comment utiliser la fonction LAMBDA ?

Exemple simple d’utilisation de MAKEARRAY

Voici comment utiliser MAKEARRAY pour créer par exemple une table de multiplication très rapidement :

Sélectionnez une cellule, par exemple A1, puis tapez cette formule :

=MAKEARRAY(10;10;LAMBDA(x;y;x*y))

Lorsque vous validez, Excel va générer une table de multiplication de dimensions 10×10.

Table de multiplication avec MAKEARRAY

  • Nombre de lignes : 10
  • Nombre de colonnes : 10
  • Calcul : LAMBDA(x;y;x*y), x représente ici l’index de ligne (de 1 à 10) et y l’index de colonne (de 1 à 10 également) qui seront utilisés dans le calcul de LAMBDA (x*y).

Utilisation complexe de MAKEARRAY

  1. Intégrer INDEX et ALEA.ENTRE.BORNES dans MAKEARRAY

Supposons par exemple que j’ai un tableau qui affiche les noms de quelques fruits, et que je veux qu’à partir de ce tableau créer un autre tableau de dimensions spécifiées qui sera rempli aléatoirement par ces noms de fruits.

Voici donc mon tableau de départ composé de 3 lignes et de 4 colonnes:

Tableau des fruits

  • Primo, je veux générer aléatoirement les noms des fruits dans un tableau d’une colonne et de 5 lignes :

Pour cela je vais me servir de la fonction INDEX et de ALEA.ENTRE.BORNES qui vont être insérées dans la fonction LAMBDA de cette façon :

=MAKEARRAY(5;1;LAMBDA(x;y;INDEX($A$2:$D$4;ALEA.ENTRE.BORNES(1;3);ALEA.ENTRE.BORNES(1;4))))

Voici le résultat obtenu :

Utilisr MAKEARRAY avec INDEX et ALEA.ENTRE.BORNES

J’explique le fonctionnement de cette formule :

Tout d’abord nous savons que la fonction INDEX nous permet de renvoyer une valeur qui se trouve dans une plage de cellules à l’intersection d’une ligne et d’une colonne que nous lui spécifions.

Plus de détails sur l’utilisation de la fonction INDEX ici : Comment utiliser la fonction INDEX?

Nous savons également que la fonction ALEA.ENTRE.BORNES renvoie un nombre aléatoire entre les nombres que l’on spécifie.

Dans notre cas, INDEX va chercher dans le tableau des noms des fruits (A2:D4) le nom du fruit se trouvant à l’intersection de la ligne que son numéro sera renvoyé par ALEA.ENTRE.BORNES(1;3) et de la colonne dont le numéro sera renvoyé par ALEA.ENTRE.BORNES(1;4).

Et puisque notre tableau à créer sera d’une dimension de 5x1, la fonction LAMBDA sera exécutée 5 fois pour remplir les 5 cellules de notre nouveau tableau.

Appuyez sur F9 pour actualiser la formule :

L’image suivante essaie de vous rapprocher ce qui était effectué pour générer le tableau créé :

Comment fonctionne MAKEARRAY


  • Secundo, je vais créer un tableau avec avec plus de lignes ou de colonnes :

Cette fois je vais procéder à une petite modification dans l’écriture de ma formule MAKEARRAY, en effet, au lieu de saisir à chaque fois les nombres de lignes et de colonnes souhaités, je vais insérer les références des cellules C8 et C9 qui les contiennent, et de cette façon il me sera très facile la tâche de modifier ces deux nombres.

=MAKEARRAY(C8;C9;LAMBDA(x;y;INDEX($A$2:$D$4;ALEA.ENTRE.BORNES(1;3);ALEA.ENTRE.BORNES(1;4))))

Rendre MAKEARRAY dynamique


Voici alors un exemple de résultat que j’ai obtenu :

Tableau généré par MAKEARRAY

En appuyant sur F9 encore, le calcul sera actualisé.

Comme vous pouvez le voir, avec seulement une formule très réduite, nous sommes arrivés à créer très facilement un tableau avec des données dynamiques et qui changent chaque fois que nous actualisons le calcul, en appuyant sur la touche F9.

    2. Générer un tableau de lettres aléatoires de A à Z

Vous savez que chaque caractère Windows (lettre, nombre, symbole, signe…) a un code spécial. Si nous prenons l’exemple des lettres majuscules de A à Z, leurs codes vont de 65 à 90. (Lisez sur Jeu de caractères ANSI et Unicode en cherchant sur google pour plus d’informations).

Si vous tapez par exemple : =CAR(65) dans une cellule, Excel vous affiche A

Choisissez un autre nombre de 65 à 90 pour afficher la lettre qui lui correspond.

J’ai fait cette petite introduction parce que mon but est de vous préparer à trouver la bonne formule utilisant MAKEARRAY et CAR pour créer un tableau de 2 lignes et de 6 colonnes qui va afficher aléatoirement des lettres majuscules de A à Z, et qui sera actualisé à chaque fois que l’on tape F9.

Voici un tableau pareil à ce que vous pourriez obtenir :

Générer un tableau de lettres aléatoires de A à Z


A vous donc de trouver cette formule et de la partager avec nous dans la zone commentaire ci-dessous.

Je serai à l’attente de votre réponse.

Bonne chance !

PARTAGEZ
    Blogger Comment
    Facebook Comment

2 commentaires:

Votre commentaire m'intéresse beaucoup :)