Avatar billede kgndksv Juniormester
12. august 2009 - 11:36 Der er 11 kommentarer og
1 løsning

Hardcore excel - summering med flere beting og afgræns.

Hej Jeg har et meget stort probem som overgår mine begrænsede evner :-) Men jeg har en ide om at man rent faktisk kan løse det i Excel.

jeg skal lave en summering af nogle sælgers mersalg, hvis de har solgt et produkt A. Summeringen skal ikke medregne produkt A's værdi, samtidig er det en betingelse at summeringen kun bliver lavet hvis Hvis det er samme kunde der har købt produkt A og mersalget. Det skal tilmed være et krav summeringen sker for en dato.

Jeg har følgende data som jeg mener er tilstrækkeligt:

Debitornr  dato  sælger  produktværdi  produkttype
2222      01/03-08  KHK  1900        produkt A
2222      01/03-08  KHK  200        merslag
2222      01/03-08  KHK  3500        mersalg
1221      01/03-08  KHK  1500        mersalg
0222      01/03-08  MMM  1900        Produkt A
0222      01/03-08  MMM  200        mersalg
6666      01/03-08  AAA  320        mersalg
7777      01/03-08  SKA  1900        Produkt A
6666      01/03-08  AAA  1900        Produkt A
2222      03/03-08  KHK  190        mersalg
7788      03/03-08  KAK  770        mersalg
7788      03/03-08  KAK  120        Produkt A
7788      03/03-08  KAK  200        mersalg

Udfra ovenstående ville jeg gerne have en ny kolonne hvor der udfor hver linie med Produkt A kommer en summering af mersalgene

Eksempelvis første række med Kundenr. 2222 skal skal give 3700


Alternativt er en VBA kode også brugbar...
Avatar billede kgndksv Juniormester
12. august 2009 - 14:48 #1
... og rækken med debitornr. 7777 skal give 0...
Avatar billede jkrons Professor
12. august 2009 - 15:27 #2
Sumprodukt er din ven :-)

Fx noget i denne stil:

=SUMPRODUKT((A1:A20=2222)*(B1:B20=39508)*(D1:D20="mersalg")*(C1:c20))

eller noget, der ligner.
Avatar billede kgndksv Juniormester
13. august 2009 - 10:24 #3
Ja, det anede mig... :-)

Min formel ser således ud:

=SUMPRODUKT(($A$2:A14=A2)*($B$2:B14=B2)*($E$2:E14=E2)*(B$2:$C14=C2)*($D$2:D14))

Den giver egentlig de rigtige tal.

Men den skriver jo værdierne for hver række. Men jeg ville gerne have at værdierne kun står én gang og værdier kun står ud for rækken med "Produkt A" og at det er en betingelse for at den kun summer hvis der både er et Produkt A og et mersalg

Altså der skal kun summes ud for række 1(3700) og række 5(200)og række 9(320 og række 12(970)

Jeg har en ide om at jeg skal bruge flere celler til at lave forudsætniger, men kan ikke få det til at virke...
Avatar billede kgndksv Juniormester
13. august 2009 - 11:48 #4
Vil gerne have at arket skal se sådanne ud:

2222      01/03-08  KHK  1900    produkt A    3700
2222      01/03-08  KHK  200      merslag      0
2222      01/03-08  KHK  3500    mersalg      0
1221      01/03-08  KHK  1500    mersalg      0
0222      01/03-08  MMM  1900    Produkt A    200
0222      01/03-08  MMM  200      mersalg      0
6666      01/03-08  AAA  320      mersalg      0
7777      01/03-08  SKA  1900    Produkt A    0
6666      01/03-08  AAA  1900    Produkt A    320
2222      03/03-08  KHK  190      mersalg      0
7788      03/03-08  KAK  770      mersalg      0
7788      03/03-08  KAK  120      Produkt A    970
7788      03/03-08  KAK  200      mersalg      0

Er det bedre forklaret?? :-)
Avatar billede jkrons Professor
13. august 2009 - 12:32 #5
Kun at få den til at skrive ud for Produkt A burde være forholdsvist nemt:

