J'ai besoin d'aide pour extraire dynamiquement une valeur d'une autre feuille de calcul Google, comme ceci: FILE1 a 0
ou 1
valeurs dans la colonne G. Je souhaite maintenant extraire la valeur de la colonne G de FILE1 avec un numéro de ligne spécifié dans B7 dans FILE2.
J'ai appris que INDIRECT
pourrait résoudre le bit dynamique extrait de la colonne G avec B7 comme numéro de ligne, comme ceci:
=INDIRECT("G"&B7)
mais je ne peux tout simplement pas le faire fonctionner avec IMPORTRANGE
:
=IMPORTRANGE("KEY";indirect("Sheet1!G")&B7)
=IMPORTRANGE("KEY", "Sheet1!G"; indirect(&B7))
Les exemples ci-dessus me donnent simplement mauvaise interprétation de la formule erreur. Est-ce possible avec Google Sheets et si oui, comment?
Le deuxième argument de importrange
doit être chaîne, pas une référence de cellule. La commande indirect
prend une chaîne et renvoie une référence de cellule, ce qui n'est pas ce dont vous avez besoin. Juste utiliser
=IMPORTRANGE("KEY"; "Sheet1!G"&B7)
Pour clarifier la différence:
"B4"
, "Sheet1!A3"
, "Sheet1!A"&E2
B4
, indirect("Sheet1!A3")
, indirect("Sheet1!A"&E2)
Au lieu d'imbriquer une fonction comme INDIRECT dans IMPORTRANGE, placez IMPORTRANGE dans une autre fonction telle que FILTER ou INDEX , entre autres.
Pour le cas du PO, la formule pourrait être la suivante
=INDEX(IMPORTRANGE(spreadsheet_key,"Sheet1!G:G"),B7)
IMPORTRANGE nécessite deux arguments:
range_string devrait être une chaîne qui est une référence bien construite en notation A1. Il peut s'agir d'une référence de cellule ou de plage, mais la valeur de la cellule/plage référée doit être une chaîne.
Les exemples fournis par l'OP, outre qu'INDIRECT ne fonctionne pas comme prévu, n'ont pas permis de construire la chaîne. Les détails de la construction des chaînes doivent être expliqués dans une question spécifique, je pense.
FILTER peut renvoyer une ou plusieurs valeurs et nécessite au moins deux arguments:
INDEX renvoie une seule valeur et nécessite au moins deux arguments:
Pour les utilisateurs qui souhaitent faire la même chose, mais échanger le nom de la feuille (au lieu du nom de la cellule), ils peuvent utiliser la formule suivante.
= IMPORTRANGE ("KEY", A4 & "! E2: E")
... où A4 contient le nom de la feuille spécifique que vous souhaitez référencer dans votre autre feuille de calcul et E2: E est la plage que vous souhaitez importer à partir de cette autre feuille de calcul.