Avatar billede Chewie Novice
20. februar 2003 - 09:45 Der er 37 kommentarer og
2 løsninger

uge.nr

Hej

Jeg har en celle hvor der står 51 (det står for uge 51) den celle vil jeg gerne have +´et med 20 i en anden celle så der komme til at stå 19

hvad er formelen for det ?

Chewie
Avatar billede jkrons Professor
20. februar 2003 - 09:52 #1
51 i A1, 20 i A2  Resultat i A3

=A1+A2-52

Men det holder kun i de år, hvor der er 52 uger.
Avatar billede Chewie Novice
20. februar 2003 - 09:54 #2
det må kunne gøres mere fremtids venligt !! ellers tak jkrons
Avatar billede jkrons Professor
20. februar 2003 - 09:57 #3
Så vidt jeg kan se er der ingen af datofunktionerne der umiddlebart kan opfatte et tilfældigt indtastet tal som et ugenummer. Derfor ved den selvfølgelig heller ikke, at den skal "starte forfra" ved 52/53.

Jeg ser lige på en anden mulighed.
Avatar billede Chewie Novice
20. februar 2003 - 10:01 #4
Den løsning holder heller ikke hvis det eks. hvis er uge 1 :-/

venter spændt på din måske anden nulighed :o)
Avatar billede jkrons Professor
20. februar 2003 - 10:02 #5
Iøvrigt var det første forslag ovenikøbet forkert!
Avatar billede jkrons Professor
20. februar 2003 - 10:29 #6
Sorry. Den løsning jeg tænkte på virker heller ikke. Jeg kan simpelthen ikke finde en måde i Excel der "ved"/undersøger om et år har 52 eller 53 uger. Dermed vil alle tilløb til en løsning strande her.

Hvis du kan "leve med" at man selv indtaster det korrekte antal uger (52/53) for indeværende år, kan følgende funktion løse dit problem:


Function AddWeeks(UgeNr, PlusUger, AntalUger)
    If AntalUger > 53 Or AntalUger < 52 Then
        AddWeeks = "#UGEFEJL!"
    Else
        If UgeNr + PlusUger <= AntalUger Then
            AddWeeks = DateAdd("w", UgeNr, PlusUger)
        Else
            AddWeeks = DateAdd("w", UgeNr, PlusUger) - AntalUger
        End If
        Selection.ClearFormats
    End If
End Function

Fx har du 51 i celle A1, 20 i celle A2 og antal uger i alt i celle A3. I den celle, hvor du vil have det nye ugetal, skriver du så bare
=ADDWEEKS(A1;A2;A3). Hvis antal uger i alt er noget andet end 52 eller 53 vises en fejlmeddelelse i cellen som ved andre funktioner.
Avatar billede jkrons Professor
20. februar 2003 - 10:34 #7
Jeg kan se at den stadig kan forbedres, da den ikke kan overstige et enkelt år. Er du fx i Uge 53 og vil lægge 53 uger til, regner den det ud til uge 53, hvilket sikkert er forkert, da der ikke nødvendigvis er 53 uger igen næste år, men desværre kalder arbejdet, så jeg har ikke lige tid til at gøre med ved den nu.
Avatar billede Chewie Novice
20. februar 2003 - 10:40 #8
jkrons >> mange tak for din indsats ...... jeg lader lige spg stå åben lidt endnu, det kunne jo være at bak, b_hansen, janvogt, flemmingdahl eller en af de andre excel rødder havde noget at indvende :o)
Avatar billede s_h_m Nybegynder
20. februar 2003 - 10:43 #9
Hvad med:
=UGE.NR(A1+A2;2)
Avatar billede s_h_m Nybegynder
20. februar 2003 - 10:44 #10
UPS - nej, den gik alligevel ikke, sorry...
Avatar billede janvogt Praktikant
20. februar 2003 - 10:54 #11
Det kan godt lade sig gøre, at beregne hvilke år der er 53 uger.
Omvendt tror jeg det vil være nemmere at regne i dage i stedet for.
Det vil sige, at hvis du vil ligge 20 uger til, må det jo være ensbetydende med 140 dage (7x20), så hvis du ligger 140 dage til din startdato vil det komme til at passe, når du så senere skal omregne datoen til et ugenummer.

