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

 
ForumForumDiskussionerDiskussionerExcelExcelDe 10 lägsta datumen (utan dubletter)De 10 lägsta datumen (utan dubletter)
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2012-08-23 17:55
 
 Ändrad av TKofSweden  på 2012-10-04 17:13:16

(Skrev inlägget på min iPad först, vid "skicka" så försvann bara texten)

Hej,

Jag har ett excel-dokument som jag utvecklat själv för stöd till personaladministrationen på jobbet (pershandl). Detta dokument tillåter mig att följa upp personalen, hur många anställda vi är, vart de jobbar samt hålla koll på provanställningar och tjänstledigheter mm.

Denna tråd är tänkt att fokusera på provanställningsdatumen. (samma princip kommer sedan att appliceras på tjänstledigheter).

Jag har i tio celler genererat de tio lägsta datumen för när provanställningarna löper ut med hjälp av "=MINSTA(Y:Y; n)" där jag självklart justerar n till 1-10 i de olika cellerna. Problemet är att vi anställer i omgångar, så det finns oftast många med samma slutdatum. Vilket kan se ut enligt följande:

2012-11-06
2012-11-06
2012-11-06
2012-11-06
2012-11-06
2012-11-06
2012-11-20
2013-01-08
2013-01-08
2013-01-08

Det jag vill göra är en lista med de tio kommande datumen, utan dubbletter. Jag kan fortfarande inte alla funktioner, så det är möjligt att det är något jag kan kasta in enkelt i formeln för att ignorera celler med samma värden. Jag har dock försökt att komma förbi detta genom att räkna hur många gånger de olika datumen förekommer för att sedan byta ut det mot "n":

"ANTAL.OM(Y:Y;(MINSTA(Y:Y;1)))"

"=MINSTA(Y:Y; (ANTAL.OM(Y:Y;(MINSTA(Y:Y;1)))))"

Sedan lägger jag till "+1". Vilket fungerar väldigt bra för att få det näst lägsta unika datumet. Problemet kommer när jag skall skapa formeln för det tredje och fjärde lägsta datumet... Har inte riktigt listat ut hur jag kan plussa ihop de olika "ANTAL.OM"-påståendena för att göra det universellt och funka.

Är jag på rätt väg eller har ni ett förslag på en smidigare lösning?
Tacksam för hjälp!

/TK

Nytt inlägg
 2012-08-29 14:21
 

Hej!

Är listan sorterad i stigande datumordning? I så fall kan du använda modellen nedan

*** Hitta högsta datumet *** 
I så fall kan du i en valfri cell, vi säger K1 använda funktionen LetaRad. Denna metod har fyra argument som ställs in enligt nedan:

Letauppvärde: Sätts till ett datum orimligt långt fram i tiden

Tabellmatris: Området där du har datum (där datum är kolumnen längst till vänster och i detta fall enda kolumnen som används)

Kolumnindex: Sätts till 1 (eftersom du skall leta efter datum och vill ha fram datum)

Ungefärligt: Sätts till SANT

När denna funktion är klar så kommer den att hämta det datum som är högst (i praktiken lägre än det orimligt höga datum vi sökte efter).

 

*** Hitta datumet före högsta datumet ***

I cellen L1 skriver du nu =K1-1, Om alt fungerar skall du då se datumet före högsta datumet.

 

*** Hitta näst högsta datumet ***

Upprepa nu modellen för att hitta högsta datumet men använd denna gången inte ett orimligt högt datum som letavärde utan tvärtom det värde som du fick in i L1.

*** Hitta nästnäst högsta osv ***

Upprepa föregående steg tills du har tio datum.

 

OBS Att hitta unika värden kan göras på många sätt men jag gissar att du vill att det skall fungera automatiskt. Om din lista inte är sorterad i fatumordning och inte bör bli det så kan du kontakta oss på Excelspecialisten så kan vi ta fram en lösning på problemet.

 

mvh

 

 


Kihlman

Excelforum drivs av Excelspecialisten som bedriver utveckling av program, utbildning samt support och hjälp i Excel och VBA.

www.excelspecialisten.se

Nytt inlägg
 2012-08-29 16:11
 

Hej,

tyvärr är listan inte sorterad då listan är byggd på hur de olika enheterna är uppbygda där varje tjänst därefter är påhängd en befattningshavare som har individuella värden över ett antal kollumner.

Jag vill att formlen skall fungera automatiskt, utan VBA, då vi har erfarenhet av att detta ställer till problem i vårt nätverk. Formlen måste också kunna hantera ett område som definieras med en hel kollumn (Y:Y) då det även skall gå att lägga till rader.

Finns det verkligen ingen lättanvänd formel som letar unika värden? Det räcker med formlens namn så kanske jag själv kan lista ut hur jag kan använda den för att uppnå syftet.

Tack!

/TK

Nytt inlägg
 2012-08-30 15:42
 

Hej igen!

Det finns en formel på nätet:

 =OM(ANTAL(OM(PASSA(List;List;0)=(RAD(List)-RAD(List_start)+1);ANTAL.OM(List;"<"&List)+1;""))>(RAD(List)-RAD(List_start));INDEX(List;PASSA(MINSTA(OM(PASSA(List;List;0)=(RAD(List)-RAD(List_start)+1);ANTAL.OM(List;"<"&List)+1;"");(RAD(List)-RAD(List_start)+1));OM(PASSA(List;List;0)=(RAD(List)-RAD(List_start)+1);ANTAL.OM(List;"<"&List)+1;"");0));"")

Källa:

http://www.get-digital-help.com/2009/04/14/create-a-unique-alphabetically-sorted-list-extracted-from-a-column/

Eller med andra ord, det finns ingen enkel formel. Det är ganska lätt att fixa med VBA.

Beträffande VBA och nätverket så vet jag inte vad du menar. Man bör väl dock inte låta VBA arbeta via ett nätverk där användarna lokalt arbetar mot en nätverksenhet. Det kan nog bli segt, men i detta fall rör det ju sig om en kod som är helt inkapslad i den dator som exekverar koden så där finns det inga problem.

mvh

 


Kihlman

Excelforum drivs av Excelspecialisten som bedriver utveckling av program, utbildning samt support och hjälp i Excel och VBA.

www.excelspecialisten.se

Nytt inlägg
 2012-09-17 16:10
 

Hej,

Tack för formeln. Efter lite funderande till så har jag nu kommit på en lösning som fyller mina behov, samtidigt som den är så enkel att jag skäms lite för att jag inte kommit på den tidigare. Lösningen baserar sig i att jag måste veta hur många som är påverkade av varje unika datum.

Jag började med MINSTA formlen "=MINSTA(Y:Y;1)" för att få det lägsta värdet. Därefter räknar jag hur många gånger den förekommer i cellen bredriv "=ANTAL.OM(Y:Y;Ref).

Det slutade med att min lista ser ut så här:

[A] [B]
[=MINSTA(Y:Y;1)] [=ANTAL.OM(Y:Y;A1)]
[=MINSTA(Y:Y;(B1+1))] [=ANTAL.OM(Y:Y;A2)]
[=MINSTA(Y:Y;(SUMMA(B1:B2)+1))] [=ANTAL.OM(Y:Y;A3)]
[=MINSTA(Y:Y;(SUMMA(B1:B3)+1))] [=ANTAL.OM(Y:Y;A4)]
[=MINSTA(Y:Y;(SUMMA(B1:B4)+1))] [=ANTAL.OM(Y:Y;A5)]
osv...

Tack för möjligheten att bolla och fundera.

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelDe 10 lägsta datumen (utan dubletter)De 10 lägsta datumen (utan dubletter)

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