mboost-dp1

Excel hjælp.


Gå til bund
Gravatar #1 - Inum
29. feb. 2016 21:24
Hej

Sidder og leget lidt med et excelark til jobbet, hvor vi har en kolonne med artikelnumre og en kolonne med beholdning. Hvert artikelnummer består af 8 cifre. De første 5 cifre angiver typen, og de sidste 3 angiver typisk størrelsen på den enhed. Eksempelvis som dette:

19502001 spand, blå, 0,5 ltr. 3 stk.
19502002 spand, blå, 1,0 ltr. 2 stk.
19502003 spand, blå, 2,0 ltr. 8 stk.

19503001 spand, gul, 0,5 ltr. 1 stk.
19503002 spand, gul, 1,0 ltr. 3 stk.
19503003 spand, gul, 2,0 ltr. 3 stk.


Det jeg så gerne vil kunne, er at få excel til at summere beholdningen automatisk på de numre der hedder det samme i de første 5 cifre. Så det egentlig bliver til:

19502 spand, blå, 13 stk.
19503 spand, gul, 7 stk.

Jeg tænker egentlig det kan gøre med noget pivot-tabel, men jeg kan ikke lige gennemskue hvordan det vil skulle sættes op for at fungere.
Ydermere kan jeg sige at arket indeholder et par tusind linjer, så jeg vil helst være fri for at gøre det manuel.
Gravatar #2 - bbb2020
1. mar. 2016 19:44
Brug funktionen =SUM.HVIS

Hvis vi i dit eksempel siger at tallet 19502001 er i celle A1 og hvert mellemrum svare til et kolonneskifte, så vil antallet (3, 2, 8 etc.) stå i kolonne F (F1 er altså tallet 3).

Din formel vil så se sådan her ud =SUM.HVIS(A1:A7;"19502*";F1:F7)
Resultatet bliver 13

Selvfølgelig skal det ikke være så let og der er da også en hage ved det. Du kan kun søge efter en tekststreng i tekst.
Du er derfor nød til, at ændre alle tallene i kolonne A til tekst.
Da dette kan have indvirkning på andre dele af dit regneark, vil jeg nok oprette en ny kolonne et andet sted til dette formål.
Lad os sige kolonne T. Du kopierer altså alle tallene fra kolonne A til kolonne T og omformer dem til tekst.

Din formel vil nu se sådan her ud =SUM.HVIS(T1:T7;"19502*";F1:F7)

Du kan nu lege videre med formlen og for eksempel finde alle spande på 1,0 ltr.
=SUM.HVIS(T1:T7;"*002";F1:F7) hvilket giver resultatet 5

Alle gule spande =SUM.HVIS(C1:C7;"*gul*";F1:F7) hvilket giver 7

Og er du rigtig modig, kan du også udfører beregning ud fra flere kriterier. Lad os sige blå og 2,0 ltr.
Her skal du bruge funktionen =SUM.HVISER

Formlen bliver =SUM.HVISER(F1:F7;C1:C7;"*blå*";T1:T7;"*003") hvilket giver 8.
Gravatar #3 - Inum
1. mar. 2016 21:39
Okay. Tak for svaret.

Vil det stadig kunne lade sig gøre hvis det lige bliver en tand mere avanceret?

Her tænker jeg at excelarket automatisk løber de 2000-3000 linjer igennem og summere antallet ved de forekomster hvor de første 5 cifre er ens.
For at gøre det endnu svære er der intet system i hvordan de første 5 cifre bliver defineret.

Ligeledes er der heller ikke noget system i hvor mange forskellige slutcifre der er. Forstået på den måde at det sagtens kan være således:

174214001
174214002
174214006
174214008

183412002
183412100

osv., hvis du forstår.

Jeg har tidligere med god succes brugt =sum.hvis funktionen, men det var på et ark der var en tand mere simpelt. Det jeg prøvede på havde kun 5 forskellige tekststrenge, og skulle derefter bare summere antal på hele arket efter tekststrengen. Jeg tænker dog det jeg gerne vil måske er lidt mere avanceret end jeg kan komme rundt om med funktionen?
Gravatar #4 - Saxov
2. mar. 2016 08:39
Hvis du kan lave en ny kolonne, kan du jo lave en "produkt" kolonne, der er lig =LEFT(A1; 5) og så lave en sum via denne ?
evt. via en pivot tabel.
Gravatar #5 - bbb2020
2. mar. 2016 20:23
Vil nok give Saxov ret. Opret en ny kolonne som han skriver med funktionen =venstre() og derfra lav en pivot tabel.

Alle andre løsningsforslag vil kræve en masse formler og manuelt skrivning af, måske hundredvis af produktnumre og ingen garanti for at det vil virke.

Skriv endelig hvis du har yderligere spørgsmål.
Gravatar #6 - Inum
2. mar. 2016 23:13
Okay. Tak for svar indtil nu. :)

Jeg vil prøve mig lidt frem med funktionen =left og se om jeg kan få det til at fungere.
Når jeg lige har haft tid til at lege lidt med det vender jeg tilbage - enten med yderligere spørgsmål eller så den valgte løsning.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login