Forøvrigt kan man ikke bruge Excels UGE.NR funktion. Den regner ikke korrekt efter danske regler.
Avatar billede s_h_m Nybegynder
20. februar 2003 - 11:00 #12
Hvis du kan leve med at skulle indtaste en dato først, kan det lade sig gøre på følgende måde.

I A1 indtastes datoen (f.eks 24-12-2003).
I A2 UGE.NR(A1;2)
I A3 20
I A4 UGE.NR(A2+A3;2

Årsag: Excel behøver dato-serienummeret for at kunne regne ugenummeret ud.
Avatar billede s_h_m Nybegynder
20. februar 2003 - 11:01 #13
Opdatering :-)
Avatar billede jkrons Professor
20. februar 2003 - 11:13 #14
janvogt-> Problemet er joi at chewie ikke har en startdato, men en startuge (nummer). Hvis man har en startdato og regner i dage er der ingen problemer som du anfører.

Hvordan beregner du iøvrigt hvor mange uger, der er i et givent, tilfældigt år?
Avatar billede janvogt Praktikant
20. februar 2003 - 11:14 #15
Denne fremgangsmåde klarer problemet:

Skriv 51 i celle A1
Skriv 20 i celle A2
Skriv 2002 (årstallet) celle B1

Indsæt følgende formel i celle B2:
=(INT((DATE(B1;12;31)-(DATE(YEAR(DATE(B1;12;31)+(MOD(8-WEEKDAY(DATE(B1;12;31));7)-3));1;1))-3+MOD(WEEKDAY(DATE(YEAR(DATE(B1;12;31)+(MOD(8-WEEKDAY(DATE(B1;12;31));7)-3));1;1))+1;7))/7)+1)

Indsæt følgende formel i celle A3:
=A1+A2-IF(B2=53;53;52)

Sig til, hvis du skal have hjælp med oversættelsen.
Jeg kan også sende dig arket. Har du en dansk version vil formlerne automatisk blive oversat.

Den langer formel skyldes som sagt, at =UGE.NR formlen ikke kan bruges til danske regler.
Avatar billede janvogt Praktikant
20. februar 2003 - 11:16 #16
Jkrons, for at beregne antal uger i et år, bruger jeg ovenstående langhårede formel til at beregne ugenummeret den 31/12 et givent år.
Avatar billede janvogt Praktikant
20. februar 2003 - 11:19 #17
Jkrons, hvis chewie ikke har en startdato kunne han bare "konvertere" ugenummeret til en dato - eller med andre ord beregne, hvad den første dato i uge 51 er.
Avatar billede jkrons Professor
20. februar 2003 - 11:20 #18
janvoigt->  Købt! Men ikke just en enkel løsning :-)
Avatar billede jkrons Professor
20. februar 2003 - 11:22 #19
Janvogt:-> Og det er vel heller ikke en nem formel der skal bruges for at konvertere et givent ugenummer til en dato?
Avatar billede janvogt Praktikant
20. februar 2003 - 11:26 #20
Tror ikke der findes en enkelt løsning til den her :-)

Formlen til at konvertere et ugenummer til en dato er
=DATE(B110;1;7*B109-3-WEEKDAY(DATE(B110;;);3))
hvor ugenummeret står i B109 og årstallet i B110
så man må sige at der er lidt formellængde at spare :-)
Avatar billede jkrons Professor
20. februar 2003 - 11:42 #21
Det kan jeg se :-)
Avatar billede Chewie Novice
20. februar 2003 - 11:45 #22
Hold da fast .... der sker noget i en halv times frokost :o)

janvogt >> du må godt lige sende arket, da jeg kun har dansk version srk@sampension.dk. så prøver jeg lige med den formel :o)
Avatar billede Chewie Novice
20. februar 2003 - 12:25 #23
janvogt >> meget flot beskrevet hvad der er hvad .... mange tak ... men det funker ikke prøv at skrive 1 i celle A1 ....-31
Avatar billede Chewie Novice
20. februar 2003 - 12:32 #24
alt før uge 33 funker ikke
Avatar billede janvogt Praktikant
20. februar 2003 - 12:48 #25
Det kan jeg godt se, hvis du begynder at simulere på ugenummeret.
Det skriver du jo ikke noget om, at du vil gøre :-)

For at løse det så prøver vi at gå tilbage til den løsning jeg først foreslår:

