17. februar 2017 - 14:37Der 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.
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.
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 :/
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.
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.
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:
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())););"")
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.