Avatar billede Maja Praktikant
22. marts 2017 - 08:33 Der er 7 kommentarer

Løbende returning af celler forskellig fra nul

Hej :-)

Jeg har brug for hjælp til at hente flere værdier ud fra en tabel, dog med nogle betingelse:

Jeg har en oversigt over faktura med nummer, beløb, levering og bogføringsdato, hvor beløbene er delt over flere kolonner alt efter hvordan levering ligger i forhold til en skæringsdato.

I ark 1 vil jeg gerne have returneret den første værdi fra kolonne A i ark 2, hvor kolonne B er forskellig fra nul. I næste række i ark 1 vil jeg så gerne have den anden værdi hvor kolonne B er forskellig fra nul.

Kan dette lade sig gøre?
Avatar billede acore Ekspert
22. marts 2017 - 08:45 #1
Hvis du laver en kopi af ark2 i ark1  altså med formler i stil med denne i ark1!A1

=ark2!A1

og så bruger filter til at vælge de rækker, hvor kolonne B er større end nul.

Kunne det bruges?
Avatar billede Maja Praktikant
22. marts 2017 - 08:49 #2
Desværre ikke. Ark 1 er et oversigtsark, hvor jeg ikke kan benytte filter uden at "ødelægge" arket.
Avatar billede acore Ekspert
22. marts 2017 - 08:56 #3
Tror ikke jeg forstår dig. Du skriver "I ark 1 vil jeg gerne have returneret den første værdi fra kolonne A i ark 2, hvor kolonne B er forskellig fra nul". Det får du ved at lave en kopi af ark 2 i ark 1 med filter.

Prøv at forklare lidt nærmere hvorfor det ikke er en løsning.
Avatar billede Maja Praktikant
22. marts 2017 - 09:10 #4
Jeg har mange andre oplysninger i ark 1, som jeg også skal have tilgængelig. I dag sidder jeg netop at kopier manuelt fra ark 2 og det er netop det jeg gerne vil undgå.
Avatar billede jkrons Professor
22. marts 2017 - 09:22 #5
Pørv evt med en makro.

Denne burde løse din opgave

Sub transfer()
    For Each c In Sheets(2).Range("b1:b1000").Cells
        If c.Value <> 0 Then
            Range("A1000").End(xlUp).Offset(1, 0).Value = c.Offset(, -1).Value
        End If
    Next c
End Sub

Har du mere end 1000 rækker i nogen af kolonnerne så ret området
Avatar billede Maja Praktikant
22. marts 2017 - 09:41 #6
Jeg har aldrig arbejdede med makroer før, så det må jeg lige dykker ned i :-)
Jeg antager at koden skal være dansk i den danske Excel? Eller er koderne universelle?
Avatar billede anedi Ekspert
22. marts 2017 - 10:23 #7
Det kan også lade sig gøre med en matrix-formel som denne: (indsættes på ark 1)
=HVIS.FEJL(INDEKS(Ark2!$A$1:$A$5;MINDSTE(HVIS(Ark2!$B$1:$B$5<>0;RÆKKE(Ark2!$A$1:$A$5);"");RÆKKE(B1));1);"").

Husk at evaluere formlen ved at holde CTRL+SHIFT nede inden du trykker enter.

Mit eksempel ser på række 1 til 5. Udvid selv så du går hele området med.

Vh
Anedi
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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