Avatar billede herman01753 Nybegynder
16. januar 2004 - 10:31 Der er 12 kommentarer og
1 løsning

automatisk opdatering af range uden macro

Jeg har et excell ark, hvor jeg laver et databaseudtræk fra en sql database. det betyder at jeg fra gang til gang får en forskellig range tilbage, som resultat. mit problem er at jeg på et andet skal lave nogle beregninger på de data som returneres, er der nogen måde hvorpå det er muligt at få automatisk opdateret den range jeg benytter i beregningerne til det antal ræker der returneres returneres.
det kunne være at den ene gang returneres I101:I601 og den næste gang I101:I605. Jeg vil gerne hvis det kan laves uden makro.
Hilsen Herman
16. januar 2004 - 10:41 #1
Det kan man godt - jeg kommer lige tilbage med et svar.
Avatar billede herman01753 Nybegynder
16. januar 2004 - 10:53 #2
fino, jeg venter
16. januar 2004 - 10:56 #3
1) Marker en tilfældig celle
2) Navngiv cellen "rList" via    Indsæt | Navn | Definer
3) Rediger efterfølgene navnet "rList" via  Indsæt | Navn | Definer  og sæt referencen til:
=OFFSET(Sheeet1!$A$1;0;0;COUNTA(Sheeet1!$A:$A)+COUNTBLANK(Sheeet1!$A:$A)-101;1)+E1:E16

Nu kan du lave  =SUM(rList)  eller hvad du nu har lyst til.
16. januar 2004 - 10:57 #4
Hov - forkert formel..... den skal se således ud:
Ændre selv Sheet1 til navnet på dit ark.

=OFFSET(Sheeet1!$A$1;0;0;COUNTA(Sheeet1!$A:$A)+COUNTBLANK(Sheeet1!$A:$A)-101;1)
16. januar 2004 - 11:01 #5
Jahh og så skrev du jo kolonne I.......
=OFFSET(Sheeet1!$I$1;0;0;COUNTA(Sheeet1!$I:$I)+COUNTBLANK(Sheeet1!$I:$I)-101;1)
Avatar billede herman01753 Nybegynder
16. januar 2004 - 11:24 #6
det jeg har brugfor er en beregning på følgende måde:
={SUM((Data!$D$101:$D$618<=$B101)*(Data!$E$101:$E$618>=$B101)*(Data!$I$101:$I$618=C$100)*$I101*Data!$H$101:$H$618)}
men jeg kan ikke rigtig se hvordan jeg kan få det der med offset til at virke ind?
Avatar billede herman01753 Nybegynder
16. januar 2004 - 11:47 #7
og det er Data!$E$101:$E$618 og Data!$D$101:$D$618 og Data!$I$101:$I$618 og Data!$H$101:$H$618 der kan ændre sig fra gang til gang. do altid med start i 101
16. januar 2004 - 12:16 #8
Hvis du laver den liste rList som beskrevet, men på kolonne A i stedet I, så kunne din formel se således ud:

={SUM((OFFSET(rList;0;3)<=$B101)*(OFFSET(rList;0;4)>=$B101)*(Data!$I$101:$I$618=C$100)*$I101*OFFSET(rList;0;7))}
16. januar 2004 - 12:17 #9
Sorry - manglede lige lidt:
={SUM((OFFSET(rList;0;3)<=$B101)*(OFFSET(rList;0;4)>=$B101)*(OFFSET(rList;0;8)=C$100)*$I101*OFFSET(rList;0;7))}
Avatar billede herman01753 Nybegynder
16. januar 2004 - 12:58 #10
det sjove er at hvis man laver en normal beregning går det måske, men jeg er nødsagt til at betragte det som et array, da der skal laves multiplikationer pr række, og så får jeg #value når jeg indsætter
=SUM((OFFSET(rList;0;3)<=$B101)*(OFFSET(rList;0;4)>=$B101)*(OFFSET(rList;0;8)=C$100)*$I101*OFFSET(rList;0;7)) og trykker CTRL + SHIFT + ENTER. er der noget jeg gør galt?
16. januar 2004 - 13:06 #11
du kan prøve at sende mig arket, så skal jeg lige se om jeg kan få det til at virke fd@win-consult.com
Avatar billede herman01753 Nybegynder
30. januar 2004 - 13:20 #12
jeg kunne godt bruge dine informationer omkring at der findes funktioner til at lave offset så tak for hjælpen
30. januar 2004 - 13:35 #13
Super :-)
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