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

 
ForumForumDiskussionerDiskussionerExcelExcelEn ärendeutdelningslistaEn ärendeutdelningslista
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2019-04-09 21:33
 
Hej

Jag vill skapa en ärendeutdelningslista som ska kunna svara på vem som är näst på tur att ta emot ett inkommande ärende.

Jag tänker såhär:
Jag har 3 handläggare: Anna, Berit och Conny
Det finns 3 ärendetyper: X, Y & Z

Jag har en tabell med 3 kolumner där jag för in varje ärende som delas ut:
Kolumn A: Datum för utdelat ärende (ÅÅÅÅ-MM-DD)
Kolumn B: Vilken handläggare som fick ärendet (Anna, Berit eller Conny)
Kolumn C: Vilken ärendetyp det var (X, Y eller Z)

Som komplement till denna lista vill jag skapa en formel som kan räkna ut vilken handläggare som är näst på tur att bli tilldelad ett ärende. Formeln ska vara beroende av ärendetyp, alltså en formel per ärendetyp.

Låt säga att turordningen är alfabetisk i detta fall. Om Anna var senast att bli tilldelad ett ärende av typen X så är det Berits tur att bli tilldelad nästa ärende av typen X, därefter Conny och därefter Anna igen.

Formeln ska alltså kunna titta i min tabell och se vem som senast blev tilldelad ett ärende att t ex typen X och utifrån detta återge vem som står näst på tur. Jag tänker mig något i stil med: "Av alla rader med ärendetyp X (kolumn C), vilket namn (kolumn B) står på den rad med störst datumvärde (kolumn A)?

Ovanstående skulle alltså svara på vem som senast blev tilldelad ett ärende av typen X. Jag har inte ens lyckats skapa en formel som löser detta åt mig än.

Nästa steg är att utifrån svaret på ovanstående fråga kunna räkna ut vem som är näst på tur. Alltså om svaret på frågan om vem som senast blev tilldelad ett ärende av typen X blir "Anna" så vill jag att min formel ska returnera värden "Berit".

Det vore bra om formeln som räknar ut vem som står på tur kunde referera till någon lista över mina handläggare istället för att rent manuellt svara på "OM Anna, så Berit; OM Berit, så Conny; OM Conny, så Anna" osv. Jag tänker att det kanske börjar en David som också ska kunna läggas till i rotationen så småningom.

Jag har verkligen inte en susning på hur man ska lösa steg 2 i den här formeln. Har ni en lösning på steg 1 (att svara på vem som senast blev tilldelad ett ärende av en viss ärendetyp) så är jag tacksam för det också. Då kan jag kanske arbeta halvmanuellt utifrån det. Allt behöver inte inkluderas i en enda formel om det nu skulle göra saken lättare.

Tacksam för alla svar jag kan få!

Nytt inlägg
 2019-04-10 14:45
 

Exempel med 82 rader (varför inte?)

 

Du kan relativt lätt hitta det högsta datumet som har Ärendetyp  "Y."

T.ex med den här matisformeln (tryck CTRL+Shift+enter så att formeln får "måsvingar" {} ):

=MAX(OM(C2:C82="y";A2:A82))

Eller så här om du vill slippa matrisformel

=PRODUKTSUMMA(MAX((C2:C82="y")*(A2:A82)))

=MÄNGD(14;6;(A2:A82)/(C2:C82="Y");1)

Något slags Maxfunktion krävs i alla fall.

 

Sen får du försöka att returnera raden som innehåller ärendetyp Y just det  datumet. exempelvis genom att slå ihop datum och Y i både "sök i" och sök efter:

=PASSA(MAX(OM(C2:C82="y";A2:A82))&"y";A2:A82&C2:C82;0)

och hämta namnet för raden med INDEX

=INDEX(B2:B82;PASSA(MAX(OM(C2:C82="y";A2:A82))&"y";A2:A82&C2:C82;0))

Det här måste vara en matrisformel (Ctrl+shift+Enter så att formeln får måsvingar):

