Avatar billede DogeRobert Nybegynder
22. februar 2016 - 12:20 Der er 11 kommentarer og
1 løsning

Findes der en formel til automatisk at kopiere en formel fra een celle til flere (et antal gange svarende til værdien i en tredje celle)?

Jeg skal lave nogle beregninger på et Excel-udtræk over indkøbs-ordrer for en given måned. Jeg ved ikke, hvor mange ordrer der er afgivet i en given måned, hvilket betyder at der kan være et hvilket som helst antal rækker i Excel-arket.

Hver gang der er en række, skal jeg køre nogle specifikke formler. Formlerne selv er ikke problemet, antallet er.
Findes der en måde at "læse" hvor mange rækker med indhold Excel-udtrækket har og derefter udfører en specifik formel på hver række? (Alternativet er, at indsætte formlerne på forhånd i samtlige rækker, hvilket kan gøre arket VIRKELIGT tungt at køre)

Jeg er nødt til at undgå makroer og lignende semi-manuelle løsninger, da den konsulent, som efterfølgende skal stå for driften af min model, ikke er nogen ørn til Excel og derfor ikke vil kunne finde ud af det. Basalt set skal hun bare kunne lave udtrækkene fra vores data-system, sætte dem ind på fast-navngivne faner i Excel-modellen, hvorefter alt andet foregår automatisk...

Jeg håber i kan hjælpe mig.
Avatar billede kim1a Ekspert
22. februar 2016 - 13:20 #1
Løsningsmulighed 1:
En makro kan evt. sættes til at køre fast når der f.eks. ændres i celle A1

Løsningsmulighed 2: (måske lidt tåbelig når jeg ikke kender struktur på dit ark/dokument)
Hvis der er vilkårligt antal rækker må der indimellem også være færre rækker end sidste måned, så personen kan enten finde ud af at slette eller starter forfra hver måned, i så fald må det være til at lære at markere og dobbeltklikke så den kopierer ned til afslutning af regionen.

Løsningsmulighed 3:
Counta eller lignende formel der kan tælle antal celler i f.eks. kolonne a der ikke er tomme - udfordringen er naturligvis hvis der er huller i datasættet?
Kombineret med en indirekte formel kan du lave henvisninger til variabelt dataområde.
Avatar billede acore Ekspert
22. februar 2016 - 14:55 #2
En formel i stil med

IF(ISBLANK($A2);"";<din formel>)

hvor du erstatter <din formel> med din egen beregning. Forudsætter, at kolonne A indeholder fx nummeret på indkøbsordren og er blank, hvis der ikke er flere.

Den bliver ikke for "tung" selv med rigtig mange mulige rækker, da den tunge udregning kun laves, hvis der er en indkøbsordre.
Avatar billede DogeRobert Nybegynder
23. februar 2016 - 08:54 #3
Kim'la's løsningsmulighed 3 er umiddelbart den mest interessante, og også den, jeg først havde i tankerne. Men hvordan definerer jeg en formel, så den regner på alle rækkerne fra A1 til A(x) og stiller resultaterne op på en kolonne i ny fanes kolonne (et-eller-andet)?

Jeg laver udtræksfaner hvor der skal lægges nye dataudtræk ind hver måned. Dvs. fanerne vil hver gang starte som tomme. Udtrækkene er bygget ens op hver gang, dvs. ordrenr. i kolonne A, osv. men der er et vilkårligt antal ordrer, i.e. ukendt antal rækker.

Umiddelbart arbejder jeg med noget i stil med:
=HVIS.FEJL(INDEKS($B$2:INDIREKTE("B"&$X$3); SAMMENLIGN(0; TÆL.HVIS($C$1:C1; $B$2:INDIREKTE("B"&$X$3)); 0));"")

Cellereferencerne er ikke endelige, da jeg sidder i et test-ark lige nu. Celle X3 henviser til en TÆLV-funktion, som optæller alle rækker i kolonne B (Kolonne B er her tænkt som kolonnen med ordre-nr.)

Formlen skal trække de unikke ordre-nr. ud af kolonne B og skrive dem i en kolonne på et nyt ark. Den virker fint, bortset fra, at jeg gerne ville begrænse den til at køre det antal gange der er ordre-nr. i kolonne B (dvs. det antal rækker, der er indhold i.)


Umiddelbart virker Acore's forslag som en god mulighed, hvis ikke der findes en måde at gøre antallet af beregninger mere dynamisk på.
Avatar billede xl-Enthusiast Ekspert
23. februar 2016 - 09:44 #4
Kan du eventuelt uploade en fil til http://208.89.215.167/gratisupload/
og heri vise eksempler på ønskede resultater?
Avatar billede DogeRobert Nybegynder
23. februar 2016 - 10:59 #5
Jeg kan ikke uploade noget med real-data i, men jeg kan godt prøve at bygge et scenarie op med "fantasi-data", hvis det vil gøre en forskel.?
Avatar billede xl-Enthusiast Ekspert
23. februar 2016 - 11:22 #6
Bare det afspejler den faktiske opgave så er det fint.
Avatar billede DogeRobert Nybegynder
23. februar 2016 - 12:02 #7
Jeg prøver at skrue noget sammen i aften så.
Avatar billede DogeRobert Nybegynder
24. februar 2016 - 08:19 #8
Jeg har besluttet at følge acores forslag, da det er den mest simple løsning (og dermed giver mindre chance for problemer for den ansvarlige konsulent).

Jeg siger tusind tak for hjælpen til alle.

Acore, hvis du vil være så venlig at skrive et svar, så du kan få points, vil jeg sætte pris på det.
Avatar billede xl-Enthusiast Ekspert
24. februar 2016 - 10:23 #9
OK.

Bare den sidebemærkning, at i stedet for den volatile (og dermed genberegningskrævende) konstruktion med INDIREKTE

$B$2:INDIREKTE("B"&$X$3)

kan du bruge:

=$B$2:INDEKS(B:B; $X$3)
Avatar billede DogeRobert Nybegynder
24. februar 2016 - 14:30 #10
Tusind tak xl-Enthusiast.

Er der en måde at give points til flere svarere?
Avatar billede xl-Enthusiast Ekspert
24. februar 2016 - 16:24 #11
Det er lifge meget. Jeg samler ikke på point.
Avatar billede acore Ekspert
25. februar 2016 - 07:56 #12
Godt du fandt en løsning
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