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?
=Å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.
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.
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
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.
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.