måndag 22 april 2019

Importera fondkurser från Avanza till Googledocs

Signaturen Dalgren Invest på Twitter har nu tagit fram en ny metod för att hämta fondkurser från Avanza till Googledocs.

Man får söka fram den fond man är intresserad av i fondlistan och sedan kopiera in webbadressen i koden nedan. Det är viktigt att det bara filtreras fram den fond man är intresserad av i fondlistan.

=IMPORTXML("URLAVANZA"; "// td [@class='overview fundListNav noSort']")

17 kommentarer:

Breitenfelt sa...

Jag får inte detta att fungera, denna länk har jag lagt inför Safe Play:

=IMPORTXML("https://www.avanza.se/fonder/om-fonden.html/269548/safe-play"; "// td [@class='overview fundListNav noSort']")''

Hur skall en korrekt länk se ut?

Gustav sa...

Denna länk funkar för mig:

=IMPORTXML("https://www.avanza.se/fonder/lista.html?disableSelection=false&name=safe+play&sortField=CHANGE_IN_SEK_SINCE_ONE_YEAR&sortOrder=DESCENDING&activeTab=overview"; "// td [@class='overview fundListNav noSort']")

Gustav sa...

Det är alltså inte länken till fondsidan som skall infogas utan länken till den sökning i fondlistan som resulterar i bara den fond man är intresserad av.

Haterbrigaden sa...

Hej,

Nu verkar möjligheten att importera från Avanza slutat fungera igen. :(

Någon som har en ny lösning?

Gustav sa...

Haterbrigaden: Du får se till att använda en länk till den gamla fondlistan så funkar importen som förut. Se t ex denna: =IMPORTXML("https://www.avanza.se/fonder/lista-old.html?disableSelection=false&name=länsförsäkringar+global+in&sortField=CHANGE_IN_SEK_SINCE_ONE_YEAR&sortOrder=DESCENDING&activeTab=overview"; "// td [@class='overview fundListNav noSort']")

Haterbrigaden sa...

Stort tack Gustav! :D

Är väl bara en tidsfråga innan de ändrar något så att det inte fungerar igen men just nu är Google-arket alive and kickin' igen.

Tack så mycket återigen.

Unknown sa...

Hej,
jag försöker få till en länkning av fondkurser till google sheets. Jag har försökt med förslagen enl ovan utan framgång. Misstänker att jag inte länkar till sökning av den fond jag vill ha NAV kurs på enl Gustavs inlägg ovan. Tacksam för hjälp och förslag på Vad/hur exakt man kopierar söklänken från tex Avanza?
Ta "JPM Greater China A (dist) USD" som ett exempel.
Tack på förhand !

Gustav sa...

Unknown:

Den aktuella importkoden funkar bara för den gamla listan så du får se till att det är den du utgår ifrån. Så här ser det ut för din exempelfond:

=IMPORTXML("https://www.avanza.se/fonder/lista-old.html?disableSelection=false&name=jpm+great&sortField=CHANGE_IN_SEK_SINCE_ONE_YEAR&sortOrder=DESCENDING&activeTab=overview"; "// td [@class='overview fundListNav noSort']")

Unknown sa...

Tack Gustav!

Unknown sa...

Metoden fungerar för de flesta fonder men när det finns fonder med samma namn med endast liten skillnad i suffix eller liknande blir det problem.
Exempel är Öhman Global Hållbar A

(https://www.avanza.se/fonder/lista-old.html?disableSelection=false&name=%C3%B6hman+global+h%C3%A5llbar+a&sortField=CHANGE_IN_SEK_SINCE_ONE_YEAR&sortOrder=DESCENDING&activeTab=history)

Tacksam för bra sätt att lösa detta.

Malmoiten sa...

Hej!

Jag har mitt google sheet i amerikanskt format, dvs mina siffror använder en punkt som avskiljare mellan kronor och ören. Finns det något sätt att hämta dessa fondkurser så att man får en punkt istället för kommatecken?

några idéer på workarounds?
Mvh

minimalism sa...

Peta in hela import-strängen där det står XXX så konverterar du komma till punkt efter importeringen. =VALUE(SUBSTITUTE(XXX;",";"."))

Unknown sa...

Hej!
Tack för denna tråd. Efter mycket trixande så lyckas jag fatta hur jag kodar in för att hämta aktuell kurs från Avanza! Men till min stora förtret så lyckas jag inte få ihop värdet i slutändan får felkod att:

Fel
Funktionen MULTIPLY parametern 2 förväntar värdena tal. Men 158,19 är text och går inte att tvinga till tal.

Hur kan jag lösa detta?

Tacksam för svar,

Ha de fint!

Simon

Haterbrigaden sa...

Hej och tack för all hjälp innan. Nu har Avanza uppdaterat fondlistan igen och med det så fungerar inte den gamla formeln. Någon som har en lösning/ny formel?

minimalism sa...

Japp. Orkade inte med Avanza så jag löste det genom att hämta fondkurserna från fondmarknaden.se istället.

Sök efter fonden du vill ha och peta in den i formeln nedan.

=VALUE(SUBSTITUTE(importxml("https://fondmarknaden.se/Fonder/Fondoversikt/25613.aspx","//*[@id='ctl00_mastercontent_fundDetailsHeader_lblFundNAV']"),",","."))

Vill du inte konvertera komma till en punkt så kör bara med formeln nedan.

=IMPORTXML("https://fondmarknaden.se/Fonder/Fondoversikt/25613.aspx","//*[@id='ctl00_mastercontent_fundDetailsHeader_lblFundNAV']")

Unknown sa...

Hej
Jag förstår inte riktigt hur din formel fungerar. Kan du skriva ett exempel på tex fonden "Storebrand Aktiefond Europa A SEK"
Tack på förhand!

Gustav sa...

Unknown: Den här formeln funkar inte längre för att hämta fondkurser från Avanza.