=HVIS(OG(E2<>$E$2;SUMPRODUKT(($A$2:A14=A2)*($B$2:B14=B2)*($E$2:E14=E2)*(B$2:$C14=C2)*($D$2:D14))=0);0;SUMPRODUKT(($A$2:A14=A2)*($B$2:B14=B2)*($E$2:E14=E2)*(B$2:$C14=C2)*($D$2:D14)))

Skriv formlen i F2 og kopier nedad. Der kan være enn "slåfejl", men prøv selv.
Avatar billede kgndksv Juniormester
13. august 2009 - 13:02 #6
Umiddelbart skriver den stadig det samme - altså stadig ud for hver række - Jeg er ude i at sortere dataen, også lave et par forskydninger, men det er jo langt fra den mest optimale løsning!!

Jeg kan ikke gennemskue hvad "hvis(og($E$2<>..." gør
Avatar billede kgndksv Juniormester
13. august 2009 - 14:14 #7
Mit eget forslag amatør-forslag lyder:

Kolonne E:
=SUMPRODUKT(($A$2:A14=A2)*($B$2:B14=B2)*($C$2:C14=C2)*($D$2:D14=D2)*($E$2:E14))

en makro Sortering efter dato, debitornr og produkttype, og så;

Kolonne F:
=HVIS(D2="A lån";HVIS(FORSKYDNING(D2;1;0)="A lån";0;FORSKYDNING(D2;1;2));0)

Det er ikke optimalt... er der en anden løsning :-)
Avatar billede jkrons Professor
13. august 2009 - 16:35 #8
Jeg har nok lavet en fejl i formlen:

=HVIS(E2<>$E$2;0;SUMPRODUKT(($A$2:A14=A2)*($B$2:B14=B2)*($E$2:E14=E2)*(B$2:$C14=C2)*($D$2:D14)))

Burde være nok.
Avatar billede kgndksv Juniormester
13. august 2009 - 20:39 #9
Altså for mig virker det som om at formlen blot skriver produkt A's værdi ud for produkt A's række.

Det var ikk helt det jeg mener - jeg vil gerne have at den regner summen ud for de "mersalg" der knytter sig til det pågældende "produkt A" og blot skriver 0 ud for hvert mersalg og 0 ud for de produkt A som der ikke knytter sig mersalg til... Er det dårligt forklaret?? :-)

har prøvet at illustrere det i #4
Avatar billede jkrons Professor
13. august 2009 - 22:23 #10
Med data startende i A2, og denen formel i F2:

=HVIS(E2="mersalg";0;SUMPRODUKT(($A$2:$A$20=A2)*($B$2:$B$20=B2)*($E$2:$E$20="mersalg")*($D$2:$D$20)))

opnår jeg

2222 01-01-2998    KHK 1900 produkt A 3700
2222 01-03-2008    KHK 200    mersalg  0
2222 01-03-2008    KHK 3500 mersalg  0
1221 01-03-2008    KHK 1500 mersalg  0
222  01-03-2008    MMM 1900 Produkt A 200
222  01-03-2008    MMM  200 mersalg  0
6666 01-03-2008    AAA  320 mersalg  0
7777 01-03-2008    SKA 1900 Produkt A 0
6666 01-03-2008    AAA 1900 Produkt A 320
2222 03-03-2008    KHK  190 mersalg  0
7788 03-03-2008    KAK  770 mersalg  0
7788 03-03-2008    KAK  120 Produkt A 970
7788 03-03-2008    KAK  200 mersalg  0

Det var vidst det, du ønskede.
Avatar billede kgndksv Juniormester
14. august 2009 - 00:33 #11
Tusind, tusind tak!! 200 Point for mere end almindelig god vedledning!!

Jeg vidste det kunne laves smartere end mit eget - Som nybegynder er man begrænset af ikke at kunne overskue formlernes fleksibilitet og hvordan de skal sættes sammen i sit hoved. Det er lige præcis derfor Eksperten.dk er DK's bedste site!

Hvad kan dog ikke lade sig gøre med Excel... :-)

Mvh.
KGNDKSV
Avatar billede jkrons Professor
14. august 2009 - 14:45 #12
Velbekomme :-) , og jam, der er mange muligheder i Excel. Du kan  evt. se flere her:

http://kronsell.net/Excel.htm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester