Aktiekemisten

Besök Aktiekemistens nya blogg på www.aktiekemisten.se. Där hittar du alla nya inlägg.

onsdag 16 juni 2021

Aktiekurser i Google Kalkylark

Detta är en uppdatering av ett tidigare inlägg. Då Avanza har uppdaterat sin hemsida behöver man hämta sin kod på annorlunda sätt om man använder sig av metod nr 2 i detta inlägg. 

Det kan finnas fler anledningar till att vilja göra ett eget kalkylark där man kan följa sina aktier. Aktiekemisten har gjort det av två anledningar. Dels att jag har aktier hos flera mäklare, dels att jag vill följa min faktiska vinst. Säljer man och köper lite då och då är det svårt att hålla full koll på vinsten, särskilt om man sätter in pengar ofta. I det här inlägget ska jag presentera två sätt att koda så att man kan följa sina aktiekurser i ett Google kalkylark.

Metod nr 1: Google Finance
För att hämta en aktiekurs med Google Finance behöver först hitta tickern för aktien. Detta gör du enklast genom att söka på aktiens namn där du sedan skriver ticker efteråt. I det här exemplet använder jag Investor A som har tickern STO:INVE-A.

I kalkylarket kommer jag sedan välja den cell där jag vill att kursen ska stå och skriva följande:

=googlefinance("sto:inve-a")

Svårare än så är det inte. Har du dock utländska innehav som du vill ha i svenska kronor blir det lite svårare. Låt Johnson&Johnson vara exempel nu. Då är tickern NYSE:JNJ. För att få valutaomvandling behöver man använda googlefinance funktionen två gånger enligt nedan:

=googlefinance("nyse:jnj")*googlefinance("usdsek")

Som man ser i formeln skriver man in valutorna i den ordningen man vill omvandla dem. I det här fallet från USD till SEK. Här gäller därför om hålla koll på valutaförkortningarna. De vanligaste man behöver använda är svenska kronor (SEK), danska kronor (DKK), norska kronor (NOK), amerikanska dollar (USD), euro (EUR) och kanadensiska dollar (CAD).

Metod nr 2: - Uppdaterat
Det är inte alla aktier som går att få in via Google Finance. Framförallt norska aktier är knepiga att få in. Äger man dessutom ETF:er behöver man även ta till detta sätt. I stället för att använda sig av tickers behöver man istället hemsideadressen till Avanza där ens innehav finns. Vill du exempelvis ha Akelius D måste du söka på det innehavet på Avanza:s gamla sida och sedan kopiera URL-adressen. I det här fallet: https://www.avanza.se/aktier/gamla-aktiesidan.html/1004199/akelius-residential-prop--d Denna adress ska sedan placeras i koden enligt nedan:

=MID(importXml("https://www.avanza.se/aktier/gamla-aktiesidan.html/1004199/akelius-residential-prop--d", "(//span[@class='pushBox roundCorners3'])[1]"),1,6)

Du kommer bara åt den gamla sidan i inloggad läge, men det finns ett sätt att komma runt det. Är du inte inloggad på Avanza kommer länken till Akelius D att se ut så här:


Det fetmarkerade i länken ovan ("om-aktien") behöver bytas ut mot "gamla-aktiesidan". Då funkar ditt Google Kalkylark igen.

Vill du istället sätta in ett annat innehav byter du URL-adressen mot det innehav du önskar. Har du ett utländskt innehav kan du kombinera detta med Google Finance. Gör som i exemplet med Johnson&Johnson så får du kursen i svenska kronor.

17 kommentarer:

  1. Tack för tipset om att ta kurserna från Avanza. Tidigare har jag tagit kurserna från Yahoo Finance, och där finns inte XACT Högutdelande eller Bahnhof så de kurserna har jag fått skriva in manuellt. Eftersom det bara var två värdepapper så var det ju inte så farligt, men nu slipper jag det också.

    SvaraRadera
  2. Skönt att kunna ha alla kurser uppdaterade automatiskt.

    SvaraRadera
  3. Hmm, funkar metod 2 fortfarande? Jag får det inte att fungera. Finns det något annat sätt? Hade varit riktigt nice att få det att funka :)

    SvaraRadera
    Svar
    1. Prova denna kod: VALUE(SUBSTITUTE(IMPORTXML("https://www.avanza.se/aktier/gamla-aktiesidan.html/1004199/akelius-residential-prop--d","//span[@class='pushBox roundCorners3']/text()"),",","."))

      Radera
    2. Hej,
      Jag är duktigt nyfiken på det här jag med, men kan ta mig tusan inte få ditt exempel att fungera. :-/

      Radera
    3. Om du vill kan du skicka ett mail till mig (se kontaktsidan längst upp), då kan jag titta på din kod.

      Radera
  4. Det gör tyvärr ingen skillnad. Står bara "Error" i cellen. Finns ens Avanzas gamla hemsida kvar?

    SvaraRadera
    Svar
    1. Ibland står det error i cellerna, även om det inte händer så ofta. Gamla hemsidan går att komma åt enligt det som står i inlägget.

      Radera
  5. Det här funkar, men jag använder Acousort som exempel... (tack för hjälpen Aktiekemisten):

    =VALUE(IMPORTXML("https://www.avanza.se/aktier/gamla-aktiesidan.html/719814/acousort";"//span[@class='pushBox roundCorners3']/text()"))

    I exemplet i kommentaren innan är det ett fel, där ett kommatecken ska vara ett semikolon.
    FEL : dential-prop--d" , "//span[@c
    RÄTT: dential-prop--d" ; "//span[@c


    SvaraRadera
    Svar
    1. Provade med semikolon som du skriver, men mitt google kalkylark ändrar det automatiskt till ett komma. Verkar som att det spelar roll vilket språk man har som grundinställning och vilket decimaltecken som ens kalkylark vill ha. Mina använder punkt som decimaltecken, och därför behöver jag ha med koden SUBSTITUTE, medan de som har ett komma som decimaltecken inte behöver det.

      Radera
  6. Hur ofta uppdateras det via avanza?

    SvaraRadera
    Svar
    1. Kan inte säga hur ofta, men det sker med regelbundna intervall. Kollade i mitt egna dokument, och då stämde kurserna ganska hyfsat.

      Radera
  7. Testa den här koden för att få in ETF:er från Avanza på ex Xact Sverige: =VALUE(IMPORTXML("https://www.avanza.se/aktier/gamla-aktiesidan.html/5649/xact-sverige";"//span[@class='pushBox roundCorners3']/text()"))
    samt nästa ex för FLXD: =VALUE(IMPORTXML("https://www.avanza.se/aktier/gamla-aktiesidan.html/1064231/franklin-libertyq-european-dividend-ucits-etf";"//span[@class='pushBox roundCorners3']/text()"))

    SvaraRadera
    Svar
    1. Tack. För min del funkar koden efter en liten justering som beror på vad ens Google Kalkylark tolkar som decimaltecken. Koden till Xact Sverige som funkar för mig är denna: =VALUE(SUBSTITUTE(IMPORTXML("https://www.avanza.se/aktier/gamla-aktiesidan.html/5649/xact-sverige","//span[@class='pushBox roundCorners3']/text()"),",","."))

      Radera

Obs! Endast bloggmedlemmar kan kommentera.