lördag 8 november 2025

Automatisera ditt kalkylark med GoogleSheets Del 2 (En kombinerad köphistorik)

Det går inte många timmar på ett dygn innan man läser något som får en att reflektera över hur konstigt samhället är. Vissa människor, och specifikt miljö-fascister och miljö-terrorister, får gång på gång begå brott utan att bli dömda som de brottslingar de faktiskt är. De kommer undan med att limma sig fast på flygplan, ta sig in på områden med tydligt märkta skyltar med både inträdesförbud och fotoförbud, kedja fast sig i träd och förstöra människors livsinkomst, åka med fartyg till krigsförande nationer (mot UDs inrådan) och bli hemflugna av regeringen.

Enligt svensk definition på terrorism, d.v.s utför man dessa handlingar kan man inte blunda för att man är en terrorist, så lyder den:

"Enligt denna definition är terroristbrott handlingar, till exempel mord, dråp, människorov, sabotage eller kapning, som allvarligt kan skada en stat eller mellanstatlig organisation om de syftar till att:

  • Injaga allvarlig fruktan hos en befolkning eller befolkningsgrupp.
  • Tvinga offentliga organ eller en mellanstatlig organisation att vidta eller avstå från att vidta en åtgärd.
  • Destabilisera eller förstöra grundläggande politiska, konstitutionella, ekonomiska eller sociala strukturer."

Inte konstigt att samhället håller på att fallera när dessa människor står över lagen, samtidigt som motsvarande aktioner i annat syfte än klimatfrågor resulterar i stränga domar och långa fängelsestraff. Det är skillnad på terrorister och terrorister när de borde vara helt lika inför lagen.

 Det är tyvärr inget nytt, i alla tider har pengar köpt människor fördelar med olika typer av lösningar. Nog om det och vidare till Del 2 i hur du skapar ett automatiserat kalkylark för dina aktier.

 

Skapa en flik med din köphistorik

I det förra inlägget så visade jag ett exempel på hur du kan kombinera alla dina transaktioner så du får en samlad bild av alla i en flik. Det är grunden för att kunna bearbeta datat i övriga flikar. Med grunden stabil så är det dags att skapa en flik för alla dina "Köptransaktioner".

Det innebär att vi också måste resonera lite kring vad som faktistk är ett "Köp" och varför. De allra flesta tänker nog att när man spenderar pengar på något så är det ett KÖP, och motsvarande när man säljer något så är det SÄLJ. Inte riktigt lika enkelt när man har en lång historik med olika varianter av "köp" och sälj" transaktioner.
 
Därför måste vi hantera alla köp, samt definiera dem i en egen flik så att vi senare kan justera varje del av kalkylarket individuellt om vi behöver justera andra flikar framöver.
 

Definiera sedan vad ett köp är

Tänk på att ett KÖP kan se ut på flera olika sätt och jag har valt att inkludera dessa transaktionstyper i min historik som ett köp:

  • KÖPT (självklart, det här är när vi lägger en order och köper något)
  • EM INLÄGG VP (det här är när man önskar teckna något, exempelvis IPO)
  • INLÄGG FISSION (när man får inlösen aktier av split)
  • TILLDELNING INLÄGG (exempelvis tilldelning teckningsrätter som går att sälja)
  • INLÄGG VP (skulle kunna vara flytt av värdepapper, eller namnbyte)
  • BYTE INLÄGG VP (skulle kunna vara flytt av värdepapper, eller namnbyte)
  • UTDELNING INLÄGG VP (man får ett tvingande köp via utdelning av annat bolag)
  • TECKNING LIKVID (när du tilldelats en teckningsrätt och du får tilldelning av aktien)
 
Beroende på hur din transaktionshistorik ser ut kanske du behöver ha andra typer av transaktioner här. Eftersom jag uteslutande handlar på Nordnet så är det ovan transaktionstyper jag har identifierat som ett "KÖP".
 
Syftet är alltså att sammanställa exakt vilka transaktioner jag klassificerar som ett KÖP i en och samma flik, så att jag i framtiden kan göra beräkningar från denna fliken.
 

 Skapa sedan en formel som hämtar all köphistorik

Här behöver vi skapa en formel som hämtar de transaktioner vi definierar ovan, men vi behöver också hämta ovan transaktioner under specifika omständigheter. Först och främst så skall formeln utgå från den kompletta transaktionshistoriken så vi int emissar något. D.v.s vi hämtar ALL data från fliken "Kombinerad_Transaktionshistorik" som vi skapade i Del 1.
 
Det finns flera sätt att lösa detta på men jag kommer att göra såhär:
  • Jag kommer hämta data från flik "Kombinerad_Transaktionshistorik" och använda "Regular Expressions" för att matcha de enklaste transaktionerna som inte har något beroende.
  • Sedan nestlar jag nästa villkor i en annan "Regular Expression" som matchar villkoret.
  • Och repeat för de beroenden/speciella villkoren jag har.
  • Det läggs "enkelt" in med en vanligt formel som sorteras och filtreras. 
 
