Jeg har en række data, hvor hver record består af et navn, et årsal og en værd:
NAVN1, 2001, 3,27 NAVN2, 2003, 4,02
Jeg ønsker at brugeren af databasen skal kunne vælge ¨på listen med data ved hjælp af autofilter f.eks et bestemt årstal. Det jeg så gerne vil have Excel til at beregne er hvor mange forekomster af NAVN1 der er på listen og hvad middelværdien for Værdierne er i det valgte år - altså jeg vil gerne kunne skrive:
=Hvis(a1:a100;"NAVN1";subtotal(2;A1:A100);"")
men det virker ikke...har også prøvet adskillige andre syntakser. Er det fordi man ikke kan kombinere HVIS og SUBTOTAL overhovedet? Håber I forstår hvad det er jeg prøver at gøre.
Du skal bruge en Matrix-formel ved at trykke CTRL+SHIFT+ENTER. Herved kan du søge i en matrix i flere kolloner. Formlen bliver som følger: ={Sum.hvis(a1:a100="Navn1";hvis(b1:b100="året";C1:c100))}. Bemærk at formlen kommer i Tuborg paranteser. Herefter kan du ved hjælp af funktionen tæl.hvis tælle forekomsterne af Navn1 og dividere dem op i summen fra sum.hvis.
Hvis har følgende kolonner: A "Navn" B "Årstal" C "Værdi" og du den tabel disse danne vælger data, autofilter - kan du med reference til kolonne C få middelværdien af de viste værdier med formlen =SUBTOTAL(1;C1:C3) Samtidig kan du i anden celle lave formlen =SUBTOTAL(3;A5:A13) Sidstenævnte formel vil tælle antallet af forekomster. Hvis man således via autofilter vælger årstal = 2003 og navn=navn1 vil man få vist middelværdi og antal forekomster for det pågældende navn i den valgte år. Det skulle vist være hvad du ønsker?
Hmm ja, det er desværre ikke helt så enkelt. Der vil være mange andre muligheder end årstallet at vælge fra på autofiltret - derfor kan jeg ikke bruge mrjohns forslag. Jeg kender godt subtotal funktionen, men jeg skal have excel til dels at beregne middelværdien for NAVN 1, men også for NAVN2 i en celle nedenunder, sådan at vælger brugeren f.eks. 2002, vises automatisk hvor mange forekomster af dels NAVN1 og dels NAVN2 der var samt deres middelværdier for det pågældende år. Også her gælder det at udvælgelsen ikke nødvendigvis sker på året - det var bare for at forsimple data eksemplet......
OK, ved at sammenkæde værdierne, med funktionen sammenkædning ud for hver record, får du nogle unikke værdier hvor du både kan bruge tæl.hvis og sum.hvis. Eksempelvis bliver navn1, 2001 til navn12001 i en sammenkædning. herefter kan du opstille en tabel med eksempelvis årstal i kollonner og navne i rækker og indstætte formlen SUM.HVIS($C$1:$C$100;SAMMENKÆDNING($G2;H$1);$D$1:$D$100)/TÆL.HVIS($C$1:$C$100;SAMMENKÆDNING($G2;H$1)) i hver celle. Kolonne C indeholder de unikke vædier for hver record, kolonne D selve værdierne. G2 er navnet og H1 er årstallet. Det skulle give dig gennemsnittet pr årstal og navn i en tabel.
Problemet er at jeg har mangle andre ting brugeren kan vælge at lave den liste udfra end bare årstallet, så årstallet ikke længere er relevant for listen, men et helt andet kriterie. Desuden kan det også være at brugeren vælger mere en én værdi i en kolonne ved at bruge Brugerdefineret autofilter. Det jeg har brug for er at kunne køre diverse subtotal for de forskellige navne på listen, og at disse formler opfører sig dynamisk sådan at de viste værdier forandrer sig hver gang brugeren omdefinerer autofiltret.....Altså en slags "Individuelle subtotaler" - problemet er bare at mine records ikke er sorterede og at de heller ikke har mulighed for at blive det. Det er sørme svært at beskrive hvad det er jeg gerne vil på denne måde...håber det er lidt klarere nu.....;-)
Hvad mener du med at brugeren kan vælge andet end årstallet? Der er vel kun årstal i kolonnen med årstal. Brugeren kan vel kun filtrere navnene og årstallene ud fra de givne records som er anført, selvfølgelig i alle mulige kombinationer, eller er der et aller andet som jeg har misforstået :-)
Altså ;-) For hver record har jeg følgende oplysninger (stående i hver sin kolonne): Mærkenavn, Titel, Nummer, Mængde, Årstal, Andel, Værdi samt flere andre kolonner. I f.eks. Årstal kan man vælge 2001 - men man kan også vælge 2001 OG 2002. Eller man kan i kolonnen Andel vælge "De 10 øverste", eller i Mængde vælge at indholder skal være mellem 500 og 1000 - ELLER en kombination af disse kriterier - f.eks. records med Årstal 2002 og Mængde mellem 500 og 1000. Uanset hvor mange kriterier man definerer sin liste udfra, vil jeg have excel til f.eks at beregne hvor mange der var (indenfor de angivne kriterier) med Mærkenavn1 samt middelværdien for dette, hvor mange der var af Mærkenavn 2 med tilhørende middelværdi osv. for alle mærkenavne. Det er jo simpelt at lave for alle records, men når der kun skal beregnes på en del af alle records (subtotaler) bliver det problematisk.......tak for tålmodigheden ;-)
Synes godt om
Slettet bruger
27. september 2003 - 13:25#8
Navngiv dine kolonner, f.eks. kolonne A "Mærkenavn", kolonne B "Titel" osv. Sammentællingsformel SUBTOTALER over de enkelte kolonner =SUBTOTAL(9;C5:C1000) Når du så bruger filtre vil de enkelte subtotal vises i den række, hvor du har indsat formlen subtotal
Mosha: Har prøvet alt muligt og kan heller ikke umiddelbart finde en løsning (endnu en begrænsning i excel) Den eneste mulighed, som kun har en lille del af den funktionalitet som du ønsker, er at bruge databasefunktionen DMIDDEL, hvor du v.h.a. kriterier kan angive både intervaller samt flere forskellige muligheder hvorefter funktionen uddrager posterne og beregner gennemsnittet. Ulempen er at brugerne selv skal indtaste kriterier og at der ike er lige så mane muligheder som i autofiltret. Sorry, kan ikke gøre mere :O)
Hej Mrjohn - tak fordi du forsøgte - jeg må lave et system der går over åen efter vand....;-)
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.