webForumDet fria alternativet

datumforma excel..

7 svar · 851 visningar · startad av Kalle M

Kalle MMedlem sedan mars 20041 936 inlägg
#1

Hejsan!

För att räkna ut antal dagar gör jag exempelvis följande formel:
=Idag()-"1973-02-06"
Väljer sedan formatera celler och tal för att få antal dagar.
Om jag sedan vill göra eget format så går jag in i formatera celler och anpassat:
# ##0” dagar gammal”

Men formatet blir fel. Formatera celler köper inte det jag skrev!?

MindreVetandeMedlem sedan okt. 2005371 inlägg
#2

Jag är rätt imponerad av att excel faktiskt fattar att
=IDAG()-"1973-02-06"
är samma sak som
=IDAG()-DATUMVÄRDE("1973-02-06")

Hursomhelst så skall det fungera som du skrivit

Det enda konstiga är att du har "typoigrafiska citat-fjongar".
DVS ” skall vara "
Äh, se skillnaden nedan.
# ##0" dagar gammal"
# ##0” dagar gammal”
Blått är fel, Rött är rätt

Ok, det där är kanske inte helt enligt standard. Får skylla på att jag fått en gammal imperie-låt på hjärnan (eller var det ebba?)

Ett hjärta är alltid rött
Ett hjärta har alltid rätt
Ett hjärta stinker blod och svett

Woops. Nytt personligt off-topicrekord

Kalle MMedlem sedan mars 20041 936 inlägg
#3

*Skratt*

Jepp. Tack för hjälpen! Läser många av dina inlägg och du är verkligen super på Excel :-)

Lite mer funderingar med datum för skoj skull:

Fundering1:
Om man minskar 2 datum med varandra så blir det ett annat datum som visas innan man går in i formatera celler och väljer "Tal". Vad visar det datumet igentligen?

Fundering2:
Om man har 2 datum så kan man väl även ange antal timmar med [t] eller minuter med [m]..månader med [M] ?

Fundering 3:
Hur gör du antal veckor mellan 2 datum?

Fundering 4:
Vad är det för skillnad på att använda funktionen(Exempelvis) =ÅR(B2).
Man kan ju likväl skriva =B2 och formatera cellen med år!?
Samma sak gäller ju funktionen =dag(B2).

Fundering 5:
Om man gör antal dagar mellan 2 datum och endast vill ha arbetsdagar och ej inkluderat helger. Är det funktionen Nettoarbetsdagar? Eller vad heter den?

Fundering 6:
När man summerar timmar som överstiger 24 timmar så blir det galet när man summerar timmarna. Exempelvis:
9:30
4:30
9:30
12:00
9:00

Summerar man sedan timmarna så blir det en helt annan summa som är felaktig. Har för mig att jag brukar lägga in formatet:
[tt]:mm för att rätta till det. Hur kommer det sig att Excel gör så?

MindreVetandeMedlem sedan okt. 2005371 inlägg
#4

Kalle M skrev:

Fundering1:
Om man minskar 2 datum med varandra så blir det ett annat datum som visas innan man går in i formatera celler och väljer "Tal". Vad visar det datumet igentligen?

Som du vet är ett datum i excel "egentligen" en siffra som anger antalet dagar sedan det hypotetiska datumet 1900-01-00. Dvs om du skriver in 1900-01-01 och formaterar cellen för att visa "Tal" så kommer du att se siffran 1.

Datum år 2007 börjar alltså någonstans i trakten av 365,25*107≈39081. Om du matar in:
39081 och formaterar cellen som datum så blir resultatet "2006-12-30"

Ok, till saken....
Det datum du ser är alltså = "1900-01-00" + antalet dagar mellan de datum du subtraherade.

En logisk, men inte helt glasklar, följd av hur excel hanterar datum.

Kalle M skrev:

Fundering2:
Om man har 2 datum så kan man väl även ange antal timmar med [t] eller minuter med [m]..månader med [M] ?

