web-dev-qa-db-fra.com

Extension de dget à une colonne dans Google Spreadsheet

Compte tenu de la formule suivante:

=dget(Sheet2!$A:$C,Sheet2!B$1,{"USER ID";$A2})

Existe-t-il un moyen de modifier cette formule afin qu'elle remplisse toutes les valeurs d'une colonne? J'ai essayé avec arrayformula en changeant $A2 pour $A2:$A, mais je ne peux pas le faire fonctionner.

3
Analog Eye

Je voudrais utiliser VLOOKUP au lieu de DGET; sa syntaxe est plus simple et fonctionne avec ARRAYFORMULA. Exemple:

Feuille2 colonnes A et B

+---------+-------+
| User Id | Name  |
+---------+-------+
|    4444 | Grace |
|    1111 | Jon   |
|    2222 | Tim   |
+---------+-------+

Une autre feuille porte les numéros 1111, 2222, 4444, 2222 dans les cellules A2-A5.

Entrer en B2 la formule

=ARRAYFORMULA(VLOOKUP(A2:A5,Sheet2!A:B,2,FALSE))

va remplir le tableau

+------+-------+
| 1111 | Jon   |
| 2222 | Tim   |
| 4444 | Grace |
| 2222 | Tim   |
+------+-------+

Mais vous voudrez probablement que =ARRAYFORMULA(VLOOKUP(A2:A,Sheet2!A:B,2,FALSE)) évite de spécifier la dernière ligne. Comme cela a été écrit, cela fonctionnera, mais produira un ensemble d'erreurs # N/A dans les lignes vides, car VLOOKUP échoue lorsqu'on lui donne une chaîne vide en tant que clé. Ceux-ci peuvent être supprimés avec IFERROR: changez B2 en

=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A,Sheet2!A:B,2,FALSE)))
2
user79865