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
supertekst Ekspert
08. juli 2020 - 15:55 #1
Hvor mange rækker?
kim1a Ekspert
08. juli 2020 - 16:23 #2
Sumhvis formlen bør være løsningen?
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)
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.
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).
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å?
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?
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.
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.
Jan K Ekspert
09. juli 2020 - 10:27 #10
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
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")
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. :-)
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
ladelund Juniormester
09. juli 2020 - 12:04 #15
Jep, det virker. Har lige testet det i det originale regneark. :-)
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)
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

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





Premium
Test: Lenovos seneste budget-basker kan det hele - man skal dog leve med en alt for synlig svaghed
Computerworld tester Lenovos Ideapad 5. Maskinen er stærk, prisen er skarp og designet er vellykket. Men der er stadig en god grund til at springe modellen over.
Job & Karriere
Regner din ferie væk? Brug tiden på at søge en af disse otte stillinger, der er ledige netop nu
Det sjasker ned over hele Danmark. Du kan bruge de våde sommerdage på at søge et af disse otte job, der er ledige lige nu.
White paper
Sådan får du et sikrere og mere effektivt netværk med SD-WAN
Kombinationen af cloud og mere effektive arbejdsformer - og hjemmearbejde – kan både netværk og sikkerhed nemt blive udfordret. Samtidig kan de traditionelle løsninger hurtigt blive dyre, især når sikkerheden skal følge med. I dette whitepaper kan du læse om udfordringerne med de traditionelle netværkskonfigurationer og hvilke fordele som et software defined netværk kan give, samt hvordan du tænker sikkerhed ind i løsningen fra starten.