web-dev-qa-db-fra.com

Importer une plage de feuille de calcul Google si une colonne contient une valeur particulière

Je souhaite importer une plage de données d'une feuille de calcul Google (1) dans une autre (2), mais uniquement lorsque la colonne J de la feuille de calcul 1 contient la mention "oui".

J'utilise la formule suivante:

=query(ImportRange("0AgbNxxZ5QnpGdEU2R3BLVDlhd0t6VlhCbS1kQWNYT2c","Renewals!B:C"),"select Col2, Col3, Col5 where Col10='Yes' ")

(que j'ai haché ensemble après avoir regardé sur les forums et YouTube!)

Mais il continue à revenir avec des erreurs: Col10 n'existe pas, etc.

Comment puis-je le réparer?

2
user54539

Il y a deux choses que vous devez prendre en compte.

Considération

  1. La fonction IMPORTRANGE nécessite deux paramètres (chaînes):
    • clé de calcul
    • plage de données
      La plage de données doit correspondre au nombre de colonnes que vous êtes sur le point d'utiliser. Dans votre cas, vous avez sélectionné uniquement les colonnes B et C. Par conséquent, aller au-delà de col2 aboutira à un échec.
  2. Il existe deux manières différentes d’utiliser un paramètre:
    • nombres
    • des cordes

Les données

enter image description here

Nombre

=QUERY(                                                // data
  IMPORTRANGE(
    "0AluAYY6ZHeWYdE5XampzQVl4dVpxZ3FoVW9mUkdwQkE",    // spreadsheet key 
    "DATA!A:C"                                         // datarange
  ), 
  "SELECT Col1 WHERE Col3=" & C2, 0)                   // query
)

enter image description here

Chaîne

=QUERY(                                                // data
  IMPORTRANGE(
    "0AluAYY6ZHeWYdE5XampzQVl4dVpxZ3FoVW9mUkdwQkE",    // spreadsheet key 
    "DATA!A:C"                                         // datarange
  ), 
  "SELECT Col1 WHERE Col2=" & "'" & B2 & "'"           // query
)

enter image description here

Exemple

J'ai créé un exemple de fichier pour vous:

2
Jacob Jan Tuinstra

Réponse courte

Remplacez Renewals!B:C par Renewals!A:J

Explication

Le problème est que le deuxième paramètre de la fonction QUERY () fait référence à la colonne 10, tandis que les colonnes spécifiées par la plage dans la fonction IMPORTRANGE () n'en incluent que deux.

La solution pourrait être
1. Pour modifier le paramètre de plage de IMPORTRANGE () afin d'inclure suffisamment de colonnes.
2. Pour modifier le paramètre select de la fonction QUERY () afin de faire référence uniquement aux colonnes disponibles.

Comme la question disait qu'il est nécessaire que le résultat n'inclue que les lignes où les valeurs de la colonne J sont Yes, la solution est 1.

1
Rubén