Geavanceerde oplossing zonder VBA die wel enig uitzoekwerk vereist: dynamische ranges. Menu "Insert" --> "Names" --> "Define..." en voeg een nieuwe naam toe en vul de volgende formule in als referentie:
code:
1
| =OFFSET(Sheet1!$A$1,,COUNTA(Sheet1!$1:$1)-1,COUNTA(INDIRECT("Sheet1!C"&COUNTA(Sheet1!$1:$1),FALSE)),1) |
Uitleg specifiek bij dit voorbeeld: In Sheet1 staan vanaf rij 1 en kolom A de waarden. Geen headers voor de kolommen. In kolom A staan de x-waardes van je grafiek. Dynamisch wordt dan de laatste kolom gebruikt voor je y-waarden. Dit doe je eenvoudig door een scatter-grafiek te maken, met dan bij de y-waarden de naam van je formule op deze manier:
NaamWorkbook.xls!NaamDynamischeRange.
Mocht je wel headers gebruiken in je sheet, dan kun je je formule zo aanpassen dat sommige "COUNTA"-formules een aantal rijen overslaan (door gewoon "-2" (bijv.) erachter te plakken en haakjes te gebruiken). Handig middel om dit op te zetten: bekijk eens goed wat de OFFSET-functie precies doet en zorg dat je daarmee naar de juiste kolommen refereert.
Misschien handig om een breakdown te geven:
OFFSET(arg1,arg2,arg3,arg4,arg5)- Sheet1!$A$1 -> Referentie cell
- geen rijen opschuiven (dus "0" of leeg laten)
- COUNTA(Sheet1!$1:$1)-1 -> zoveel kolommen opschuiven (dus het totaal aantal kolommen gebruikt in rij 1) minus 1
- COUNTA(INDIRECT("Sheet1!C"&COUNTA(Sheet1!$1:$1),FALSE)) -> (Dit is de crux van de dynamische range.) Tel het aantal entries in de kolom met het nummer wat overeenkomt met het aantal entries in rij 1. (Ik heb hier gebruik gemaakt van de INDIRECT-functie om naar die kolom te kunnen refereren in de COUNTA-functie. De 2e parameter van de INDIRECT-functie (FALSE) geeft aan dat de eerste parameter in R1C1-style is. Dus het is niet cell "C nogwat", maar kolom met nummer "nogwat"
- 1 -> De breedte van de range moet 1 zijn om een uitkomst te krijgen voor je grafiek.
Ik hoop niet dat dit te complex is voor je wensen, maar het doet precies wat jij wilt.
En ja, dit is niet iets wat ik zelf ook 1-2-3 doorhad.
Tipje:
http://www.cpearson.com/excel/excelF.htm#DynamicRanges
Oh, en ik heb comma's gebruikt als scheidingstekens omdat ik hier in de States op die manier met Excel werk. In NL zou je dus de comma's moeten vervangen door punt-comma's.
[
Voor 19% gewijzigd door
CoRrRan op 08-02-2006 22:38
]