{=INDEX(B2:B82;PASSA(MAX(OM(C2:C82="y";A2:A82))&"y";A2:A82&C2:C82;0))}

Om du vill slippa matris får du krångla till det:

=FÖRSKJUTNING($B$1;PRODUKTSUMMA(RAD(A2:A82)*((A2:A82=MAX((C2:C82="Y")*(A2:A82)))))-1;0)

 

Nu har du namnet. Fomeln är så lång så vi låter formeln returnera värdet i någon cell. T.ex cell H2..

 

Om du har namnet i cell H2 så måste du hantera ordningen på något sätt. Det enklaste är att göra som du tänkte först. Fast staplat istället för nästlat så slipper du hålla reda på paranteser osv.:

=OM(H2="anna";"betil";"")&OM(H2="bertil";"ceasar";"")&OM(H2="ceasar";"Anna";"")

Problemet är naturligtvis "slutvilkoret". Om du lägger till namn så måste du byta när man skall hoppa tillbaks till början  (Ceasar till anna skall bytas till Ceasar till erik och Erik till anna).

 

Du kan köra en räkne-lösning istället.

Använd PASSA() för att ge personen ett nummer

=PASSA(H2;{"Anna";"Bertil";"Conny"};0)

dvs anna blir1,  bertil 2 osv

Nu kan du använda rest (resten av en division) + ett för att få talen att "gå i cirlkar ", dvs få conny(3) att bli anna 1

=REST(PASSA(H2;{"Anna";"Bertil";"Conny"};0);3)+1

sen kan du returnera med hjälp av INDEX (behöver inte vara matris)

=INDEX({"Anna";"Bertil";"Conny"};REST(PASSA(H2;{"Anna";"Bertil";"Conny"};0);3)+1)

Inte helt smidigt eftersom du är låst till 3 personer och namnlistan står i formeln. Det är mycket bättre att skriva in din namnlista någonstans och titta i den. då kan du lägga till namn utan problem osv.

 

Exempel om namnlistan står i Blad2, cell A1:A10 (vi resserverar lite plats. du kan naturligtvis köra til A100 om du vill)

=INDEX(Blad2!$A$1:$A$10;REST(PASSA(H2;Blad2!$A$1:$A$10;0);ANTALV(Blad2!$A$1:$A$10))+1)

den sista delen ANTALV(Blad2!$A$1:$A$10) räknar antal namn så att den "loopar" till Anna efter rätt antal.

Nytt inlägg
 2019-04-12 06:55
 
WOW! Det funkar perfekt! Tack!
Nytt inlägg
 2019-04-13 09:03
 

Hej,

Två enkla alternativ.

När du skriver halvmanuellt så tänker jag att de tallra enklaste sättet är att använda autofilter. Om du först sorterar datumen från äldsta till nyaste. Har du skrivit in dem en efter annan så har de redan rätt ordning. Sedan filtrerar du på Y i fältet typ (C) och vips får du en filtrerad lista i datumordning vilka personer som senast utfört uppgiften Y.

Det andra alternativet är att använda Letarad. Om du skapar en ny kolumn som lägger ihop datum och uppgift (i nedan exempel kolumn K) så får du excels datumnummer och uppgiften, t ex 43567y. Lägg denna till vänster om Datum-kolumnen.

En cell ovanför listan använder du för att fylla i vilken typ av uppgift du vill söka efter, t ex Y.

Där du vill ha svaret skriver du formeln =LETARAD(TEXT(MAX(I9:I13);0)&K7;H9:K13;3;0).

I9:I13 är kolumnen med datum. K7 är cellen där du fyller i typen (Y). K7:H13 är hela listan där K-kolumnen är den tillagda kolumnen.

Det här svarar såklart inte på vem som skall ha nästa uppgift men det är en bit på vägen iaf. Har en idé om hur lösa steg 2. Om du gillar denna så kan jag fundera lite vidare.

cmm

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelEn ärendeutdelningslistaEn ärendeutdelningslista

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