2 personlige Links
Selvom dette er et Excel tips - er metoden den samme i LibreOffice ! Husk at læse posten til ende !
I dansk LibreOffice Calc vil formlen se sådan ud:
=DATO(B2;A2;1+7*n)-UGEDAG(DATO(B2;A2;8-xday))
hvor:
B2 er året
A2 er er måneden (som tal)
n er (ordens)tallet for den søgte ugedag (n'te xday i måneden)
xday repræsenterer ugedagen (1=søndag til 7=lørdag)
Folketingets åbning (1. tirsdag i oktober) kan altså for 2016 findes med:
=DATO(2016;10;1+7*1)-UGEDAG(DATO(2016;10;8-3))
Bemærk også tipset til at finde f.eks. den sidste søndag i en måned !
Så hvornår sommertid slutter i 2016 (Sidste søndag i oktober) findes med:
=DATO(2016;10+1;1+7*1)-UGEDAG(DATO(2016;10+1;8-1))-7
- her er for tydelighedens skyld fulgt hele algoritmen, der herefter kan sammentrækkes til:
=DATO(2016;11;1)-UGEDAG(DATO(2016;11;7))
I mit indlæg om Dynamiske referencer - hent data fra varierende regneark refereres til en kalender skabelon
Men i den skabelon er ark benævnt med romertal for årets måneder !
Så for at lave dynamisk reference til de enkelte ark i den skabelon, må man anvende funktionen ROMERTAL
, der konverterer decimaltal til romertal; sammenstillet med MÅNED
, der udtrækker månedsnummeret af en dato; og IDAG
der giver den aktuelle dato.
Så får man følgende:
=ROMERTAL(MÅNED(IDAG()))
Ovenstående formel giver aktuel måned i romertal. For eksempel april som IV og oktober som X.
Så hvis der er brugt romertal, for at angive månedsark, kan der refereres sådan:
=INDIREKTE("'"&ROMERTAL(MÅNED(IDAG()))&"'.A1")
I kalenderskabelonen blev romertal anvendt af hensyn til L10N kravet.
På hjemmesiden Excel-regneark.dk læste jeg om dynamiske referencer.
Jeg ville finde en måde, at referere til det ark (arkfane), som indholdt den aktuelle måned - Når jeg havde lavet en kalender, med årets måneder fordelt på hver sit ark.
Se f.eks. Perpetual Calendar that adapt to the local language eller den danske Evighedskalender
Funktionen INDIREKTE
- ( INDIRECT
på engelsk) kan konvertere en tekststreng til en henvisning.
Omvendt kan funktionen TEKST
konvertere et tal til tekst i henhold til et givet format.
Funktionen IDAG
giver komputerens aktuelle dato.
Så med
=TEKST(IDAG();"MMMM")
får man således returneret navnet på den aktuelle måned (som tekst!).
Dette kan så bruges som reference til arkfanen med månedens navn:
=INDIREKTE("'"&TEKST(IDAG();"MMMM")&"'.A1")
der refererer til celle A1 i arket med månedens navn !
Den sammensatte funktion: =STORT.FORBOGSTAV(TEKST(D10;"MMMM YYYY")) viser sig at give problemer med parametrene, hvis den skal bruges med L10N (Lokalisation).
I mit arbejde med en kalender skabelon i Calc, har jeg forsøgt at gøre skabelonen international. Lidt forklaring:
Der er i skabelonen oprettet ét ark per måned; hvor jeg tænkte at have en overskrift med Månedsnavnet og året. Ved at udnytte det indbyggede dato format i Calc, kan dette gøres internationalt, da der til lokaliseringen er oversat månedernes navne. Cellen D10 indholder en dato i den pågældende måned. Herfra kan udtrækkes måned og år.
Én måde at gøre dette på er blot at kopiere indholdet af celle D10, og så formatere det til 'kun' at vise måned og år.
Men på nogle sprog - heriblandt dansk - skrives månedernes navne IKKE med stort begyndelsesbogstav. Men da det nu skulle være en overskrift, ville det være mere korrekt at starte med stort.
Det kan lade sig gøre ved at konvertere indholdet af cellen D10 til tekst; men så formatere til kun måned og årstal: =Tekst(D10;"MMMM YYYY")
Dernæst kan teksten formateres til Stort.Forbogstav.
Men desværre er formatkoderne også lokaliseret på visse sprog, så f.eks. på tysk skal funktionen bruge formatkoden JJJJ for året. Hvilket ville svare til en dansk ÅÅÅÅ - men her er formatkoden bevaret til YYYY, og derfor virker det på dansk. Skal det virke på tysk, skal Y'erne udskiftes med J.
Vil man bevare målsætningen om en international skabelon, må man vælge første løsning med at formatere CELLEN til 'kun' at vise måned og år. (Celle formateringen ser ud til at blive oversat) Og så må man leve med, at der ikke er stort begyndelsesbogstav i overskriften på visse sprog.
Det er konstateret - i hvert fald på ældre versioner af LO (Læs: Før version 5.0) - giver funktionen ANTAL.ARBEJDSDAGE problemer ved reference til navngivet område for helligdage.
Problemet er, at et navngivet område kan have flere kolonner. Ældre versioner bliver forvirret og returnerer err: 502
Refereres til enkeltkolonne - også med navngivning - virker funktionen.
I LibreOffice 5 er der kommet et nyt StartCenter, der viser seneste filer som små visninger (Ikoner). Hvis du vil have vist stien til filplacering når du muser over filen, skal 'Udvidede tips' slås fra under Indstillinger-Generelt.
Er 'Udvidede tips' slået til får man ikke filplaceringen vist; men et udvidet tips til åbning af filer.
the functions of LibreOffice Calc. The various functions are divided into categories in the Function Wizard.
År er et heltal mellem 1583 og 9957 eller mellem 0 og 99 (Der så, som standard, bliver fortolket som år i perioden 1930-2029).
LibreOffice baserer dato og tid på den internationale standard ISO8601.
Kalenderen er baseret på den Gregorianske kalender, der blev indført af Pave Gregor XIII, d. 4. okt. 1582 (Juliansk kalender) som blev sat lige med 15. oktober 1582 i den Gregorianske kalender. Altså første hele år efter den Gregorianske kalender er 1583.
Indført i Danmark 1700. Hvor 18. februar (Juliansk) blev 1. marts 1700 i Gregoriansk kalender
I følge https://en.wikipedia.org/wiki/ISO_8601 :
The standard uses the Gregorian calendar, which serves as an international standard for civil use.[8]
ISO 8601 fixes a reference calendar date to the Gregorian calendar of 20 May 1875 as the date the Convention du Mètre (Metre Convention) was signed in Paris. However, ISO calendar dates before the Convention are still compatible with the Gregorian calendar all the way back to the official introduction of the Gregorian calendar on 1582-10-15. Earlier dates, in the proleptic Gregorian calendar, may be used by mutual agreement of the partners exchanging information. The standard states that every date must be consecutive, so usage of the Julian calendar would be contrary to the standard (because at the switchover date, the dates would not be consecutive).