Behöver du hjälp med Excel, Google sheets/kalkylark? | Ställ din fråga här! 🤓

Hmm, “faktiskt kan excel” låter ju lite aggressivt samtidigt som man inte alls behöver kunna excel för att svara på din fråga.

man låser kolumn eller rad eller båda med $ framför värdet du vill låsa.

Tex B4. Vill du låsa kolumn skriver du $B4 och vill du låsa rad skriver du B$4 vill du låsa båda $B$4. Man kan även markera referensen i formeln och trycka på F4 för att cykla genom olika låsningar.

3 gillningar

Jag försökte att skoja till det på min egen bekostnad men det kanske inte flög riktigt hela vägen fram då :wink:

Hursomhelst - det där verkar ju enkelt. Borde jag klara av! :sunglasses:

1 gillning

Översatte din formel till svenska och testade. Den fungerade utan fel:

=OMFEL(OMFEL(AKTIEHISTORIK("XSTO:ERIC B"; ARBETSDAGAR(SLUTMÅNAD(N26; 0)+1; -1);;;0;1); AKTIEHISTORIK("XSTO:ERIC B";ARBETSDAGAR(IDAG();-1);;;0;1)); AKTIEHISTORIK("XSTO:ERIC B";ARBETSDAGAR(IDAG();-2);;;0;1))

Skulle tipsa om att börja om i nytt ark/fil och testa.

Börjar nå botten av tunnan för åtgärder.

OT: var försiktig när ChatGPT översätter formler. Den hittade på icke-existerande LAGERHISTORIK (från STOCKHISTORY) och lät väldigt övertygande. Gick bra att bara kolla upp dem i en lista: https://infocell.se/oversattning-funktioner-engelska-svenska-excel/

1 gillning

Ja… Det är en ganska stor fil, men väldigt liten i excelmått mätta. Jag vet folk som använder det som om det är en databas, och då fungerar beräkningarna som de skall - men det laggar kopiöst… Så det skall inte vara några konstigheter, jag har bara 4 flikar och är inne på Z50 i fjärde fliken. Borde ju inte vara något knepigt.

