Developpez.com - Rubrique Excel

Le Club des Développeurs et IT Pro

Microsoft Excel se dote de XLOOKUP, une nouvelle fonction de recherche,

Pour résoudre les nombreuses limitations de VLOOKUP et HLOOKUP

Le 2020-02-11 13:24:06, par Bill Fassinou, Chroniqueur Actualités
Microsoft a mis à jour Excel, l’un des logiciels les plus performants de sa suite bureautique Microsft Office. L’entreprise vient d’introduire une nouvelle fonction de recherche à Excel dénommée XLOOKUP. La nouvelle fonctionnalité est introduite pour résoudre les nombreuses limitations de VLOOKUP et HLOOKUP. Selon les caractéristiques de la fonction, elle devrait remplacer la fonction VLOOKUP qui est présente dans Excel depuis 34 ans environ en tant que fonction de recherche fondamentale. Elle devrait être très productive pour les opérations publicitaires et le PPC.

XLOOKUP est une nouvelle fonction puissante conçue par Microsoft pour répondre à de nombreuses limites connues de VLOOKUP. Pour les annonceurs et les spécialistes du marketing, cela signifie des rapports plus efficaces en passant moins de temps à effectuer des fonctions de contournement. Elle sera déployée pour les utilisateurs du programme Office 365 Insiders en premier. XLOOKUP est capable de rechercher des feuilles à la fois verticalement et horizontalement, ce qui n'était pas possible avec la fonction VLOOKUP.

Microsoft recommande d’utiliser à présent XLOOKUP lorsque vous avez besoin de trouver des éléments dans un tableau ou une plage par ligne. À titre illustratif, recherchez le prix d'une pièce automobile par le numéro de pièce, ou trouvez le nom d'un employé en vous basant sur son numéro d'employé. Avec XLOOKUP, vous pouvez rechercher un terme de recherche dans une colonne et renvoyer un résultat de la même ligne dans une autre colonne, quel que soit le côté de la colonne de renvoi. XLOOKUP a un fonctionnement très simple.


La fonction XLOOKUP recherche une plage ou un tableau, et renvoie un élément correspondant à la première correspondance qu'elle trouve. Si une correspondance n'existe pas, alors XLOOKUP renvoie à la place la correspondance la plus proche (approximative). XLOOKUP ne nécessite que trois entrées afin d'effectuer la recherche exacte la plus courante : XLOOKUP(lookup_value, lookup_array, return_array). En effet, “lookup_value” représente “ce que vous recherchez”, “lookup_array”, “où le trouver” et “return_array” répond à la question “que faut-il retourner ?

En outre, XLOOKUP réduit la nécessité de recourir à des solutions de contournement. De même, il vise à éliminer les limites suivantes de VLOOKUP définies par Microsoft :

  • par défaut, la correspondance est “approximative” : le plus souvent, les utilisateurs veulent une correspondance exacte, mais ce n'est pas le comportement par défaut de la fonction VLOOKUP. Pour avoir une correspondance exacte, vous devez définir le 4e argument à FALSE. Si vous l'oubliez (ce qui est facile à faire), vous obtiendrez probablement une mauvaise réponse ;
  • ne supporte pas les insertions/suppressions de colonnes : le 3e argument de VLOOKUP est le numéro de la colonne que vous souhaitez obtenir. Comme il s'agit d'un nombre, si vous insérez ou supprimez une colonne, vous devez incrémenter ou décrémenter le numéro de la colonne dans le VLOOKUP ;
  • impossible de regarder à gauche : VLOOKUP recherche toujours la première colonne, puis renvoie une colonne vers la droite. Il est impossible de retourner les valeurs d'une colonne vers la gauche, ce qui oblige les utilisateurs à réorganiser leurs données ;
  • impossible de chercher à l'arrière : si vous voulez trouver la dernière occurrence, vous devez inverser l'ordre de vos données ;
  • impossible de rechercher le prochain article plus important : lorsque vous faites une recherche “approximative”, seul l'article le plus petit peut être retourné et seulement s'il est correctement trié ;
  • réfère plus de cellules qu'il n'est nécessaire : le deuxième argument de VLOOKUP, table_array, doit s'étendre de la colonne de recherche à la colonne des résultats. Ainsi, il référence généralement plus de cellules qu'il n'en dépend réellement. Cela pourrait entraîner des calculs inutiles, réduisant ainsi les performances de vos feuilles de calcul.



XLOOKUP rendra sûrement l’utilisation d’Excel plus conviviale pour les annonceurs et les spécialistes du marketing qui s’en servent pour faire leurs rapports quotidiens. XLOOKUP réduira le temps nécessaire pour rapprocher et analyser les données provenant de sources diverses, telles que les plateformes publicitaires, les serveurs et les CRM. Elle pourra remplacer VLOOKUP, HLOOKUP et INDEX/MATCH. Elle permettra la sélection de deux colonnes au lieu de toute la plage. Elle permettra aussi d'insérer des colonnes dans la plage de données souhaitée sans avoir à changer les numéros de colonne.

Source : Microsoft

Et vous ?

Que pensez-vous de cette nouvelle fonction introduite dans Excel ?
L'avez-vous déjà testée ? Quelles sont vos remarques ?

Voir aussi

Laissez tomber Office 2019 et optez plutôt pour Office 365 et ses fonctionnalités basées sur l'IA, le nouveau slogan publicitaire de Microsoft

Microsoft Ignite 2019 : les annonces qu'il ne fallait pas rater lors de la conférence. Au programme Microsoft Office, Cortana, Microsoft Teams et Fluid Framework

Microsoft Office 365 reste l'application la plus populaire en entreprise et bat Google G Suite, d'après un rapport
  Discussion forum
25 commentaires
  • Pierre Fauconnier
    Responsable Office & Excel
    Envoyé par Mr NGANZI
    Un article rien que pour ça ?
    Dans la mesure où cette fonction change la vie des utilisateurs d'Excel (en bien, évidemment), elle me semble mériter au moins un article
  • jbrosset
    Membre régulier
    Merci pour cet article.
    Cette évolution de la fonction de recherche intéressera sûrement beaucoup d'utilisateurs d'Excel !
    Ce qui est étonnant, c'est que Microsoft ait attendu tant de temps pour le faire. Mais mieux vaut tard que jamais...

    A titre d'exemple de la lenteur de Microsoft, pour quand les opérations sur formes géométriques, ou la possibilité de dessiner à l'échelle, dans PowerPoint ?

    Microsoft a réalisé une suite bureautique absolument remarquable, au succès mérité. Mais il y a des lacune historiques incompréhensibles, qui perdurent.
  • laloune
    Membre éclairé
    XLOOKUP rendra sûrement l’utilisation d’Excel plus conviviale pour les annonceurs et les spécialistes du marketing qui s’en servent pour faire leurs rapports quotidiens.
    euh... ils représentent quoi dans la population d'utilisateurs d'Excel les "annonceurs et spécialistes du marketing" ? Ca va dans doute aider une paire de contrôleurs de gestion et de comptables hein
  • 78chris
    Expert éminent sénior
    Bonjour

    Ta question n'a rien à voir avec ce fil et le pollue inutilement

    Ton code fonctionne en remplaçant bien les . par des , mais il ne modifie pas le type de données qui sont typées en texte.

    Révise tes bases...
  • ec
    Membre confirmé
    "Elle [la fonction Xlookup] devrait être très productive pour les opérations publicitaires et le PPC."
    J’ai besoin d'explications :
    • qu'est ce que le PPC ?
    • pourquoi utile pour les opérations publicitaires ? J'y vois énormément d'autres possibilités. Est-ce une focalisation professionnelle de l'auteur ?
  • boisgontierjacques
    Membre chevronné
    Bonjour,

    >Les spécialistes en marketing essaieront de vous faire croire qu'elle est plus simple

    Elle n'est pas plus simple mais elle offre plus de possibilités



    Boisgontier
  • ec
    Membre confirmé
    Envoyé par 78chris


    Pour l'instant 365 insider seulement a priori...
    Non j'ai une version 365 Business et c'est déjà dessus. Il faut faire la mise à jour.

    Suivi des MAJ Office
  • Pierre Fauconnier
    Responsable Office & Excel
    Pour certaines solutions apportées par RECHERCHEX (pas toutes), on pouvait déjà "jouer" avec =SIERREUR(INDEX(...;EQUIV(...));"Pas trouvé"), et la rédaction/validation matricielle permettait de chercher sur plusieurs colonnes et de restituer plusieurs colonnes concaténées. Il est également possible, avec INEX-EQUIV, de rechercher sur base d'une condition qui rendrait VRAI, par exemple. A ce titre, RECHERCHEX simplifie la démarche et la rédaction des formules. Les deux illustrations suivantes permettent de voir comment rechercher dans plusieurs colonnes ou de récupérer dans une seule cellule les valeurs de plusieurs colonnes de la ligne trouvée. Par rapport à une succession de RECHERCHEV qui étaient pénalisants en terme de temps, il n'y a pas photo, c'est plus rapide puisque la recherche n'est effectuée qu'une seule fois. On remarque que la validation matricielle n'est pas nécessaire...*





    Lorsque l'on y ajoute la possibilité d'étendre la zone de résultat à des colonnes contiguës, voire à récupérer la ligne entière (voir l'illustration de ce message de EC), on remarque qu'il y a beaucoup de nouvelles possibilités qui s'ouvrent à nous pour une seule nouvelle fonction.

    En y ajoutant les nouvelles fonctions citées par Jacques Boisgontier (j'illustre la mise en place de certaines d'entre elles dans ce billet de blog), on se rend compte que ça a pas mal bougé pour nous simplifier la vie...

    Sur le constat général, je suis d'accord: La suite Office est extraordinaire pour 98%, mais les 2% manquants sont vraiment manquants...

    * L'obligation de valider les formules matricielles avec CTRL+SHIFt+ENTER a d'ailleurs disparu pour certains cas d'utilisation (par exemple INDEX/EQUIV multicolonnes), et la validation non matricielle de certaines syntaxes étendant automatiquement la plage de résultat... C'est une avancée dont il faudra encore mesurer les effets (fonctions TRI, FILTRE, UNIQUE, ... qui renvoient une matrice, <> plage, pouvant s'étendre sur une plage dynamique)...
  • 78chris
    Expert éminent sénior
    Bonjour

    Envoyé par patrick72
    La fonction RechercheH() avait un sens il y a 34 ans...

    Aujourd'hui, on attendrait plus une fonction excel qui fasse une recherche dans un vrai base de données ! (sans passer par du VBA)
    Dans une BD cela s'appelle une requête. Entre le filtre avancé et PowerQuery on a tout ce qu'il faut pour requêter (on l'avais déjà avec MsQuery)
    Là il s'agit de formule ce qui est différent...
  • boisgontierjacques
    Membre chevronné
    Bonjour,

    J'ai testé les fonctions Recherchex(), Filtre(), Tri(), Unique().
    Oon n'est pas limité à la première colonne pour la recherche.
    Elles sont effectivement intéressantes.

    Pour une valeur numérique cherchée dans une table croissante:

    =RECHERCHEX(A2;F2:F6;H2:H6;VRAI) renvoie Vrai si la valeur cherchée n'existe pas
    =RECHERCHEX(A2;F2:F6;H2:H6;VRAI;VRAI) renvoie la valeur inférieure si la valeur cherchée n'existe pas

    Pour un code cherché,:

    =RECHERCHEX(A12;F12:F16;H12:H16;FAUX) renvoi Faux si le code n'existe pas

    Boisgontier