1.  För att bryta ut punkterna ovan så börjar jag med att välja fliken "Kombinerad_Transaktionshistorik", alla kolumner och alla värden, sorterar den enligt original historiken så att man lätt kan följa, filtrerar den på mina villkor och kombinerar detta med "Regular Expressions".
 
Vi börjar med den enkla delen där vi skall fånga upp alla transaktioner som inte har några beroenden i mina köp:

KÖPT
TECKNING LIKVID
INLÄGG VP
TILLDELNING INLÄGG
INLÄGG FISSION
UTDELNING INLÄGG VP

Dessa har inga beroenden eftersom jag helt enkelt inte behöver göra något annat än att leta efter EXAKT dessa värden i fliken Kombinerad_Transaktionshistorik. Jag letar i en flik som heter "Transaktionstyp" där dessa texter skall förekomma.
 
Formeln för det är ganska enkel:

1
2
={Kombinerad_Transaktionshistorik!A1:AD1; SORT(FILTER(Kombinerad_Transaktionshistorik!A2:AD; 
(REGEXMATCH(Kombinerad_Transaktionshistorik!F2:F; "^(KÖPT|TECKNING LIKVID|INLÄGG VP|TILLDELNING INLÄGG|INLÄGG FISSION|UTDELNING INLÄGG VP)$"))
 
Notera: Ovan formeln kommer inte fungera utan resten av formeln eftersom det är ett nestlat villkor där vi sorterar och filtrerar flera villkor.
 
2. Nu kommer nästa villkor i FILTER från formeln ovan där jag väljer ut transaktionstypen "EM INLÄGG VP" fast endast om också Nordent specificerade detta med transaktionstexten "ÖNSKAR TECKNA". Detta gör att jag fångar upp när jag ansökt om att teckna värdepapper. Formeln byggs på med detta:
 
1
2
+
((Kombinerad_Transaktionshistorik!F2:F="EM INLÄGG VP")*(REGEXMATCH(Kombinerad_Transaktionshistorik!W2:W; "ÖNSKAR TECKNA")))
 
 3. Det sista villkoret i mitt FILTER blir att välja ut transaktionstypen "BYTE INLÄGG VP" fast endast om också Nordnet specificerade detta med transaktionstexten "SPLIT eller i kombo med INLÖSEN". Den här är lite knepig eftersom vi kan få nya aktier vid en split, eller via inlössen, eller vid en split med inlösen. Här måste vi fånga upp alla kombinationer och det är därför Regular Expressions är ett enkelt sätt att hantera det. Vi bygger på formeln med detta:
 
1
2
+
((Kombinerad_Transaktionshistorik!F2:F="BYTE INLÄGG VP")*(REGEXMATCH(LOWER(Kombinerad_Transaktionshistorik!W2:W); "split.*inlösen")))
 
 Nu är formeln nästan komplett och det sista vi behöver göra är bara att avsluta det första villkoret med sorteringen av filtreringen:
 
1
); 7; TRUE; 2; FALSE)}
 

Vi sorterar efter Kolumn 7 (Värdepapper namn) följt av Kolumn 2 (Datum) vilket gör att i Köphistoriken kan man nu följa respektive värdepapper och dess fullständiga KÖP-historik. TRUE/FALSE betyder "Stigande/Fallande". Nu är formeln komplett och kommer att fungera att klistra in, såhär ser den alltså ut helt komplett:

1
2
3
4
5
6
7
={Kombinerad_Transaktionshistorik!A1:AD1; SORT(FILTER(Kombinerad_Transaktionshistorik!A2:AD; 
(REGEXMATCH(Kombinerad_Transaktionshistorik!F2:F; "^(KÖPT|TECKNING LIKVID|INLÄGG VP|TILLDELNING INLÄGG|INLÄGG FISSION|UTDELNING INLÄGG VP)$"))
+
((Kombinerad_Transaktionshistorik!F2:F="EM INLÄGG VP")*(REGEXMATCH(Kombinerad_Transaktionshistorik!W2:W; "ÖNSKAR TECKNA")))
+
((Kombinerad_Transaktionshistorik!F2:F="BYTE INLÄGG VP")*(REGEXMATCH(LOWER(Kombinerad_Transaktionshistorik!W2:W); "split.*inlösen")))
); 7; TRUE; 2; FALSE)}

 Eftersom formeln är byggd för att fungera helt utan någon strukturering så kommer vi att lyfta in alla kolumner exakt så som de är döpta i originalfliken (Kombinerad_Transaktionshistorik).

 Det är relativt lätt att justera ovan formel och kombinera i olika riktningar beroende på behov, men om du tänker följa den här "enkla" guiden framöver så bör de finnas kvar då andra formler som hanterar GAV m.m. kommer att vara beroende på dessa transaktioner. 

I nästa del går vi igenom hur vi bygger en ny flik för Kombinerad_Säljhistorik baserat på all tillgänglig historik. 

Inga kommentarer:

Skicka en kommentar