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

 
ForumForumDiskussionerDiskussionerVBAVBAAvancerad uträkningAvancerad uträkning
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2022-09-21 20:57
 
 Ändrad av vescape  på 2022-09-21 20:57:35

Hej,

 Är det någon som har en lösning på hur jag automatiskt kan få excel genom vba/array få fram "Blockera" när det behövs till D kolumnen?

Logiken den behöver utgå från är följande:

Kolla igenom produkt för produkt om det finns lägre eller samma kvantitet och har ett senare "Mottaget datum" så ska den blockeras, alltså skriva in "Blockera" i D kolumnen. Jag har skrivit in "Blockera" där det behövs, så ni kanske förstår logiken :)

    A                 B                  C              D

Produkt Mottaget datum Kvantitet  
1 2022-03-24 168  
1 2022-03-24 100  
1 2022-03-26 168 Blockera
1 2022-03-28 56 Blockera
2 2022-03-24 28  
2 2022-03-24 168  
2 2022-03-25 168 Blockera
2 2022-07-28 5 Blockera
Nytt inlägg
 2022-09-22 12:30
 

Hej hej

Det där behöver du dock inte vba till. har du 365 så slår du in nedan funktion som vanligt. Har du äldre version så slår du in funktionen med ctrl + shift + enter.

=OM(SUMMA(--(C2>$C$2:$C$9))*(--(A2=$A$2:$A$9))*(--(B2>=$B$2:$B$9))>0;"Blockera";"")

Är det så att du har väldigt många rader så ska du dock köra vba istället, då matrisfunktioner så som ovan är ganska tunga.

Mvh

Christian

Nytt inlägg
 2022-09-22 17:12
 
 Ändrad av vescape  på 2022-09-22 17:12:52

 Hej Christian! Tack för ditt svar.

Tyvärr funkade det inte som tänkt, jag fick detta resultatet:

(ville egentligen haft Blockera på de två sista av produkt 1 och 2)

 

Produkt Mottaget datum Kvantitet  
1 2022-03-24 168 Blockera
1 2022-03-24 100 Blockera
1 2022-03-26 168  
1 2022-03-28 56  
2 2022-03-24 28  
2 2022-03-24 168  
2 2022-03-25 168  
2 2022-07-28 5  

Formeln som jag skrev in blev:

 =IF(SUM(--(C2>$C$2:$C$9))*(--(A2=$A$2:$A$9))*(--(B2>=$B$2:$B$9))>0;"Blockera";"")

Mvh Viktor

 

Nytt inlägg
 2022-09-23 09:32
 

 Hej

Det saknades en öppen parentes efter SUM, samt en stängd parentes innan >0. Dessutom lite justeringar av >=.

=OM(SUMMA((--(C2<=$C$2:$C$9))*(--(A2=$A$2:$A$9))*(--(B2>$B$2:$B$9)))>0;"Blockera";"")

/c

Nytt inlägg
 2022-09-23 14:40
 

 Hej,

Tack, nu fungerar det! Men jag upptäckte en till kriteria som den gärna ska gå efter också,

I detta fall bör den också lägga "Blockera" på den sista raden, eftersom mittenraden blivit blockerad, annars kommer den sista raden inte vara blockerad när första radens kvantitet tar slut, jag har svårt att få fram exakt hur jag menar. Men du kanske förstår?

4 2021-11-22 12  
4 2021-11-30 11 Blockera
4 2021-12-08 13  

 

Mvh Viktor

Nytt inlägg
 2022-10-03 09:45
 

 Hej hej

Nja jag förstår nog inte helt, därför att då skulle i stort sätt alla rader bli blockerade förutom den tidigast inkomna raden för varje produkt. Med nedan förutsättning frångås tidigare logik nästan helt. 

Mvh

Christian

Nytt inlägg
 2022-10-03 15:46
 

Hej,

Du har rätt, det är faktiskt bäst att den fungerar så som du redan har gjort formeln.

Jag tackar ödmjukast för din hjälp Christian :)

Mvh Viktor

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAAvancerad uträkningAvancerad uträkning

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