Kalle MMedlem sedan mars 20041 938 inlägg
Om man har följande datum i Akolumnen:
2005-05-03
2006-07-03
Står jag sedan i B-kolumnen och skriver =År(A1) så får jag resultatet 2005
Men vad är skillnaden om jag står i B1 och istället skriver =A1 och formaterar celler som "år"? Visuellt är det säkert ingen skillnad..men vad är skillnaden?
JojoxxMedlem sedan juni 20004 306 inlägg
=År(...) returnerar att tal som du sedan kan använda för vidare beräkning (kanske addera 3 år). Att formatera en cell ändrar bara vad som visas för dig, värdet är inte ändrat. På samma sätt kan du formatera en cell som innehåller "123" till valuta och visa "123 kr". 123 kan du ex lägga moms på i en annan cell (=A1*1,25). Skulle cellen innehålla "123 kr" kan du däremot inte göra samma beräkning.
Kalle MMedlem sedan mars 20041 938 inlägg
Vad är det för typ av beräkningar man gör med =år()?
Antal år mellan 2 datum?
Men det kan man ju göra ändå exempelvis med formeln nedan:
=(Datum1-Datum2)/365
JojoxxMedlem sedan juni 20004 306 inlägg
Det var du som valde exemplet, inte jag ;) Men i ditt exempel förutsätter du exempelvis att skottår inte finns. Ett användningsområde kan vara att räkna ut om ett datum innefaller under just ett skottår (är året jämt delbart med 4, dock ej 100, ifall inte jämt delbart med 400 (som är ett förenklat sätt att ta reda på om det är ett skottår)). Fantasin sätter begränsningen på användningsområdet för funktionen år().
Men frågan var ju egentligen vad skillnaden mellan cellformatering och funktionen var.
JojoxxMedlem sedan juni 20004 306 inlägg
Ett försök att förenkla det hela. Se cellen som 3 lager. I botten har du innehållet i cellen, d.v.s. det du skriver in. I lager 2 har du resultatet vilket kan användas vidare och refereras till från andra celler för vidare beräkningar. I det översta lagret har du presentationen av resultatet, det vill säga det du ser när du tittat på excel-arket.
Exempel, cell A1:
Innehåll: =-100*1,25
Resultat: -125
Formatering som valuta med 2 decimaler och röda negativa tal: -129.00 kr
GunnarDMedlem sedan juni 20014 250 inlägg
Kalle M skrev:
Om man har följande datum i Akolumnen:
2005-05-03
2006-07-03
Står jag sedan i B-kolumnen och skriver =År(A1) så får jag resultatet 2005
Men vad är skillnaden om jag står i B1 och istället skriver =A1 och formaterar celler som "år"? Visuellt är det säkert ingen skillnad..men vad är skillnaden?
I cellerna står det egentligen 38475 och 38901 (som är antalet dagar från 1970-01-01 om jag minns rätt) som sedan är formaterat till datumformat så att det blir 2005-05-03 resp. 2006-07-03.
Skriver man in något som Excel tror är ett datum och/eller tid så konverteras det till ett flyttal.
När du sedan i B-kolumnen skriver =år(a1) så kommer värdet i b1 vara 2005 och inte 38475 som det hadde varit om du bara skrivit =a1.
Om du sedan i andra formler i andra celler refererar till b1 så kommer dom formlerna använda 2005 om du hadde skrivit =år(a1) och 38475 om du hadde skrivit =a1.
JojoxxMedlem sedan juni 20004 306 inlägg
GunnarD skrev:
Skriver man in något som Excel tror är ett datum och/eller tid så konverteras det till ett flyttal.
Fast heltal, integer, skulle jag tro :)
Kalle MMedlem sedan mars 20041 938 inlägg
Nu ska vi se :
Med =år(a1) så kommer värdet i b1 vara 2005 och inte 38475.
Vad ger det för möjligheter/Fördelar att räkna med 2005 kontra 38475?
Kalle MMedlem sedan mars 20041 938 inlägg
då borde det ju vara samma tänk vad gäller Dag() mfl.
JojoxxMedlem sedan juni 20004 306 inlägg
Funktionen år() returnerar ett heltal motsvarande året. Ex 2005
Räknar du med att datum har du även noggranghet ner till 1 dag.
Skillnaden mellan 2005-01-01 och 2006-01-01 är 365 dagar, räknar du med år() är skillnaden 1 år.
Skillnaden mellan 2005-12-31 och 2006-01-01 är endast 1 dag, räknar du med år() är skillnaden ändå 1 år.
Skillnaden mellan 2005-01-01 och 2005-12-31 är 364 dagar, räknar du med år() är skillnaden 0 år.
dag() returnerar ett heltal som motsvarar dagens nummer i månaden för angivet datum.
"Fördelen" är att använda "rätt" sätt beroende på vad det är du egentligen vill få fram :)
Kalle MMedlem sedan mars 20041 938 inlägg
För att få fram antal år mellan 2 datum skriver jag exempelvis:
=(datum1-datum2)/365
Om jag istället använder År() till detta får jag mer ett heltal kan man säga?
JojoxxMedlem sedan juni 20004 306 inlägg
Kalle M skrev:
För att få fram antal år mellan 2 datum skriver jag exempelvis:
=(datum1-datum2)/365
Så kan du skriva ja. Det kommer att resultera i ett tal med rätt så många decimaler.
Kalle M skrev:
Om jag istället använder År() till detta får jag mer ett heltal kan man säga?
Om du tittar på mitt exempel i förra inlägget borde det vara rätt glasklart? Använder du år() på den sista december, och nästkommande dag, 1 januari kommer det att ge 1 års skillnad. Om du använder det på 1 januari och nästa dag efter det (2 januari) kommer det att ge 0 års skillnad. Du kan inte säga att det ena är mer rätt än det andra, det beror på vad du skall använda resultatet till. Korrekt är dock att år() alltid returnerar ett heltal.
GunnarDMedlem sedan juni 20014 250 inlägg
Jojoxx skrev:
Fast heltal, integer, skulle jag tro :)
Nja, har du med tiden också så blir det ett flyttal.
Heltalen anger dagar och decimalerna delar av en dag. :)
Kalle MMedlem sedan mars 20041 938 inlägg
Grymt bra.
Tack så mkt. Ska testa och återkommer om funderingar.