Hmmm,
[] verkar faktiskt bara fungera med timmar och minuter och sekunder. Jag antar att det är för att sekunder, minuter, timmar och dagar är helt regelbundna, bortsett från de sällsynta skottsekunder som läggs till ibland (ignoreras).

månader och år är nog lite för oregelbundna och det är inte glasklart vad man menar. Är det t.ex exakt ett år mellan den 8 juni två olika år oavsett om det är skottår? Vad menas med en månad? Är det en månad mellan den 1:e januari och den 1:e februari (31 dagar)? Eller är det 30 dagar, eller 30,44 (365,25/12)?

Ja du ser problemet.

Vill du bara ha överslag på månader så kan du lika gärna köra
(DATUMa - DATUMb)/30,44. Men det är ju inte helt exakt.

En variant är att använda en av funktionerna i "analysis toolpack"
Verktyg->tillägg->analysis toolpack
Det här ger år:
=ÅRDEL(Startdatum;slutdatum;3)
Och det här ger månader:
=ÅRDEL(Startdatum;slutdatum;3)*12
eller
=AVKORTA(ÅRDEL(Startdatum;slutdatum;3)*12)

Då kan du använda argumentet där det står "3" för att bestämma hur ett år definieras. Inte helt smidigt, men det är det närmaste jag kan komma på

Kalle M skrev:

Fundering 3:
Hur gör du antal veckor mellan 2 datum?

TROR inte att det finns någon veckofunktion. Men om du dividerar antalet dagar med 7 så hamnar du helt rätt eftersom en vecka alltid är en vecka=7 dagar. Exempel:

=(Slutdatum-startdatum)/7 dvs; (antal dagar mellan datumen)/7
eller, för att bara se hela veckor
=AVKORTA((B1-A1)/7)

En variant, om du vill se "resten" är att skriva någonting i stil med:
=AVKORTA((B1-A1)/7)&" Veckor och "&REST(B1-A1;7)&" Dagar"

Det blir naturligtvis en textsträng som inte att räkna vidare med

Om du använder "VECKONUMMER()" så går det åt skogen mellan olika år. Dessutom stämmer inte excels veckonumr riktigt med svensk standard

Kalle M skrev:

Fundering 4:
Vad är det för skillnad på att använda funktionen(Exempelvis) =ÅR(B2).
Man kan ju likväl skriva =B2 och formatera cellen med år!?
Samma sak gäller ju funktionen =dag(B2).

Nej!
Om vi antar att cell B2 har datumet "2007-06-08" så är det "underliggande" talet = 39241 Om du formaterar cellen med "År" (ÅÅ) så kommer det underliggande talet i cellen fortfarande att vara 39241. Formateringen påverkar bara hur värdet visas!
Om du skriver =ÅR(B2) så är verkligen värdet = 2007 i cellen. Dvs det grundläggande värdet har ändrats.
Samma sak med Dag

Kalle M skrev:

Fundering 5:
Om man gör antal dagar mellan 2 datum och endast vill ha arbetsdagar och ej inkluderat helger. Är det funktionen Nettoarbetsdagar? Eller vad heter den?

Japp . Problemet är att du måste skapa en lista med lediga dagar någonstans (allt utöver lördag och söndag. Typ nationaldag osv). Det tar lite tid att fixa i ordning så det bästa är om det finns någon gemensam lista för hela företaget, avdelningen eller så.

Problem: Så vitt jag vet klarar den inte av halvdagar, 3/4 dagar etc och vi har i alla fall några dagar av den typen (xxx-afton)

Kalle M skrev:

Fundering 6:
När man summerar timmar som överstiger 24 timmar så blir det galet när man summerar timmarna. Exempelvis:
9:30
4:30
9:30
12:00
9:00

Summerar man sedan timmarna så blir det en helt annan summa som är felaktig. Har för mig att jag brukar lägga in formatet:
[tt]:mm för att rätta till det. Hur kommer det sig att Excel gör så?

