Renek Novice
17. februar 2017 - 14:37 Der er 8 kommentarer og
1 løsning

Variabel beregning af flere celleværdier uden brug af VBA

Hej,

Havde svært ved at lave en passende overskrift så here goes:

Jeg har f.eks. følgende data i kolonne A (1-10 er rækkerne)

1    1,1
2    0,9
3
4    1,2
5    1,1
6    0,9
7
8
9    1,1
10

Jeg har brug for, uden brug af VBA, at beregne produktet af disse "øer" af data i kolonne B, så der skal være et resultat i B2, B6, og B9. Formlen skal f.eks. på en eller anden snedig måde i B5 sige "der er data i B4, men også i B6 så jeg skal ikke regne noget endnu" og så i B6 sige "Der er data i B5 og ingen data i B7 så nu skal jeg regne produktet af B6 og de celler bagved som indeholder data" - dvs 0,9*1,1*1,2.

Kan det mon løses?

Med venlig hilsen

René
kim1a Professor
17. februar 2017 - 15:32 #1
Hej René

Det er lidt en storm P og jeg håber der er nogen som har en mere elegant løsning, men here goes. Vær opmærksom på at jeg testede ved at startede dine data i S13 i stedet for A1. Så kolonne S er 1-10 og kolonne T er dine decimaltal.

I Kolonne U:
=IF(T13<>0;IF(U12="";IF(U11="";IF(U10="";U9+1;U10+1);U11+1);U12);"")
Denne løsning har del fejl at der ikke må være mere end tre tomme huller efter hinanden i din decimaltal række.
Formlen gør at de ranges der er samlet får hver sit tal - så den første klump er 1, den næste er 2 etc.

Så i kolonnen ved siden af skriver du dette:
=IF(U13<>"";"";SUMIF(U:U;U12;T:T))

På den måde får du summer under hver klump - men dog i kolonner ved siden af. Hvis der er flere blanke felter imellem rækkerne skriver den blot 0 i disse.

Som sagt er fejlen at den indtil nu kun kan klare 3 tomme felter i rap - skal du have flere på, skal du udvide den første formel.
Renek Novice
17. februar 2017 - 16:10 #2
Hej Kim

Tak for hurtigt svar og forsøg på løsningen.

Desværre virker den ikke, da antallet af sammenhængende celler med og uden data er vidt forskelligt - jeg har et stort regneark ud over det lille eksempel jeg gav hvor data ligger i store klumper :/

God weekend!
jens48 Ekspert
17. februar 2017 - 17:14 #3
Hvis du laver en hjælpekolonne med denne formel i B1:

=IF(A1;1;0)

og denne formel i B2 og nedefter:

=IF(A2;B1+1;0)

kan du i C1 og nedefter skrive:

=IF(A1;PRODUCT(INDIRECT("A"&ROW()-B1+1&":A"&ROW()));)

På dansk bliver det:
=HVIS(A1;1;0)
=HVIS(A2;B1+1;0)
=HVIS(A1;PRODUKT(INDIREKTE("A"&RÆKKE()-B1+1&":A"&RÆKKE()));)
jens48 Ekspert
17. februar 2017 - 17:25 #4
Hvis du kun vil have vist værdien ud for sidste celle i hver gruppe, så ændr formelen i C1 til:

=IF(AND(A1<>0;NOT(A2));IF(A1;PRODUCT(INDIRECT("A"&ROW()-B1+1&":A"&ROW())););"")

Dansk:
=HVIS(OG(A1<>0;IKKE(A2));HVIS(A1;PRODUKT(INDIREKTE("A"&RÆKKE()-B1+1&":A"&RÆKKE())););"")
Renek Novice
17. februar 2017 - 18:25 #5
Hej Jens

Jeg er målløs over alle de kreative løsninger I er kommet med til alle mine dagligdagsopgaver med Excel igennem tiden, og din løsning virkede perfekt. Tak for det.

Jeg har ca 10.000 datapunkter, der skal beregnes, og det kan jeg så gøre nemt og elegant nu - uden fejl.