Skriv 51 i celle A1
Skriv 20 i celle A2
Skriv 2002 (årstallet) celle B1
Indsæt formlen =DATE(B1;1;7*A1-3-WEEKDAY(DATE(B1;;);3))+(7*A2) i celle B2
Indsæt formlen =INT((B2-(DATE(YEAR(B2+(MOD(8-WEEKDAY(B2);7)-3));1;1))-3+MOD(WEEKDAY(DATE(YEAR(B2+(MOD(8-WEEKDAY(B2);7)-3));1;1))+1;7))/7)+1 i celle A3

Skulle den være der.
Jeg sender lige det nye ark.
Avatar billede Chewie Novice
20. februar 2003 - 12:54 #26
ok den prøver jeg lige
Avatar billede Chewie Novice
20. februar 2003 - 13:20 #27
så funker det .... tak for hjælpen :o)
Avatar billede Chewie Novice
20. februar 2003 - 13:21 #28
hæver lige points så jkrons også kan få 15 points for hans kamp :o)
Avatar billede jkrons Professor
20. februar 2003 - 13:29 #29
Tak!  Har du tid kan du ewvt prøve denne ændrede løsning også, og se om den ikke virker nu - selv om det er for sent :-)

Function AddWeeks(UgeNr, PlusUger, AntalUger)

If (AntalUger + PlusUger) > AntalUger Then
PlusUger = PlusUger - AntalUger
End If

    If AntalUger > 53 Or AntalUger < 52 Then
        AddWeeks = "#UGEFEJL!"
    Else
        If UgeNr + PlusUger <= AntalUger Then
            AddWeeks = DateAdd("w", UgeNr, PlusUger)
        Else
            AddWeeks = DateAdd("w", UgeNr, PlusUger) - AntalUger
        End If
        Selection.ClearFormats
    End If
End Function
Avatar billede Chewie Novice
20. februar 2003 - 13:33 #30
jkrons >> skal jeg ikke døbe cellerne noget ..... eks. PlusUger ??
Avatar billede Chewie Novice
20. februar 2003 - 13:55 #31
jkrons >> jeg har leget lidt vidre med løsningerne der er kommet ..... men jeg forstår ikke helt hvad A3 er i din løsning =ADDWEEKS(A1;A2;A3) ..... (glem det med omdøbning, min fejl)
Avatar billede jkrons Professor
20. februar 2003 - 13:58 #32
A3 skulle være antallet af uger i det aktuelle år. Altså fx 52 eller 53.
Avatar billede Chewie Novice
20. februar 2003 - 14:07 #33
hmmm ... syns ikke jeg kan få det til at funke .... kan du ikke prøve at sende et ark hvor det virker srk@sampension.dk
Avatar billede Chewie Novice
20. februar 2003 - 14:36 #34
jeg må indrømme ... selv om jeg har fået det til at funke med janvogts løsning er jeg blevet lidt mere hug på din ... da den ikke kræver mellemregningsceller ... jeg kan bare ikke få den til at funke :o/
Avatar billede janvogt Praktikant
20. februar 2003 - 15:02 #35
Hvis du vil slippe for mellemregningsceller kan du bare indsætte formel-indholdet fra B2 alle de steder, hvor der i den lange A3-formel står "B2".
Men det bliver formlen bestemt ikke mere overskuelig af :-)
Avatar billede jkrons Professor
20. februar 2003 - 15:03 #36
chewie-> Jeg skal sende et eksempel hvor det  "forhåbentlig"  funker når jeg kommer tilbage på min egen pind senere eftermiddag eller aften.
Avatar billede janvogt Praktikant
20. februar 2003 - 15:07 #37
Jkrons kode vil alligevel kræve, at man ved, hvor mange uger der er i det aktuelle år. Det er jo det, som gør det kompliceret.
Hvis jeg også lavede den forudsætning, at det stod et eller andet sted, så ville formlen kunne laves MEGET kort.
Avatar billede Chewie Novice
20. februar 2003 - 16:21 #38
Ja .... bege løsninger kræver en celle extra, men det går nu nok :o)

Tak for jeres udholdenhed ;)
Avatar billede jkrons Professor
20. februar 2003 - 20:24 #39
Jeg har sendt et eksempel, så nu håber jeg det virker, men som janvogt siger kræver det at man selv ved hvor mange uger, der er i indeværende år.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester