Tahám data z konkrétní kotace na finviz.com. Např. týdenní zhodnocení ETF SCHG bych získal tímto vzorcem:
Kód: Vybrat vše
=SUBSTITUTE(INDEX(IMPORTHTML("https://finviz.com/quote.ashx?t=SCHG", "table", 11), 1, 12), "*", "")
Když půjdeš na stránku této kotace (
https://finviz.com/quote.ashx?t=SCHG), pod grafem vidíš tabulku. Důležité jsou pak ty parametry
1 a
12 funkce
INDEX. Ty znamenají, že chceš vytáhnout hodnotu z 1. řádku ve 12. sloupci této tabulky. Takto tedy můžeš získat i další hodnoty, jako třeba rozdíl od ročního maxima (52W High), který je na 7. řádku v 10. sloupci. Vzorec pro 52W High tedy vypadá takto:
Kód: Vybrat vše
=SUBSTITUTE(INDEX(IMPORTHTML("https://finviz.com/quote.ashx?t=SCHG", "table", 11), 7, 10), "*", "")
Každé číslo, které vytáhneš, je z obou stran obaleno hvězdičkou (*), s čímž funkce
SUBSTITUTE dělá to, že tyto hvězdičky nahradí za nic, neboli smaže je.
Výsledek stačí zformátovat jako procenta a máš hotovo.
Pak už si to můžeš libovolně zlepšit, jako např. že si dáš tickery pod sebe do tabulky a ve vzorci se na ně jen odkážeš. Pokud buňka A1 tvého dokumentu bude obsahovat text "SCHG", pak stačí pozměnit vzorec na:
Kód: Vybrat vše
=SUBSTITUTE(INDEX(IMPORTHTML("https://finviz.com/quote.ashx?t=" & $A1, "table", 11), 7, 10), "*", "")
Pokročilejší vylepšení pak zahrnují třeba to, že pokud z každého tickeru čerpáš hodně různých informací, pro každou buňku se načítá kotace z finviz.com znovu, tudíž načtení tvého dokumentu může chvíli trvat. Pak je dobrý nápad si na vedlejší list dokumentu nejprve rozbalit celou tabulku konkrétního tickeru přes
IMPORTHTML a pak už se jen odkazovat na konkrétní buňky. Pro každý ticker načteš kotaci z webu jen jednou a v mém případě se tedy z internetu stahuje 8x méně dat.