God weekend!
Renek Novice
17. februar 2017 - 18:52 #6
Ekstra spørgsmål her på falderebet Jens: Er der mulighed for at gøre "A" i denne formel variabel og ikke hard coded?:

=HVIS(OG(A1<>0;IKKE(A2));HVIS(A1;PRODUKT(INDIREKTE("A"&RÆKKE()-B1+1&":A"&RÆKKE())););"")

Jeg har mine data i en tabel med næsten 400 koloner så jeg har brug for at kunne trække den -  eventuelt ved at lade "A" pege på en lang række med stigende bogstavrække så den selv sørger for at skifte "A" ud med "B" og dernæst "C" når jeg trækker. Sikkert kluntet formuleret, men håber du forstår og har lyst til at kigge på det.

Mange hilsner

René
jens48 Ekspert
17. februar 2017 - 19:31 #7
Det kan godt lade sig gøre om end det bliver lidt mere kompliceret. Alle 3 formeler skal ændres. Jeg har flyttet hjælpekolonnen til kolonne O. Bogstavet der angiver hvilken kolonne der skal undersøges står i N1. De 2 formler for hjælpekolonnen kommer til at se således ud:

=IF(INDIRECT($N$1&1);1;0)
=IF(INDIRECT($N$1&ROW());O1+1;0)

Og i P1 og nedefter skriver jeg:

=IF(AND(INDIRECT($N$1&ROW())<>0;NOT(INDIRECT($N$1&ROW()+1)));IF(INDIRECT($N$1&ROW());PRODUCT(INDIRECT($N$1&ROW()-O1+1&":"&$N$1&ROW())););"")


På dansk:
=HVIS(INDIREKTE($N$1&1);1;0)
=HVIS(INDIREKTE($N$1&RÆKKE());O1+1;0)
=HVIS(OG(INDIREKTE($N$1&RÆKKE())<>0;IKKE(INDIREKTE($N$1&RÆKKE()+1)));HVIS(INDIREKTE($N$1&RÆKKE());PRODUKT(INDIREKTE($N$1&RÆKKE()-O1+1&":"&$N$1&RÆKKE())););"")
jens48 Ekspert
17. februar 2017 - 19:36 #8
Det var en alt for kompliceret løsning jeg lige kom med. Lav en indirekte funktion i kolonne A i stedet og bibehold resten
Renek Novice
17. februar 2017 - 20:21 #9
Fantastisk - mange mange tak for hjælpen!
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

Opret Preview

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





Premium
Peakon-stifter går all-in og flytter til New York: ”Der er ingen grund til at tage foden af speederen”
Det danske it-selskab Peakon vil overtage verdensherredømmet. Næste stop er et kontor i New York, der åbner til sommer. "Vi forventer, at USA skal være det største marked for Peakon inden for to til tre år. Hvis USA ultimativt set skal være en succes, skal det være vores største marked," lyder målsætningen.
Computerworld
Her er Danmarks fem bedste CIO'er lige nu: Disse fem it-chefer er nomineret til titlen som Årets CIO 2018
Årets CIO 2018: Den eftertragtede titel som Årets CIO i Danmark skal snart uddeles for 13. gang af Computerworld, IDC og Dansk IT. Her er de fem nominerede til Årets CIO 2018.
CIO
Allersidste opdatering på vej: Om en uge er det slut med stor-version af Windows 10 - skynd dig at opdatere
Om en uge er det slut for altid med den første store udgave af Windows 10, som Microsoft efter 29 måneder ikke længere vil supportere.
Job & Karriere
Klassiske brokere af it-konsulenter står over for kæmpe udfordring - forretningsmodellen er under pres
Klumme: Eksterne konsulenter er populære og en god løsning i en branche i vækst. Men selve forretningsmodellen bag it-konsulenterne er under alvorligt pres.
White paper
Mobility - her er de aktuelle udfordringer
Hvad med sikkerheden? Mobility-bølgen fejer igennem danske virksomheder, og der er masser af muligheder og faldgruber. Sikkerheden halter, men det kan der gøres noget ved. Produceret af Computerworld.dk i oktober 2014.