Därför att excell bara kan gissa vad du egentligen håller på med. När du skriver in en massa tal som: 9:30 osv så TROR excel att du vill ha formatet tt:mm eftersom det är mycket vanligare (det är vanligare att man matar in 2007-05-08 09:30 än att man vill skriva tidpunkter som>24 timmar). När du sedan gör summan så antar excel helt enkelt att du vill ha samma format i summan.

Om du ändrar visningsformatet i listan med tal till [tt]:mm och gör en ny summa så kommer summan-cellen att få [t] format.

Ett annat experiment är att skriva in ett enda tal i din lista som är större än 24 timmar, t.ex
25:15
Då kommer summan helt magiskt att bli formaterad med [t]

Flumm:
Din summa med olika visningsformat
Tal= 1,854 (dvs 1,85 dygn)
dd tt:mm= 01 20:30
tt:mm= 20:30 (egentligen 1 dygn + 20 timmar + 30 min. Men dygnet har ju ingen formatkod så det visas inte)
[tt]:mm= 44:15
Och hela tiden är värdet på cellen 1,854...

Kalle MMedlem sedan mars 20041 936 inlägg
#5

Strålande!
Tusen tack!

Trevlig helg

Kalle MMedlem sedan mars 20041 936 inlägg
#6

Vad är det egentligen för skillnad på att ange [tt]:mm och tt:mm ?
VAd är det egentligen jag talar om med klamrarna? Kopplar inte riktigt. :-)

Annat moment:
Tror jag räknade ut hur många år jag är genom =idag()-"1973-02-06" och formaterade till ÅÅ. Häftigt! :-)

MindreVetandeMedlem sedan okt. 2005371 inlägg
#7

Kalle M skrev:

VAd är det egentligen jag talar om med klamrarna? Kopplar inte riktigt. :-)

Det talar om att du vill räkna antal timmar. inte få ut ett klockslag. Dvs den skall inte "börja om" efter 24 timmar

Om du t.ex skriver in 1 dygn 1 timme och 30 minuter, eller 25 och en halv timme i en cell
25:30
så kommer det antingen att stå
[tt]:mm 25:30
eller
tt:mm 01:30

Om du tittar uppe i formelfältet så ser du att det underliggande formatet hela tiden är
1900-01-01 01:30:00 (egentligen 1,06 om du ändrar formatet till "tal")

[] ger summa timmar, en "oändlig klocka". Passar bra för summeringar där dagarna inte anges och du faktiskt vill veta hur många timmar som förflutit (t.ex för att fakturera ett jobb)

Utan [] så anges timmarna som en vanlig klocka. Kl är 1:30 oavsett vilken dag det är. Det är för det mesta dumt att använda utan dag/datum. Passar bra när du vill veta en tid/när någonting inträffar.
Exempel om du vill veta när någonting är färdigt (starttid + processtid = färdigtid). Om du har en process som tar 17 timmar och arton minuter så vill du förmodligen veta att den är färdig halv tio i morgon:
"2007-06-12 16:10" + "17:18"=2007-06-13 09:28
Inte att den inträffar 941913:28 timmar efter år 1900 :P

Kalle M skrev:

Annat moment:
Tror jag räknade ut hur många år jag är genom =idag()-"1973-02-06" och formaterade till ÅÅ. Häftigt! :-)

Ja/Nej. Inte riktigt (aldrig får man vara nöjd...)
Jämför med:

="2007-02-06" -"1973-02-06"

Den borde ju slå över. Men om du leker runt så ser du att den "slår över" 2 dagar fel. först vid:

="2007-02-08" -"1973-02-06"
=idag()-"1973-02-06"

hade inte fungerat som födelsedagsvarnare

Ett bättre alternativ (formaterat som tal)

=ÅRDEL("1973-02-06";IDAG())

eller

=HELTAL(ÅRDEL("1973-02-06";IDAG()))

Men jag är lite osäker på det tredje argumentet.

Kalle MMedlem sedan mars 20041 936 inlägg
#8

Tackar så mkt!
Bra förklaringar

131 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)