Just nu i M3-nätverket
Gå till innehåll

Nolla underkända artiklar


Rekommendera Poster

Hejsan! Har dessa rader + ett antal tusen rader nedanför dessa och artiklarna ligger helt slumpvis, det jag vill få till med detta är att varje gång en artikel blir underkänd så ska den nollas (0) och när den kommer nästa så ska det börja om på 1 och plussa på 1 varje gång den blir godkänd tills den blir underkänd igen då nollas(0) den igen och så håller det på. Lade in ett exempel i kolumnen "godkända i rad". Om nu detta är möjligt, vet ej, min hjärna klarar då inte av det.

Ankomst.jpg.861bf91612014f353cdf76841c3a7443.jpg

Länk till inlägg
Dela på andra webbplatser

Jag var nära att ge upp men se på denna fina formel som jag knappt kan förklara...

=OM([@[Ok/Ej Ok]]="Underkänd";0;SUMMA.OM(FÖRSKJUTNING($C$1;[@[Senast underkänd]];0;RAD()-[@[Senast underkänd]]);[@[Art.Nr]]; FÖRSKJUTNING($F$1;[@[Senast underkänd]];0;RAD()-[@[Senast underkänd]])))

 

Men med två stödformler:

I Utfall:

=([@[Ok/Ej Ok]]="Godkänd")*1

Så vi där från din värdet 1 vid godkänd.

Sedan en ny kolumn, Senast underkänd, där vi skriver in

=MAX((RAD($A$1:A1))*([@[Art.Nr]]=($C$1:C1))*($E$1:E1="Underkänd"))

som tar fram senaste rad där aktuell artikeln blivit underkänd.

Sedan formeln ovan som, enkelt sagt, först kolla om underkänt => 0

Annars bygger upp två referenser, en över Art.Nr och en över Utfall som går från "Senast underkänd" till den rad du är på och summerar om Art.Nr stämmer med aktuellt Art.Nr

 

OBS anpassa så att referenserna är på rubrikraden på din tabell, i mitt fall är den placeras i A1

bild.png.16d21f3e4dce0bf1baa98588528f4cbd.png

 

och en liten brasklapp, inte jättetunga formler men man vet aldrig med några tusen rader att beräkna

Samt tabellen MÅSTE VARA SORTERAD på datum för att detta ska fungera.

 

Äh, här har du en exempelbok ävenSenasteBeräkning.xlsx

 

  • Tack 1
Länk till inlägg
Dela på andra webbplatser

Tjena Monshi! Verkar fungera precis som jag ville att det skulle fungera, ni är grymma som sitter och hjälper folk på detta viset.

Superstort tack från mig

 

/Micke

  • Gilla 1
Länk till inlägg
Dela på andra webbplatser

En liten not för den som kikar på detta i framtiden. Det finns lite delar i formeln som utgår från att tabellen startar på rad 1.

Om tabellen finns på annan plats i bladet måste detta hanteras.

 

@miksor65 kul att kunna hjälpa och alltid kul att knäcka nötter. är lite spänd på om @MH_ kommer komma med en enklare/annorlunda lösning.

  • Tack 1
Länk till inlägg
Dela på andra webbplatser

Hej igen! undrar nu om det finns nån funktion som är enklare än vad denna är

 

=OM(Tabell13[@Resultat]<5;"F0 (15)";OM(Tabell13[@Resultat]=5;"F5 (7)";OM(Tabell13[@Resultat]=6;"F5 (7)";OM(Tabell13[@Resultat]=7;"F10 (7)";OM(Tabell13[@Resultat]=8;"F10 (7)";OM(Tabell13[@Resultat]=9;"F20 (5)";OM(Tabell13[@Resultat]=10;"F20 (5)";OM(Tabell13[@Resultat]>10;"F50 (0)"))))))))

 

den fungerar men är ful och jobbig om man vill göra ändringar.

 

/Micke

Länk till inlägg
Dela på andra webbplatser

jag skulle säga med så många val skulle jag sätta upp en tabell med brytvärdena och de värden som de ska få och sedan använda PASSA för att söka i kolumnen med brytvärden och  INDEX för att hämta rätt värde.

Ett litet demo:

bild.png.78541b2563399524de48b5602e609011.png

Notera passa med sökargumentet 1 för att få rätt beteende och du måste ha ett värde mindre än minsta brytvärdet, dvs noll. Testa lite så ska du se att det fungerar. Formatera bryttabellen som en tabell så blir formlerna lite enklare att förstå.

  • Gilla 1
Länk till inlägg
Dela på andra webbplatser

Vart en betydligt kortare formel nu, det svåra med funktionerna är ju att förstå vad dom gör, vart ju rätt logiskt med din förklaring.

 

Tackar igen

 

/Micke

Länk till inlägg
Dela på andra webbplatser
Postad (redigerade)
2021-05-15 12:42, skrev Monshi:

är lite spänd på om @MH_ kommer komma med en enklare/annorlunda lösning.

@Monshi det skulle väl gå att förenkla lite om man accepterar att strukturerade referenser (tabellformler) inte passar när man vill jämföra upp/ner i en tabell. Kör man klassiska referenser där man låser startpunkten går det att göra det lite enklare. 

=OM(F2=0;0;OM(ANTAL.OM($C$1:C1;C2)=0;1;INDEX($G$1:G1;MAX(($C$1:C1=C2)*RAD($C$1:C1)))+1))

 

Starten är ganska enkel

=OM(F2=0;0;OM(ANTAL.OM($C$1:C1;C2)=0;1;

Den nollställer "Godkända i rad" om  utfall är 0

Sen kollar man om det är första gången Artikelnumret förekommer, då får den en etta som startvärde. Dvs "Godkända i rad" = 1 

 

När Artikelnumret finns minst en gång ovanför så körs:

MAX(($C$1:C1=[@[art.nr]])*RAD($C$1:C1))

för att hitta det sista föregående radnumret med samma artikelnummer och med hjälp av index returneras värdet från g-kolumnen på den raden

INDEX($G$1:G1;

Och så plussar man på 1

INDEX($G$1:G1;MAX(($C$1:C1=[@[art.nr]])*RAD($C$1:C1)))+1

 

Enklare, snabbare? Nja. tveksamt.. 

Redigerad av MH_
Någon tänkte fel med min hjärna
Länk till inlägg
Dela på andra webbplatser

Hej igen! Nu är den helt klar, men jobbar med andra som jag är lite rädd att dom kan ställa till det så jag skulle vilja låsa och skydda blad på vissa kolumner men då funkar det inte med att skapa nya leveranser/rader, kan det gå att komma runt på något sätt?

 

/MickeScreenshot_1.jpg.f3dd6b052c49cd1e189294708af69177.jpg

Länk till inlägg
Dela på andra webbplatser

Jag tror att enda lösning är att låsa hela tabellen och skapa formulärområde eller formulär där användare får mata in data som sedan VBA-kod kan kopiera in på rätt plats.

 

För som du säger, låser du bladet kan inte nya rader infogas i tabellen.

men kanske det räcker med att använda dig av datavalideringsverktyget och där sätta en indata-meddelande i stil med "rör inte denna kolumn din idiot"

  • Gilla 1
Länk till inlägg
Dela på andra webbplatser

Det låter för komplicerat för en sån här grej. Hehe! ja, jag tror jag kör på den sista varianten.

 

Tackar Monshi

 

/Micke

Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu


×
×
  • Skapa nytt...