Avatar billede enirt Nybegynder
18. september 2006 - 14:20 Der er 22 kommentarer og
1 løsning

Pivottabel - data i alle felter

Jeg har lige været så heldig at få et supersvar på et spørgsmål lige før, så nu prøver jeg igen.

Hvordan kan man få alle felter (etiketter) i en pivottabet til at være udfyldt.
F.eks.

Afdeling  type
01        omkostning
          Omsætning
02        omkostning
          Omsætning
03        omkostning
          Omsætning

Der står kun afdelingsnummeret i den første række, men da jeg skal lave opslag vil jeg gerne have afdelingsnummer til at stå i alle felter

MVH
Trine
Avatar billede mrjh Novice
18. september 2006 - 17:32 #1
Den nærmeste løsning jeg lige kan komme frem til er at flytte eksempelvis dit typefelt op i kolonneområdet i stedet for i rækkeområdet i din pivottabel.
Avatar billede kabbak Professor
18. september 2006 - 18:37 #2
Du er nok nødt til at udfylde de tomme, med den værdi der står ovenover, det gøres nemmest sådan:

Marker Alle celler i kolonnen der skal udfyldes.
Tryk F5, og vælg "Special"
Vælg "Tomme celler"
Skriv = og peg på den øverste celle der allerede er udfyldt
tryk CTRL og ENTER

alle tomme celler bliver nu udfyldt med det der står i de overliggende celler der allerede er udfyldt.
Avatar billede mrjh Novice
18. september 2006 - 18:53 #3
Kabbak -> smart, men det virker da ikke i en pivotabel, eller hur ?
Ellers et smart lille trick :-)
Avatar billede kabbak Professor
18. september 2006 - 18:54 #4
Jeg mener selvfølgelig i rådata
Avatar billede mrjh Novice
18. september 2006 - 18:57 #5
Jo men det løser jo ikke problemet inde i pivotabellen. Eller sagt med andre ord, jeg kan ihvertfald ikke få den til det.
Avatar billede kabbak Professor
18. september 2006 - 19:09 #6
Ok jeg har en Pivot med 14 afdelinger

Den starter i A4 og slutter i C31, der hovedtotaler der under.
Jeg bruger afdelingsnummeret som kreterie, det skriver jeg i A1 på samme ark, som pivot.

For at finde omkostningerne
=SUMPRODUKT((A4:A31=A1)*(B4:B31 = "Omkostning")*C4:C31)

For at finde Omsætningen

=SUMPRODUKT((A4:A30=A1)*(B5:B31 = "Omsætning")*C5:C31)
Avatar billede kabbak Professor
18. september 2006 - 19:11 #7
Læg mærke til i den sidste at de 2 områder er forskudt med 1 række.
Avatar billede mrjh Novice
18. september 2006 - 19:35 #8
Et lille alternativ.
Pivottabel starter i F4. I dette eks. hentes beløbet for omsætning i afd. 2
=GETPIVOTDATA("Beløb";$F$4;"Afd.";2;"Type";"Omkostning")
Avatar billede enirt Nybegynder
19. september 2006 - 07:44 #9
Hej igen

Kabbak: Det er lige netop den type formel jeg gerne vil lave, men problemet er netop at jeg ikke kan få den til at virke, fordi der ikke står afd. "01" ud for "omkostning", men kun ud for omsætning????

Hilsen
trine
Avatar billede kabbak Professor
19. september 2006 - 08:10 #10
det er derfor den nederste har forskudt område, så den skulle virke, hvis du gør det samme
Avatar billede kabbak Professor
19. september 2006 - 08:17 #11
Ok de skulle lige byttes om

For at finde Omsætningen

=SUMPRODUKT((A4:A31=A1)*(B4:B31 = "Omsætning")*C4:C31)

For at finde omkostningerne
=SUMPRODUKT((A4:A30=A1)*(B5:B31 = "Omkostning")*C5:C31)
Avatar billede enirt Nybegynder
19. september 2006 - 08:38 #12
Tak for det - desværre løser det stadig ikke mit problem. Eksemplet ovenfor er simplificeret. Der er ikke kun omsætning og omkostninger, men måske 15 forskellige "typer" under hver afdeling (omsætning, vareforbrug, løn, osv. osv.)

Nogle forslag

MVH
trine
Avatar billede enirt Nybegynder
19. september 2006 - 08:42 #13
Og ideen skulle netop være at jeg vil være i stand til at finde en hvilken som helst beløb i matrixen uden at skulle tilrette formlen efter hvilken række den befinder sig i.
Men i virkeligheden vil jeg også godt opbygge min formel ved først at lokalisere række nummeret og derved lave et indeks på værdien jeg vil have returneret, men det giver mig bare det samme problem!!

Trine
Avatar billede mrjh Novice
19. september 2006 - 08:51 #14
Så forstår jeg ikke helt. Ligegyldig hvor mange afd., typer osv. det er specificeret med, får du stadig beløbet for en bestemt type i en bestemt afd. med ovennævnte formler. Og var det ikke det du søgte ?
Avatar billede enirt Nybegynder
19. september 2006 - 09:03 #15
Jeg har prøvet igen og det kan være jeg ikke helt forstår det, men som jeg ser det så skal jeg tilrette min formel hvor gang jeg skal hente en anden type. Fek.s hvis der under omkostningerne var en post der hed VF, så skulle min formel se således ud:

=SUMPRODUKT((A4:A30=A1)*(B6:B33 = "VF")*C6:C32)

og så er det jo ikke særligt dynamisk

eller hvad??...:-)
Avatar billede enirt Nybegynder
19. september 2006 - 09:05 #16
Undskyld - så ville formlen se således ud:

=SUMPRODUKT((A4:A30=A1)*(B6:B32 = "VF")*C6:C32)
Avatar billede mrjh Novice
19. september 2006 - 09:10 #17
Så må jeg spørge, hvad du så søger. På en eller anden måde er du jo nødt til at angive den afd. og den type du ønsker at hente beløbet for i din tabel.
Du kunne måske gøre den lidt mere dynamisk ved at udskifte eks. "VF" med en celle i regnearket hvor du så indtaster "VF" i cellen. Men det ændre ikke ved at du stadig er nødt til at angive dine specifikationer :-)
Avatar billede enirt Nybegynder
19. september 2006 - 09:17 #18
Ja, men det vil jeg også gerne. jeg vil bare ikke ændre i de øvrige referencer også. Så hvis nu jeg går tilbage til mit oprindelige spørgsmål, så ville mit ønske være at der stod afdelingsnr. i alle celler i kolonne a, så ville min formel nemlig hedde:
=SUMPRODUKT((A4:A30=A1)*(B4:B30 = "VF")*C4:C30)eller
=SUMPRODUKT((A4:A30=A1)*(B4:B30 = "omsætning")*C4:C30)

jeg skulle så blot ændre det der står i celle A1 og typen "VF"/"omsætning" eller lign men ikke andre ting.
Med ovenstående forslag skal jeg hver gang vide hvor i matricen jeg vil have returneret en værdi så formlen kommer til at hedde
=SUMPRODUKT((A4:A30=A1)*(B4:B30 = "omsætning")*C4:C30)
=SUMPRODUKT((A4:A30=A1)*(B5:B31 = "omkostning")*C5:C31)
=SUMPRODUKT((A4:A30=A1)*(B6:B32 = "VF")*C6:C32)
og så fremdeles

Forstår I - eller måske gør jeg ikke  :-)


Trine
Avatar billede mrjh Novice
19. september 2006 - 09:25 #19
Nu tror jeg at jeg er med. Prøv evt. denne formel. Her skal du bare ændre 2-tallet og "Omkostning", men ikke nogle referencer.
Måske hedder den HENTPIVOTDATA hos dig.
Beløb er dine dataelementer, F4 er første celle i din pivottabel, afd. og type dine specifikationer.
=GETPIVOTDATA("Beløb";$F$4;"Afd.";2;"Type";"Omkostning")
Avatar billede enirt Nybegynder
19. september 2006 - 09:31 #20
TAK for det - den så jeg også at du foreslog tidligere og den vil i dette tilfælde være mere hensigtsmæssig.

Det jeg godt kunne lide ved den anden, det var at jeg ikke skulle ændre i selve formlen hvis jeg skulle se f.eks. en anden afdeling men blot kunne have min afdeling og min type stående i f.eks. celle A1 og A2. Det betyder meget at det er en "ekstern" ting der tastes i for at ændre reusltatet og ikke inde i selve formlen.

Men konklusionen er vel så at det ikke i en pivottabel er muligt at udfylde alle felter med data??
Avatar billede mrjh Novice
19. september 2006 - 09:38 #21
Ja pivottabellen er netop beregnet til at summere på grupper, hvorfor, tror jeg, du ikke kan få data i alle dine rækker.
Formlen GETPIVOTDATA kan også gøres mere dynamisk ved at udskifte 2-tallet og "Omkostning" med celler hvor du bare indtaster. Så du ikke behøver at ændre i formlen :-)
Avatar billede enirt Nybegynder
19. september 2006 - 09:41 #22
Ah - se så vil det jo give mig det samme resultat - tak for det

Giv mig svar og så flyver pointene straks afsted

TAK TAK
Avatar billede mrjh Novice
19. september 2006 - 09:45 #23
Selv tak. Du skal bare være opmærksom på at formlerne ikke virker på rækker som skjules inde i pivottabellen, når du klikker for at skjule detaljer eksempelvis. Det gælder både Sumprodukt og getpivotdata. Men håber du kan bruge det alligevel :-)
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