Avatar billede ladelund Juniormester
08. juli 2020 - 15:47 Der er 14 kommentarer og
2 løsninger

Subtotal hvis større end 0

Hej Eksperter

Jeg har et stort regneark hvor jeg har brug for en subtotal der summerer alle tal større end 0.

Vare        Antal
Vare1    1
Vare1    2
Vare2    3
Vare2    0
Vare1    -1
Vare2    -2
Vare3    5
Vare3    -2

Hvis jeg filterer på Vare1 skal resultatet gerne give 2 i dette tilfælde.
Grund til at at ikke bare filter på kolonnen Antal er at den tager ca. 2-3 min om at lave en beregning efter at jeg har sat et filter. (ja, det er et stor regneark).

Nogen forslag?

På forhånd tak
Avatar billede supertekst Ekspert
08. juli 2020 - 15:55 #1
Hvor mange rækker?
Avatar billede kim1a Ekspert
08. juli 2020 - 16:23 #2
Sumhvis formlen bør være løsningen?
Avatar billede ebea Ekspert
08. juli 2020 - 16:30 #3
En hurtig beregning, med vare Nr. som reference i celle, og uden filter. 
=SUM.HVIS($A$2:$A$1000;D$1;$B$2:$B$1000)

Eller hvis du vil have Vare Nr. direkte i formel.
=SUM.HVIS($A$2:$A$1000;"Vare1";$B$2:$B$1000)
Avatar billede ladelund Juniormester
08. juli 2020 - 16:32 #4
@supettekst Pt er der 8976 rækker med stiger og falder lidt alt efter hvor mange varer der er aktive i vores system.

@kim1a Sumhvis tager ikke hensyn til filter i en kolonne, så vidt jeg ved.
Avatar billede ebea Ekspert
08. juli 2020 - 18:30 #5
#4 - Du kan godt lave SUM.HVIS med filter funktion. Du skal blot ikke placere formlerne i rækkerne hvor du filtrerer (sæt dem i f.eks. øverste række).
Avatar billede kim1a Ekspert
09. juli 2020 - 08:33 #6
Ah, nu forstår jeg. De snød at vare1 også i antal gav 2 :-) Du vil have den til at tælle antal linjer med "Vare 1" hvis antal over 0, så minus et skal ikke tælle f.eks.

Kan en pivot ikke bruges så?
Avatar billede ladelund Juniormester
09. juli 2020 - 08:50 #7
@kim1a: Korrekt. Jeg har brug for at kunne filter på flere forskellige kolonner og det gør at pivot ikke rigtig fungere til det her. Jeg har prøvet.

@ebea: Kan du uddybe det lidt?
Avatar billede ebea Ekspert
09. juli 2020 - 09:12 #8
#7 - jeg tror at det nemmeste/bedste ville være, hvis du uploade enten dit Ark, eller et eks. på hvad det er du eksakt vil.
Det ville minimere et ukendt spørgsmål/svar, og en mega lang tråd, herinde.
Avatar billede ladelund Juniormester
09. juli 2020 - 09:45 #9
Her er et link til et regneark der indeholder lidt af de data det drejer sig om.
Håber det virker :-)

https://powermaxdk-my.sharepoint.com/:x:/g/personal/klj_powermax_dk/EdGkclUXqFFEvXPPvXhZsSUBRYtgpgGJMPc7rHzTtZ0BdQ?e=el8aQg

Jeg ved ikke lige hvordan jeg uploader regnearket.
Avatar billede Jan K Ekspert
09. juli 2020 - 10:27 #10
Avatar billede ebea Ekspert
09. juli 2020 - 10:52 #11
#9 - Ja, det var så ikke muligt at hente regnearket.
Men ud fra dine data, så har jeg lavet et eks. her, som jeg mener ville gøre det samme som du gør, men beregning som sker inden for 1 sekund.
https://www.dropbox.com/scl/fi/1s97mpx4c2qzlgozterfw/totalsum-eks.xlsx?dl=0&rlkey=whg2edlwfnhodg83xzv8mu52c
Avatar billede ebea Ekspert
09. juli 2020 - 11:05 #12
Og hvis det skal være tal over 0, så brug denne formel:
=SUM.HVISER($E$4:$E$6000;$B$4:$B$6000;$D$1;$E$4:$E$6000;">0")
Avatar billede ladelund Juniormester
09. juli 2020 - 11:24 #13
Jeg tror ikke jeg har udtrykt mig tydelig nok, det beklager jeg.

Den subtotal der skal beregnes skal tage hensyn til hvilke filtre der er sat i kolonnerne hovederne. Nøjagtig som Subtotal normalt vil gøre, men den skal kun lægge de tal sammen der er >0.
Hvis der f.eks. i kolonne I filtres på "UNITS" og i kolonne G filtres på "Nej" skal summen i E2 være summen af alle synlige tal i kolonne E der er >0.

Det er altså som udgangs punkt ikke et filtre der sættes i formelen da jeg skal kunne filtrer på mange kolonner på engang.

Håber det hjælper lidt på hvad det er jeg søger. :-)
Avatar billede ladelund Juniormester
09. juli 2020 - 11:38 #14
=SUMPRODUKT((E4:E5055>0)*(SUBTOTAL(109;FORSKYDNING(E4;RÆKKE(E4:E5055)-MIN(RÆKKE(E4:E5055));0))))

Denne formel ser umiddelbart ud til at virke. Jeg skal lige have testet lidt mere men det ser lovende ud.

Tak til Jan K
Avatar billede ladelund Juniormester
09. juli 2020 - 12:04 #15
Jep, det virker. Har lige testet det i det originale regneark. :-)
Avatar billede ebea Ekspert
09. juli 2020 - 12:13 #16
#13 - Ja, det var en lidt anden forklaring. Prøv med denne formel.

=SUMPRODUKT(1-SUBTOTAL(3;FORSKYDNING($E$4:$E$6000;RÆKKE($E$4:$E$6000)-RÆKKE($E$4);0;1));--($E$4:$E$6000>0);$E$4:$E$6000)
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

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