Får se om jag har samma aber nästa månad. Då borde första ARBETSDAGAR(SLUTMÅNAD( iallafall ge rätt resultat, så får vi se om de andra går lika bra. Min graf gör vad den skall nu åtminstone


Blå streckad: Investerat kapital i aktien (sparkonto utan ränta)
Grön: mitt värde i specifik aktie
Orange prickad: Ifall jag sparat i bitcoin istället, mitt såkallade REGRETindex

För tillfället 75% ekonomisk ångest haha.

2 gillningar

Jag gillar ditt ambitiösa sätt till självplågeri.

Lycka till och säg till hur det går/om det löser sig.

2 gillningar

Hur kan man göra för att få värdet i kolumn B att uppdateras automatiskt, varje dag? Nu behöver jag manuellt skriva in aktuellt värde.

Blad 2.

1 gillning

Funktionen XLOOKUP kan leta efter datum och returnera värde i samma rad, men du måste “hårdkoda” in det manuellt varje dag ändå, för att den kommer alltid ändra till dagens datum och kurs varje dag du öppnar bladet.
Laborera med datumet så kanske det går att förstå vad jag menar: Patzinga Copy of Kopia Ombalanseringsblad - Google Tabellen

Tror att du måste använda dig av något script för att få till det, liknande: google sheets - How to obtain the value of a cell daily and store it on a column each new row representing a new day? - Stack Overflow

2 gillningar

Har ett Google kalkylark som jag formaterat för utskrift på ett speciellt sätt.
Nu vill jag kopiera alla format (även utskriftsformat) till nytt blad,
men får inte med utskriftsformateringen …
Tacksam för hjälp!

Du måste hitta ett web API som har datum som argument.
Nu har du ett som ger nuvarande/senaste kurs.
Det är inget som google sheets kan fixa.
(Jag gjorde en snabb koll och jag hittade ingen, men det måste ju finnas??)

Jag frågade Copilot:

Finns det något web API som har datum som argument?

Ja, det finns flera webb-API:er som tar datum som argument. Här är några exempel:

  1. Java REST API: I Java kan du skapa ett REST API där du skickar datum som en URL-parameter¹. Datumformatet kan vara “dd/MM/yyyy HH:mm”. Du kan använda följande URL för att anropa API:et: http://localhost:8089/stay/datecheck?dateCheckIn={dateCheckIn}. Här är dateCheckIn datumet du vill skicka.

  2. ASP.NET Web API: I ASP.NET kan du också skicka datum som en parameter till ditt Web API². Du kan till exempel skicka ett UTC-datum som “2014-12-31T22:00:00.000Z” till ditt API.

  3. API Date: API Date är ett REST API som ger aktuellt datum och tid³. Du kan få svar i tre olika format: JSON, XML eller som vanlig text. Dessutom kan du anpassa mönstret för ditt datum och tid i API-svaret.

Kom ihåg att när du skickar datum som en parameter i URL:en, måste du se till att datumformatet är korrekt och att det är URL-kodat korrekt. Till exempel, i stället för att använda ett mellanslag, använd %20. I stället för ett snedstreck, använd %2F. Och i stället för ett kolon, använd %3A¹.

Observera att dessa är bara exempel och det finns många andra API:er som kan ta datum som argument. Du kan behöva anpassa dessa exempel baserat på dina specifika behov och den teknik du använder.

funkar nåt av detta?

  1. Localhost … nej!
  2. ???nej!
  3. Nej!

See den här tråden.

Där finns det många exemple, jag har inte läst hela tråden.

2 gillningar

Det går säkert att automatisera detta helt. Riktigt så enkelt får du dock inte :wink:.

För att du ska se det inte är något farligt du kör kan du se skriptet i sin helhet nedanför med ursprungliga kommentarer. Det är genererat av ChatGPT.

Steg ett är att klistra in skriptet nedanför via “Tillägg” > “Apps Script” och spara. Skriptet kopierar information från cell F21 och G19 i “Ombalanseringsblad” och sen klistrar in det på första lediga raden i respektive plats i bladet “Diagram”. Det är namnet jag döpt ditt andra blad i arket. Du får också döpa om det eller ändra i skriptet.

function copyDataToDiagramSheet() {
  // Source sheet and range
  var sourceSheetName = 'Ombalanseringsblad';
  var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sourceSheetName);
  var sourceValue1 = sourceSheet.getRange('F21').getValue();
  var sourceValue2 = sourceSheet.getRange('G19').getValue();

  // Destination sheet and range
  var destinationSheetName = 'Diagram';
  var destinationSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(destinationSheetName);

  // Find the first empty row in the B column of the destination sheet
  var firstEmptyRowB = 1;
  while (destinationSheet.getRange('B' + firstEmptyRowB).getValue() !== '' && firstEmptyRowB <= destinationSheet.getLastRow()) {
    firstEmptyRowB++;
  }

  // Find the first empty cell in the A column of the destination sheet
  var firstEmptyCellA = 1;
  while (destinationSheet.getRange('A' + firstEmptyCellA).getValue() !== '' && firstEmptyCellA <= destinationSheet.getLastRow()) {
    firstEmptyCellA++;
  }

  // Paste values from source to destination
  destinationSheet.getRange('B' + firstEmptyRowB).setValue(sourceValue1);
  destinationSheet.getRange('A' + firstEmptyCellA).setValue(sourceValue2);
}

Steg 2 blir att skapa ett till skript som ger en meny (eller om man vill, en knapp) som kör skriptet. I vårt fall blir det en meny:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Custom Menu')
    .addItem('Copy Data to Diagram Sheet', 'copyDataToDiagramSheet')
    .addToUi();
}

Resultatet när det andra skriptet körs är att du har en Custom Menu som du kan köra skriptet ifrån. Det går säkert att skriva om det här så det körs en gång per dag och automatiskt.

Tillägger att jag är nybörjare på detta så det är mycket trial and error :grimacing:

1 gillning

Här är en automatisk variant.

Den här kollar om skriptet körts idag varje gång arket öppnas. Har det inte gjort det så körs det. Det vill säga kopierar dina celler och lägger till dem på “Diagram”.

Det fungerade för mig men reserverar mig för ev. fel. :cowboy_hat_face:

// Function to copy data to Diagram sheet
function copyDataToDiagramSheet() {
  // Your existing copyDataToDiagramSheet code
  var sourceSheetName = 'Ombalanseringsblad';
  var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sourceSheetName);
  var sourceValue1 = sourceSheet.getRange('F21').getValue();
  var sourceValue2 = sourceSheet.getRange('G19').getValue();

  var destinationSheetName = 'Diagram';
  var destinationSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(destinationSheetName);

  var firstEmptyRowB = 1;
  while (destinationSheet.getRange('B' + firstEmptyRowB).getValue() !== '' && firstEmptyRowB <= destinationSheet.getLastRow()) {
    firstEmptyRowB++;
  }

  var firstEmptyCellA = 1;
  while (destinationSheet.getRange('A' + firstEmptyCellA).getValue() !== '' && firstEmptyCellA <= destinationSheet.getLastRow()) {
    firstEmptyCellA++;
  }

  destinationSheet.getRange('B' + firstEmptyRowB).setValue(sourceValue1);
  destinationSheet.getRange('A' + firstEmptyCellA).setValue(sourceValue2);

  // Store the last run date
  var scriptProperties = PropertiesService.getScriptProperties();
  scriptProperties.setProperty('LAST_RUN_DATE', new Date().toDateString());
}

// Function to run the copyDataToDiagramSheet function on sheet open
function onOpen() {
  // Check if the script has already been run today
  var scriptProperties = PropertiesService.getScriptProperties();
  var lastRunDate = scriptProperties.getProperty('LAST_RUN_DATE');

  var today = new Date().toDateString();
  
  if (lastRunDate !== today) {
    // Run the script if it hasn't been run today
    copyDataToDiagramSheet();
  }
}
1 gillning

Här kommer en fråga från en okunnig. Jag köpte en ny laptop. Jag saknar officepaketet. Behöver bara göra enklare saker privat. Hur göra?
Jag provade med Libreoffice och Openoffice, det där fick jag inte att fungera.

Går det att använda den gamla koden som följde med en CD-skiva med officepaketet för tio år sedan då jag installerade Office på min gamla stationära dator som nu skall skrotas.

Gratis Googlekonto och Google Sheets.

Tror inte din gamla licensnyckel du fick med din CD-skiva är brukbar till något annat än att installera just det som finns på skivan.

Jag la in det här och det verkar fungera för mig med :slight_smile:

Prövade samma sak i Excel/VBA. Huvudsaken är att man är specifik i sin fråga till chatbotten. Samt förstår vad man vill ha.

Utan grundläggande kunskaper blir det så klart svårt. Samtidigt blir en lagom Jack-of-all-trades användare så mycket bättre.

Det helt utan att betala för t.ex. Copilot.

1 gillning

Google sheets-fråga.
Utmaning: fil med 50+ ark som jag vill konsolidera till ett och samma ark. Datan i alla ark har samma format, men olika antal rader.

Lösning hittills: funktionen query och sen markera området i varje ark 50+ gånger.

Finns det ett enklare sätt?

Tror att man kan göra det med powerquery i Excel.
Det här ser ut att funka.

Spara som excel, gör i excel, ladda up som goole sheet!
Vet inte om det finns något liknande i google sheet.

1 gillning