web-dev-qa-db-fra.com

Obtenir la somme de chaque ligne d'une table importée avec Importhtml

J'ai découvert comment importer un tableau HTML dans des feuilles de calcul Google, mais existe-t-il un moyen de additionner une ligne?

Je veux obtenir une somme du revenu total du Nasdaq.

Cela m'a permis d'extraire les données trimestrielles du Nasdaq:

=arrayformula(index(importhtml("http://www.nasdaq.com/symbol/ko/financials?query=income-statement&data=quarterly", "table",0)))

Je pensais pouvoir résumer toute la ligne en ajoutant ceci à la fin:

sum(c2+d2+e2+f2)))

Cela ne fonctionne pas et j'obtiens une erreur:

=arrayformula(index(importhtml("http://www.nasdaq.com/symbol/ko/financials?query=income-statement&data=quarterly", "table",0),sum(c2+d2+e2+f2)))))

Suis-je censé simplement trouver les données et les additionner au lieu de les additionner après avoir extrait les données?

1
Tyler Durden

Je ne vois pas pourquoi vous avez arrayformula et index ici; ils ne font pas grand chose (hormis le fouillis des index avec le formatage des dates et des devises). Je ne vois pas ce que "0" est censé faire dans la commande importhtml , non plus.

Pour obtenir la somme de colonnes particulières, vous pouvez utiliser query .

=query(importhtml("http:...", "table"), "select Col1, Col3+Col4+Col5+Col6 label Col3+Col4+Col5+Col6 'Total'")

(La partie label Col3+Col4+Col5+Col6 'Total' est optionnelle, elle rend l’en-tête plus agréable.)

Si vous souhaitez également avoir les données du trimestre, incluez également la colonne des trimestres; vous pouvez également en profiter pour les réorganiser chronologiquement

=query(importhtml("http:...", "table"), "select Col1, Col3, Col6, Col5, Col4, Col3+Col4+Col5+Col6 label Col3+Col4+Col5+Col6 'Total'")

Enfin, notez que les dates de fin de chaque trimestre ne sont pas le genre de chose que nous voulons additionner. Une façon d’éviter de les ajouter consiste à utiliser le troisième paramètre de query, le nombre d’en-têtes:

=query(..., "...", 2)

Cela indique à la requête que la deuxième ligne est également un en-tête; son contenu sera donc ajouté à l'en-tête. Une autre solution consiste à ajouter une clause where à la chaîne de requête pour exclure cette ligne:

select ... where Col1 != 'Quarter Ending:' label ...
1
user79865