Avatar billede ehlerz Nybegynder
31. juli 2006 - 14:13 Der er 25 kommentarer og
1 løsning

Finde celle i en kollonne og trække dens værdi fra en anden.

Hej

Jeg har en masse kolonner med data og en masse hvis-funktioner der angiver forskellige forhold. Problemet opstår da der ikke umiddelbart er systematik i de celler jeg ønsker at trække fra hinanden.

ex.

  A  B  C  D  E
1 1  3  2  "ja"
2 3  2  1  7
3 3  4  5  "ja"
4 4  2  3
5

I dette tilfælde vil jeg gerne have excel til at trække A1 fra A3, således at den altid tager den seneste celle i kollonne D med "Ja" og trækker cellen med "Ja" lige inden fra! Kan dette lade sig gøre uden makro, VBA??
6
7
8
Avatar billede excelent Ekspert
31. juli 2006 - 15:24 #1
=INDIREKTE("A"&RÆKKE(INDEKS(D:D;STØRSTE(HVIS(D1:D65500="ja";RÆKKE(D1:D65500));1);)))-INDIREKTE("A"&RÆKKE(INDEKS(D:D;STØRSTE(HVIS(D1:D65500="ja";RÆKKE(D1:D65500));2);)))
Avatar billede excelent Ekspert
31. juli 2006 - 15:27 #2
obs afslut formel med CTRL+SHIFT+ENTER
Avatar billede mrjh Novice
31. juli 2006 - 15:42 #3
Eller bare:

=STØRSTE(HVIS(D1:D65536="Ja";A1:A100);1)-STØRSTE(HVIS(D1:D65536="Ja";A1:A100);2)

Som matrix formel. Afsluttes med ctrl+shift+enter
Avatar billede ehlerz Nybegynder
31. juli 2006 - 15:46 #4
hmm, jeg kan ikke umiddelbart få det til at virke.

For at være præcis har jeg mine "Ja" argumenter i kollonne (i) og vil gerne trække værdier i kollonne (L) fra værdier i kollonne (K)

har prøvet at ændre i din formel , men kan ikke rigtigt overskue den??
Avatar billede excelent Ekspert
31. juli 2006 - 15:54 #5
=INDIREKTE("L"&RÆKKE(INDEKS(I1:INDIREKTE("i"&RÆKKE()-1);STØRSTE(HVIS(I1:INDIREKTE("i"&RÆKKE()-1)="ja";RÆKKE(I1:INDIREKTE("i"&RÆKKE()-1)));1);)))-INDIREKTE("k"&RÆKKE(INDEKS(I1:INDIREKTE("i"&RÆKKE()-1);STØRSTE(HVIS(I1:INDIREKTE("i"&RÆKKE()-1)="ja";RÆKKE(I1:INDIREKTE("i"&RÆKKE()-1)));2);)))
Avatar billede excelent Ekspert
31. juli 2006 - 15:54 #6
afslut med CTRL+SHIFT+ENTER
Avatar billede ehlerz Nybegynder
31. juli 2006 - 16:11 #7
Virker desværre stadigvæk ikke :-( Tror vist ikke rigtigt jeg kan være med på det her niveau :-)
Jeg går ud fra jeg skal definere de to kolloner der skal trækkes fra hinanden som 2 vektorer eller hva??

Jeg har følgende

  A  B  C  D
1  JA  12  32

2      4  9

3      6  8

4  JA  7  9

Jeg ønsker at trække B1 fra C4 og have resultatet i D4. Nsæte gang der så kommer et JA skal den fortsætte således at den hele tiden opdatere og tager de nyeste tal.
Ved ikke om det hjælper??
Avatar billede excelent Ekspert
31. juli 2006 - 16:29 #8
Denne beegner dit seneste eks.

=INDIREKTE("B"&RÆKKE(INDEKS(A1:A1000;STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));2);)))-INDIREKTE("C"&RÆKKE(INDEKS(A1:A1000;STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));1);)))
Avatar billede excelent Ekspert
31. juli 2006 - 16:38 #9
Og denne skulle passe til dit andet eks. med Kolonne I, L og K

=INDIREKTE("L"&RÆKKE(INDEKS(I1:I1000;STØRSTE(HVIS(I1:I1000="ja";RÆKKE(I1:I1000));2);)))-INDIREKTE("K"&RÆKKE(INDEKS(I1:I1000;STØRSTE(HVIS(I1:I1000="ja";RÆKKE(I1:I1000));1);)))
Avatar billede excelent Ekspert
31. juli 2006 - 16:39 #10
begge afsluttes med CTRL+SHIFT+ENTER
Avatar billede ehlerz Nybegynder
31. juli 2006 - 16:44 #11
Hmm, virker desværre stadig ikke. Det er måske mig der ikke forklarer mig godt nok. Jeg vil forsøge igen i morgen og vender nok tilbage. I skal have mange tak for hjælpen indtil videre.
Avatar billede excelent Ekspert
31. juli 2006 - 16:45 #12
ok ellers prøv se mit eksempelark

