PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelUtgångsdatum - ex besiktningstiderUtgångsdatum - ex besiktningstider
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2024-05-25 09:18
 

Hej!
Min första tråd. Jag har googlat i dagar....

Jag skulle vilja hitta ett sätt att automatiskt få fram rätt utgångsdatum.

Exempel:
 

Slutsiffra anger i vilken period som du får besikta bilen.

Slutsiffra 1 innebär en period varje år mellan ÅÅÅ1-01-01(jan) till ÅÅÅ1-05-30(maj). I det här fallet ligger perioden inom endast ett kalender år.
Slutsiffra 0 innebär en period varje år mellan ÅÅÅ1-01-10 till ÅÅÅ2-03-31. I det här fallet ligger perioden över två kalender år

Bil A har slutsiffra 1 och besiktades 2023-01-15 jag ska då få utgångsdatum =2024-05-31

Bil B har slutsiffra 0 och besiktades 2023-12-16, jag ska då få slutdatum =2025-03-31

 

Jag antar att det är någon form av OM-formel som krävs i kombination med datum eller lista.

Det jag på ett slarvigt sätt vill få fram är följande:
=Om(slutsiffra är 1; ta då senaste besiktningsdatum + 1 år och ALLTID 05-31)
MEN = om(slutsiffran är 0 så blir det ju +1 ELLER +2 år och alltid 03-31.

Helt öppen för att fler celler behöver användas.

Jag har slutsiffror mellan 0-9 och då blir det väldigt många =OM-formler.

 

 

Nytt inlägg
 2024-05-25 09:35
 

 Men besikningstiden styrs väl inte av slutsiffran länge?

Eller tog du bara det som exempel? 

Nytt inlägg
 2024-06-01 13:03
 

 Det var bara ett exempel då jag antog att det var tydligast.

Nytt inlägg
 2024-06-02 12:43
 

Ok. Fattar inte riktigt upplägget. Men lite byggstenar

Sista bokstaven/siffran  från A1 (i cell B1)

=Höger(A1)

Och om du vill vara säker på att det tolkas somen siffra

=Höger(A1)*1

Välj vad du vill returnera beroende på vilken siffra som står i B1 (istället för en massa om)

=VÄLJ(B1;"ett";"två";"tre";"fyra";"fem";"sex";"sju")

Eller om du vill ha mer flexibelt

=VÄXLA(B1;1;"ett";2;"två";3;"tre")

OSV.

 

*******************************

Eller, om jag försöker gissa vad du faktiskt vill göra

startmånaden:

Ett knep för att omvandla 1-9 till sig själv och 0 till 10

=REST(HÖGER(A1)+9;10)+1

Kan naturligtvis skrivas så här om du tycker att det är enklare

=OM(HÖGER(A1)*1=0;10;HÖGER(A1)*1)

Årets år:

=ÅR(IDAG())

Slå ihop till den 1:a  dagen i årets startmånad

=DATUM(ÅR(IDAG());REST(HÖGER(A1)+9;10)+1;1)   

(ändra cellens format tilll datum om du får ut datumets serienummer, typ: 45292.)

För att hitta slutdatumet kan du använda EDATUM som låter dig hitta datumet 5 månader fram i tiden. Minus en dag för att få den sista dagen i fjärde månaden fra

=EDATUM(DATUM(ÅR(IDAG());REST(HÖGER(A1)+9;10)+1;1);5)-1

Det här ger årets slutdatum (även om de råkar inträffa nästa år)

 

Sen måste du relatera det till förra besiktningen för att veta om du är färdig med årets besikning och vill ha nästa års istället. Men Jag kommer ärligt talat inte ihåg hur det funkade. Jag antar att det är det du berättar i meningen: 

"Om(slutsiffra är 1; ta då senaste besiktningsdatum + 1 år och ALLTID 05-31) MEN"

Men jag greppar nog inte upplägget riktigt

Nytt inlägg
 2024-06-02 13:16
 

Ähh, krångla till det och gör ett villkor. Om slutsiffran i A1 är 0 ELLER 9 (och kan gå över årsgränsen) OCH månadsnummret i besiktningsdatumet i B1 är mindre än 3 (kan vara 9):

OCH(ELLER(HÖGER(A1)*1=9;HÖGER(A1)*1=0);MÅNAD(B1)<3)

Så börjar nästa besikningsperiod samma år. Annars är det nästa år: 

=OM(OCH(ELLER(HÖGER(A1)*1=9;HÖGER(A1)*1=0);MÅNAD(B1)<3);0;1)

Öka året med noll eller ett beroende på vilkoret ovan

=EDATUM(DATUM(ÅR(B1)+OM(OCH(ELLER(HÖGER(A1)*1=9;HÖGER(A1)*1=0);MÅNAD(B1)<3);0;1);REST(HÖGER(A1)+9;10)+1;1);5)-1

Nytt inlägg
 2024-06-04 13:23
 
 Ändrad av Höggas2023  på 2024-06-06 08:17:50

 Jag är nog otydlig eller förstår inte svaren

 

Slutsiffran har jag löst genom =HÖGER

Det som jag fastnar i är att i det här fallet är besiktningstiderna i ett faställt intervall om ett antal månader. Beroende på månadsintervall blir formlerna olika. T.ex:

slutsiffra 1 = blir alltid nästa år, slutsiffra 0 = kan bli nästa år eller året därpå.
Intervallen är ju desamma oavsett årtal

Mina frågor är så här:

1. Hur skriver jag en formel för att alltid få intervallets sista dag(ÅÅÅÅ-05-31?

2. Hur ser formeln/vilkoren ut för att lägga på 1 eller 2 år? (2023+1 eller +2)

 

I den blå tabellen visas reglerna och perioderna för besiktning. Nedan kommer sedan en fiktiv lista över fordon A-J som kan bli längre. Jag vill alltså kunna skriva in fler fordon och automatiskt få när fordonet Ex: B får körförbud beroende på senaste besiktning. 

 

 

 

A

B

C

   

Besiktningsperiod

1

Slutsiffra

Start

Slut

2

1

Januari

Juni

3

2

Februari

Juli

4

3

Mars

Augusti

5

4

April

September

6

5

Maj

Oktober

7

6

Juni

November

8

7

Juli

December

9

8

Augusti

Januari

10

9

September

Februari

11

0

Oktober

Mars

 

Nytt blad med fordonslista

 

Fordon

Slutsiffra

Senast

Önskad formel

Rätt svar

A

1

2023-01-15

 

2024-06-30

B

2

2023-02-15

 

2024-07-31

C

3

2023-03-15

 

2024-08-31

D

4

2023-04-15

 

2024-09-30

E

5

2023-05-15

 

2024-10-31

F

6

2023-06-15

 

2024-11-30

G

7

2023-07-15

 

2024-12-31

H

8

2023-08-15

 

2025-01-31

I

9

2023-09-15

 

2025-02-28

J

0

2023-10-15

 

2025-03-31

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelUtgångsdatum - ex besiktningstiderUtgångsdatum - ex besiktningstider

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter