031

Cet article explique comment faire correspondre toutes les valeurs d’un tableau et les récupérer dans différentes cellules. Ceci est similaire à la recherche de plusieurs valeurs.

Formule générique

{=INDEX(names,SMALL(IF(groups=group_name,ROW(names)-MIN(ROW(names))+1),COLUMNS(expanding ranges))), “--List Ends--”)}

Trop de fonctions et de variables !!!. Voyons quelles sont ces variables.

Noms: c’est la liste des noms.

Groupes: La liste des groupes auxquels ces noms appartiennent également.

Group_name: la référence du nom du groupe.

link: / excel-range-name-expansion-references-in-excel [Expanding ranges]: c’est une plage en expansion qui est utilisée pour obtenir un nombre croissant lorsqu’elle est copiée vers la droite.

Exemple: extraire les noms des employés dans différentes colonnes en fonction de leur entreprise.

030

Supposons que vous ayez un tableau des employés regroupés en fonction de leur entreprise. La première colonne contient les noms des employés et la deuxième colonne contient le nom de l’entreprise.

Maintenant, nous devons obtenir le nom de chaque employé dans différentes colonnes en fonction de leur entreprise. En d’autres termes, nous devons les dissocier.

Ici, j’ai nommé A2: A10 en tant qu’employé et B2: B10 en tant que société, de sorte que la formule soit facile à lire.

Écrivez cette formule matricielle en F2. Utilisez CTRL + MAJ + ENTRÉE pour entrer cette formule.

{=INDEX(Employee,SMALL(IF(Company=$E2,ROW(Employee)-MIN(ROW(Employee))+1),COLUMNS($E$1:E1))), “--List Ends--”)}

Copiez cette formule dans toutes les cellules. Il extraira chaque nom individuel dans les différentes colonnes en fonction de leur groupe.

031

Comme vous pouvez le voir dans l’image ci-dessus, chaque employé est séparé dans différentes cellules.

Alors, comment fonctionne cette formule?

Pour comprendre la formule, regardons la formule de G2 qui est = IFERROR (INDEX (Employee, SMALL (IF (Company = $ E3, ROW (Employee) -MIN (ROW (Employee)) + 1), COLUMNS ($ E $ 1: F2))), « – Fin de la liste–« )

La mécanique est simple et presque la même que link: / lookup-formulas-vlookup-multiple-values ​​[multiple VLOOKUP formule]. L’astuce consiste à obtenir le numéro d’index de chaque employé de différents groupes et à le transmettre à la formule INDEX. Ceci est fait par cette partie de la formule.

IF (Société = $ E3, lien: / lookup-and-reference-excel-row-function [ROW] (Employee) -MIN (`link: / lookup-and-reference-excel-row-function [ROW] `(Employé *)) + 1):

Cette partie renvoie un tableau d’index et false pour le nom de la société dans $ E3, qui contient «Rankwatch».

\ {FALSE; 2; FALSE; 4; FALSE; FALSE; 7; FALSE; 9}.

Comment? Détruisons-le de l’intérieur.

Ici, nous faisons correspondre le nom de la société en $ E3 avec chaque valeur de la plage de société (Société = $ E3).

Cela renvoie un tableau de vrai et faux. \ {FALSE; TRUE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE; TRUE}.

Maintenant, la fonction IF exécute ses instructions TRUE pour TRUE, qui est link: / lookup-and-reference-excel-row-function [ROW] (Employee) -MIN (`link: / lookup-and-reference-excel- fonction-ligne [ROW] `(Employé)) + 1.

Cette partie renvoie cette partie renvoie un tableau d’index allant de 1 au nombre d’employés \ {1; 2; 3; 4; 5; 6; 7; 8; 9}. La fonction if affiche uniquement les valeurs de TRUE, ce qui nous donne à son tour \ {FALSE; 2; FALSE; 4; FALSE; FALSE; 7; FALSE; 9}.

La formule actuelle est simplifiée en = IFERROR (INDEX (Employee, SMALL (\ {FALSE; 2; FALSE; 4; FALSE; FALSE; 7; FALSE; 9}, COLUMNS ($ E $ 1: F2))), « – Fin de la liste – « ). Comme nous le savons, la petite fonction renvoie la nième plus petite valeur d’un tableau. COLUMNS ($ E $ 1: F2) ceci renvoie 2. La fonction SMALL renvoie la deuxième plus petite valeur du tableau ci-dessus, qui est 4.

Maintenant, la formule est simplifiée = IFERROR (INDEX (Employee, 4), « – List Ends–« ). Maintenant, la fonction INDEX renvoie simplement le quatrième nom du tableau des employés qui nous donne «Sam».

Alors oui, voici comment extraire les noms de groupes dans différentes colonnes en utilisant link: / excel-range-name-expansion-references-in-excel [INDEX], link: / statistics-formulas-excel-small-function [SMALL ] `, lien: / lookup-and-reference-excel-row-function [ROW] `, COLUMNS et IF function. Si vous avez le moindre doute concernant cette fonction ou si elle ne fonctionne pas pour vous, faites-moi savoir la section commentaires ci-dessous.

Télécharger le fichier: