Avatar billede ehlerz Nybegynder
24. oktober 2007 - 10:01 Der er 22 kommentarer

afbilled en dynamisk tabel i graf

Hej
Jeg har en dynamisk tabel hvis dimmension købende ændres afhængigt af hvilket data medtages osv. Disse værdier vil jeg gerne til enhver tid have vist i et søjlediagram. Da dimensionerne ændres er min plan at lave en funktion der angiver området og så indsætte denne som =indirekte(Funktion) i grafen.
Hvordan laver jeg nemmest denne funktion.
Udgangspunktet for tabellen er altid D8 og planen er så at tillægge et antal kolonner og antal rækker hertil for at få den sidste del af referencen. Nogle gode ideer??
Avatar billede ehlerz Nybegynder
24. oktober 2007 - 10:37 #1
Hmm, kan det overhovedet lade sig gøre at anvende indirekte i graffunktionerne???
Avatar billede kedde65 Praktikant
24. oktober 2007 - 14:40 #2
Nej du kan kun gøre det vha. VBA

/Christian
ck@officekonsulenterne.dk
Avatar billede luffeladefoged Praktikant
24. oktober 2007 - 15:49 #3
Du kan bruge dine formler andre steder end direkte i grafen for at få samme effekt:
Hvis vi tager eksemplet hvor dine headings starter i D8 vil antallet af dine søjler kunne defineres udfra =COUNTA(8:8) forudsat der ikke er irrelavant data til højre eller venstre for.
Dine headings kan videre defineres udfra:
=OFFSET(Sheet1!$D$8,0,0,1,COUNTA(Sheet1!$8:$8))
og din første række udfra:
=OFFSET(Sheet1!$D$9,0,0,1,COUNTA(Sheet1!$9:$9))
og på denne måde hele tiden tage hensyn til et dynamisk antal kolonner.
Opretter du så et Name til labels med ovenstående formel og et Name til data også med ovenstående formel, så kan du henføre til disse Names i dine source data til din graf, som så bliver dynamisk bestemt af hvor meget kolonner data du kommer ind.

Hilsen Luffe
Avatar billede ehlerz Nybegynder
24. oktober 2007 - 16:23 #4
Hey Luffe

Problemet er da fordi tabellen er dynamisk er der også formler i de tomme celler. Derfor kan jeg ikke anvende tælv(). Med hensyn til det andet du skriver er jeg ikke sikker på jeg helt forstår. hvad hedder Offset() i den danske udgave??
Avatar billede kedde65 Praktikant
24. oktober 2007 - 18:59 #5
Hej Luffe

Det er korrekt, man kan lave de formler du beskriver... men det gør ikke grafen dynamisk. Dvs. hvis du fjerner en kolonne i dit datasæt - ja så opdateres grafen ikke så den afspejler det nye datasæt.

/Christian
Avatar billede luffeladefoged Praktikant
24. oktober 2007 - 20:03 #6
Som udgangspunkt synes jeg det er en rigtig god ide at man gør en indsats for at datasættet man arbejder, at alle celler udfyldte fra øverst venstre til nederst højre, da det er sådan xl opfatter et datasæt, ved diverse formler, kopiering, filter, pivot, autoformatering, etc., istedet for at at have problemerne senere. Eventuelt ved at kopiere 0'er til alle tomme celler, eller multiplicere alle celler med 1, eller hvad man nu kan finde på.
Jeg forstår bare ikke helt hvordan en celle kan være tom hvis der er en formel i den? Jeg ved ikke om tælv er den samme som counta, som kun tæller ikke tomme celler, men ellers prøv med nogen af de andre tælle formler. Ellers hvis du kan bruge løsningen, kan det nok løses på en anden måde, ved f.eks. at tage den sidste position minus den første, eller noget lignende.
Jeg mener offset på dansk hedder forskydning??, men ellers findes den i samlingen af formler "lookup and reference" og syntaksen ser således ud:
OFFSET(reference,rows,cols,height,width)
hvor height og width er optional - så håber jeg du kan finde den :o)

Jeg har brugt ovenstående løsning til at opdatere en graf hvor der hele tiden kommer en ny periode til, hvor så alt jeg skal gøre er at kopiere det nye datasæt ind. Dette gælder også hvis jeg kopierer et datasæt ind med færre perioder, så funker den også. Jeg har aldrig haft behov for at slette en kolonne midt i det hele i et eksisterende datasæt - lige det scenario dækker den ikke.

Hilsen Luffe
Avatar billede kedde65 Praktikant
24. oktober 2007 - 20:42 #7
Hej Luffe

Den løsning ville jeg ski gerne se :-) Jeg kan på ingen måde få den slags til at spille - men måske jeg har glemt en vigtig detalje. Vil du dele et eksempel?

/Christian
Avatar billede luffeladefoged Praktikant
24. oktober 2007 - 22:01 #8
Hvad siger du ehlerz? Jeg tror jeg har et lille illustrativt eksempel - så kunne du også se de korrekte danske oversættelser.
Jeg har bare ikke lige en hjemmeside jeg kan uploade til - så måske en mail var en mulighed?
/ Luffe
Avatar billede kedde65 Praktikant
24. oktober 2007 - 22:08 #9
Jeg vil meget gerne se et eksempel, hvis du vil dele det så er min mail info@diatribe.dk

/Christian
Avatar billede ehlerz Nybegynder
25. oktober 2007 - 08:15 #10
Hej igen Luffe

Du må meget gerne prøve at sende din løsning på jesperehlers@stofanet.dk

Forestil dig at jeg i et ark har et datasæt på 1000 rækker til forskellige datoer (Aktiekurser). I et andet ark har jeg mine tabeller der viser årsafkast for en periode jeg selv vælger. Hvis jeg vælger 2000-2006 er min tabel kun 7 kolonner bred, hvis 1999 - 2006, 8 kolonner osv. Derudover står der i D8 altid mit startår, således at dette altid er udgangspunktet.hvis jeg så skriver 2000-2002, står der i D8 afkastet for år 2000, e8 afkast for år 2001 og f8 afkastet for år 2002. I resten af kolonnerne er angivet værdierne "". Dette er så jeg nemt kan kopiere tabellerne direkte ind i præsentationer osv uden hele tiden manuelt at skulle ændre layout osv.

Håber det forklarer lidt af mit projekt??
Avatar billede luffeladefoged Praktikant
25. oktober 2007 - 11:30 #11
Når du har "tomme" værdier som "" skal du bruge count som kun tæller cifre, istedet for counta, som tæller "ikke-tomme". Jeg har lagt dem begge ind i eksemplet, så du kan se oversættelsen.
Offset formlerne forneden er blot tekst; hvor du finder finder formlerne inden under - menu - insert - name - define.

Jeg har testet med en formel der afgiver "", så det skulle funke.

/ Luffe
Avatar billede ehlerz Nybegynder
25. oktober 2007 - 11:56 #12
Hej Luffe
Mange tak for tilsendte. Må dog sige at jeg ikke fatter noget som helst af det! Forstår ikke hvad det er for værdier du henviser til inde i grafen?? de hedder data og Label. Jeg kan så se til venstre at du har defineret hhv data og label. Hvordan er sammenhængen?? Din ofset funktioner som jeg kan se er jo ikke dynamiske. HVor er selve de dynamiske "Navn" og "Lable" henne i arket??
Avatar billede ehlerz Nybegynder
25. oktober 2007 - 11:59 #13
Jeg tror ikke det kan lade sig gøre at lave det sådan her. Mit data range skal være fra D8:P15 som er maks dimensionen for min tabel. Alt mindre end dette kan lade sig gøre, dvs. færre serier og færre årstal. Jeg kan se at du i grafen under "Dataområde" har defineret netop det dataområde der er aktuelt lige nu, vil det ændre sig hvis jeg tilføjer august i de gule felter??
Avatar billede ehlerz Nybegynder
25. oktober 2007 - 12:07 #14
Hey igen Luffe

Jeg sender dit ark retur med mit behov. Det jeg har markeret med gult er min maksimale tabelstørrelse men det skal også være muligt at vælge kun 2 serier og eks 3 årstal uden at man skal ændre grafen.
Avatar billede luffeladefoged Praktikant
25. oktober 2007 - 15:26 #15
Jeg kan ikke modtage dit sheet af en eller anden grund - den henviser til en internet side :-S  Men forstår godt hvad du mener at den ikke bare skal være dynamisk m.h.t. kolonner men også antal rækker. Mit forslag dækkede umiddelbart kun m.h.t. antal kolonner.

Jeg synes ellers jeg havde beskrevet hvor label og data kom ind i billedet. Jeg tror jeg ville gøre det i følgende rækkefølge:
- oprette min graf "normalt" på det givne datasæt
- oprette mine dynamiske ranges (names) - menu - insert - name - define; skrive navnet f.eks. label og offset formlen i boksen "refers to" og fortsætte til data.
- rightclick på en af søjlerne i grafen og indføre de just oprettede names, som ='spreadsheetnavn.xls'!label  de respektive steder.

Du kan jo eventuelt oprette flere names for data1, 2, 3 etc for de enkelte serier ned til row P på samme måde, men disse vil jo så stadig synes i grafen hvis tomme som en tom plads ... og det ser jo ikke så pænt ud.

Jeg har ikke umiddelbart nogen løsning til også at gøre rows dynamiske.

/ Luffe
Avatar billede ehlerz Nybegynder
25. oktober 2007 - 15:37 #16
Hej Igen
Ok, det tyder på at det desværre ikke rigtigt kan lade sig gøre. Surt :-(
Men jeg takker mange gange for jeres indsats. Det er ærgeligt det ikke kan lade sig gøre uden om VBA, det må vi håbe de implementerer i en nyere version af office!
Avatar billede kedde65 Praktikant
25. oktober 2007 - 15:40 #17
Det er ikke kommet med i version 2007, men måske version 2009 ;)

Du spørger bare en anden gang!

/Christian
Avatar billede luffeladefoged Praktikant
25. oktober 2007 - 23:48 #18
Jeg kan umiddelbart kun komme på en semiautomatisk løsning, hvis det skal være uden VBA.
- ovenstående løsning m.h.t. kolonner.
- oprette de dynamiske range names for row D til P - en label og tolv data.
- lave grupperinger for sidste række, derefter sidste og næstsidste række, de tre sidste rækker o.s.v.
- herefter kan man klikke på det antal rækker der skal med og som så vil optræde i grafen.

Har sendt sheet for at illustrere med kun tre rækker dog.

/ Luffe
Avatar billede luffeladefoged Praktikant
25. oktober 2007 - 23:53 #19
Og nu har jeg lige testet med tolv rækker, som jeg kan forstå er max - E til P ... xl kan max gruppere otte gange følgende på hinanden. :-(
Så den gik heller ikke helt - øv.

/ Luffe
Avatar billede ehlerz Nybegynder
26. oktober 2007 - 10:07 #20
Hehe, tyder på at det er en ikke helt nem opgave vi her er på :-). Sidder selv roder med det stadig syntes det er underligt at det ikke kan lade sig gøre. Jeg har lavet en celle der hedder A8:A8 der hele tiden ændres afhængigt af hvor mange kolonner og rækker der er. Nu mangler jeg bare at få dette ind under dataområde i grafen og det er her det glipper  :-( Ærgeligt
Avatar billede ehlerz Nybegynder
26. oktober 2007 - 10:09 #21
Men hvis jeg har defineret denne celle og den opdateres korrekt, er det så ikke temmelig nemt at lave i VBA??
Avatar billede luffeladefoged Praktikant
26. oktober 2007 - 10:58 #22
Jeg er ikke nogen ørn til VBA, men hvis operationen at kopiere en range ind i graf definitions boksen kan funke manuelt, må den nødvendigvis kunne kodes også. Christian?
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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