http:/pmexcelent.dk/ehlerz.xls
Avatar billede excelent Ekspert
31. juli 2006 - 16:46 #13
Avatar billede ehlerz Nybegynder
31. juli 2006 - 17:58 #14
Mange tak, tror jeg har fundet problemet.
Hvis vi tager udgangspunkt i eksemplet til venstre, det ligner mest mit eksempel.
Problemet opstår da jeg ikke har værdier i alle celler.
Hvis du eksempelvis kun har 12 oppe øverst til venstre og 9 nederst, så virker formlen ikke længere. Mine formler gir kun en værdi enten i Kolonne B eller C og kun hvis der står "ja" i A

Kan det løses hvis der ikke er værdier i alle felter?
Avatar billede excelent Ekspert
31. juli 2006 - 18:02 #15
kikker på det
Avatar billede excelent Ekspert
31. juli 2006 - 21:39 #16
så tror jeg den virker

=(INDIREKTE("B"&RÆKKE(INDEKS(A1:A1000;STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));2);)))+INDIREKTE("C"&RÆKKE(INDEKS(A1:A1000;STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));2)))))-(INDIREKTE("B"&RÆKKE(INDEKS(A1:A1000;STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));1);)))+INDIREKTE("C"&RÆKKE(INDEKS(A1:A1000;STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));1)))))
Avatar billede excelent Ekspert
01. august 2006 - 09:09 #17
lidt forkortet (afslut med CTRL+SHIFT+ENTER

=(INDIREKTE("B"&STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));1))+INDIREKTE("C"&STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));1)))-(INDIREKTE("B"&STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));2))+INDIREKTE("C"&STØRSTE(HVIS(A1:A1000="ja";RÆKKE(A1:A1000));2)))
Avatar billede ehlerz Nybegynder
01. august 2006 - 10:58 #18
Tror ikke problemet kan løses fordi min Vector hele tiden ændre størrelse eftersom vi kommer længere ned i rækkerne. Jeg har forsøgt med alt ovenstående og kan godt få et resultat ud af eksemplet ovenfor. Men hvis jeg ændre nogle tal og trækker formlerne(ctrl-shift return herefter) får jeg en fejlmeddelse. :-(
Avatar billede ehlerz Nybegynder
01. august 2006 - 11:29 #19
Altså formlen virker udemærket men et eller andet går galt når jeg ønsker at forlænge formlen.

Hvis jeg eks har at jeg i I1 har et JA og i I6 også har et ja, så skal den i j6 skrive resultatet af værdien (C1-C6). Næste gang der så kommer et ja, (eks.I13) så skal den i J 13 skrive resultatet af (C6-C13), uden at resultatet i J6 ændres. Desuden skal den helt udelade at skrive noget i J hvor der ikke er et "ja" i I.

Jeg begynder at tvivle på om det kan lade sig gøre uden vba..
Avatar billede mrjh Novice
01. august 2006 - 12:10 #20
Indsæt denne i I2, tryk ctrl+shift+enter og kopier herefter formlen ned.

=HVIS(I2="ja";INDEKS(C:C;MINDSTE(HVIS($I$1:$I1="Ja";RÆKKE($C$1:$C1));TÆL.HVIS($I$1:I1;"Ja"));)-INDEKS(C:C;MAKS(HVIS($I$1:$I2="Ja";RÆKKE($C$1:$C2));));"")
Avatar billede mrjh Novice
01. august 2006 - 12:11 #21
Indsættes i J2 selvfølgelig
Avatar billede ehlerz Nybegynder
01. august 2006 - 12:44 #22
Perfekt... Det ser ud til at virke. Mange tak for hjælpen til jer alle...
Avatar billede mrjh Novice
01. august 2006 - 12:49 #23
Selvtak, så får du lige et svar herfra.
Avatar billede ehlerz Nybegynder
07. august 2006 - 15:30 #24
hmm, ovenstående virkede fint, men hvad nu hvis argumenterne godt må være flere. Eks. hvis nu I2 må være både "ja" og "nej" og den skal levere resultatet uanset ja eller nej? Hvorledes indkorporeres det i formlen ovenfor? Har forsøgt med hvis(eller()) men har ikke haft held hermed..

Plz help me :-)
Avatar billede mrjh Novice
08. august 2006 - 00:32 #25
Indsæt denne i I2 , trylk ctrl+shift+enter og kopier herefter ned

=HVIS(ELLER(I2={"Ja";"Nej"});INDIREKTE("c"&MAKS(HVIS($I$1:$I1={"Ja";"Nej"};RÆKKE($I$1:$I1))))-INDIREKTE("c"&MAKS(HVIS($I$1:$I2={"Ja";"Nej"};RÆKKE($I$1:$I2))));"")
Avatar billede mrjh Novice
08. august 2006 - 00:32 #26
Igen i J2 selvfølgelig. Det er sent nu :-)
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