17. januar 2005 - 21:49Der er
17 kommentarer og 2 løsninger
sum.hvis - skal opfylde 2 betingelser
Hej.
Jeg har en lille hurtig en.
Jeg skal lave en sum.hvis der skal opfylde 2 betingelser. Den første er at den skal kigge a1:a100 igennem, og kigge efter alle der hedder "1". Når det så er gjort, skal den næste sum.hvis så kigge alle b1:b100 igennem og kigge efter alle der hedder "1000". Når disse to betingelser er opfyldt, skal den summere på c1:c1000 og d1:d1000 og e1:e1000
Hmm.. umiddelbart kan jeg ikke få den til at virke. Jeg må hellere forklare lidt mere udførligt.
I mit ark "Oversigt2004" har jeg i kolonne B3 et nummer "1000". I kolonne C2 har jeg også et tal "1". I kolonne C3 skal formlen stå, og den skal gøre følgende:
Kig i arket DATA i celle B3:B100 efter alle der hedder "1". Når dette er gjort, skal den kigge efter alle "1000" i arket DATA i celle D3:D100. Når disse to betingelser er opfyldt, skal den summere G3:G100 + H3:H100 + I3:I100 i arket DATA.
Mener ikke sumprodukt vi virke på det her, da den ganger tallene i de enkelte kolonner med hinanden.
Men excel har en wizard til det
På engelsk "Conditional sum...", på dansk "Betinget sum...", menuen findes under Tools->Conditional sum...
Hvis du ikke har den menu, tilføjes den under Tools->Add-in
Wizard'en er, efter min mening, rimelig selvforklarende, men husk at hvis du retter i formlen bagefter så SKAL du bruge Shift+Ctrl+Enter og ikke kun Enter!
jo, sumprodukt virker skam fint til det, og det er netop fordi den ganger. Hvis vi er enige om at Falsk er 0 og sand er 1, vil Data!B1:B20=Oversigt2004!C2 give en matrix på 20 stk et-taller og nuller afhængig af om udsagnet et sandt eller falskt. det samme vil Data!D1:D20=Oversigt2004!B3 Data!G1:I20 vil bare give 20 summer. Altså vil excel regne produktet af disse matrixer ud.
Nu skriver fastwrite ikke noget om at der enten står 0 eller 1 i kriterie, faktisk skal der jo stå 1000 i den ene, men så kan man selvfølgelig bare dividere med 1000 til sidst i formlen. Desuden er betingelsen vel ikke nødvendig hvis der kun kan stå 0 eller 1 i Data!B1:B20 / Data!D1:D20.
Men hvad så hvis man fx. ønskede at summere Data!G3:I100, hvor kriterierne er ændret til Oversigt2004!B2 = 3 Oversigt2004!B3 = 250
Så vil din sumprodukt ikke virke - og dog så skal man bare divere med B2*b3
Altså =SUMPRODUKT((Data!B1:B20=Oversigt2004!C2)*(Data!D1:D20=Oversigt2004!B3)*(Data!G1:I20))/ (Oversigt2004!C2 * Oversigt2004!B3)
tror du har misforstået det katborg. 0'erne og 1-tallene er en følge af sammenligningerne. Det er ligemeget hvilken slags data der står i cellerne.
Data!B1:B20=Oversigt2004!C2 denne del af formlen vil internt i excel blive opfattet som en tabel således Data!B1=Oversigt2004!C2 Data!B2=Oversigt2004!C2 Data!B3=Oversigt2004!C2
dvs hver celle i området B1:B20 vil blive sammenlignet med det der står i Oversigt2004!C2 . Hvis sammenliningen er OK er resultaet Sandt ellers falskt. Hvis det er sandt vil det internt i excels hukommelse være 1, som jeg prøvede at illustrere i tabellen.
Den samme sammenligning bliver foretaget med Data!D1:D20 op imod Oversigt2004!B3
I har da vist haft rimelig meget gang i den, mens jeg har været på arbejde ;o)
Men ja, bak's forslag virker faktisk, så min svigerfar blev meget glad da jeg hjalp ham med noget regnskab. (dejligt når ens svigerfar er afhængig af en. hæhæ)
Men tak for din indsats også katborg. Men jeg må desværre afvise dit forslag, da jeg bruger BAK's som virker.
Tak til jer begge! Det er helt super.. min svigerfar blev meget glad ;o)
Synes godt om
Ny brugerNybegynder
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.