web-dev-qa-db-fra.com

Appeler IMPORTRANGE depuis une autre fonction

J'ai un tas de feuilles de calcul distinctes et je crée une feuille de calcul qui extrait les données de chacune des autres. Je dois également appliquer la formule COUNTUNIQUE à ces données. Si je tape simplement ce qui suit dans une cellule de la feuille de calcul d'aperçu

=COUNTUNIQUE(importRange("key","G2:G"))

la formule ne fonctionne pas. Il affiche une valeur de 1 et aucune demande d'accès à la feuille de calcul à partir de laquelle les données doivent être extraites.

Si, toutefois, je tape d’abord importRange("key","G2:G"), je reçois la demande d’accès à la feuille de calcul et, une fois celle-ci approuvée, les données sont renseignées, puis je peux ajouter la fonction COUNTUNIQUE autour de IMPORTRANGE et elle fonctionnera correctement. Cependant, je dois le faire dans une feuille distincte, sinon le message d'erreur indiquant que la plage ne peut pas être importée est écrasé car cela écrasera d'autres parties de la feuille de calcul.

Y a-t-il un moyen de contourner cela?

4
Nick5a1

En effet, la première invocation de importrange ne peut pas être imbriquée dans une autre fonction: la demande d'autorisation ne "bouillonne" pas (au départ, je pensais que c'était une erreur de la part de Google, mais ensuite je pensais qu'une seule commande pouvait être combinée plusieurs importrange en son sein, donc fournir un dialogue d’autorisation dans un tel cas serait très compliqué).

Mais vous n'avez pas besoin d'une feuille séparée pour gérer l'autorisation. Effectuez simplement le premier appel à la feuille de calcul avec une seule requête de cellule: importRange("key","A1"). Ensuite, cela peut être remplacé par le countunique que vous voulez. Vous pouvez également avoir une colonne avec des clés et une autre colonne avec une seule requête de cellule à des fins d'autorisation.

2
user79865