30. november 2009 - 21:26Der er
5 kommentarer og 1 løsning
Alle søgeresultater skal skrives til samme felt adskilt af kommaer
Jeg har en lille udfordring i excel.
Jeg har et regneark der bl.a indeholder følgende kolonner:
A (mdr) B (uge) Januar 01-2009 Januar 02-2009 Januar 03-2009 Januar 04-2009 Februar 05-2009
I bunden af regnarket foretager jeg nogle totaloptællinger i arket bl.a. per måned og der ville jeg så også gerne vise hvilke uger der er medtalt under den enkelte mdr. (ugerne behøver nødvendigvis ikke at blive medtalt under den måned de kalendermæssigt hører til, det er A kolonnen der bestemmer hvilken måned de skal tælles under), men vel at mærke i samme samme felt adskilt af komma (f.eks. FELT 1: Januar; FELT 2: 01, 02, 03, 04
Function Samle(rng As Range, værdi As Range) As String For Each c In rng If c = værdi Then Samle = Samle & Left(c.Offset(0, 1), 2) & ", " Next Samle = Left(Samle, Len(Samle) - 2) End Function
Indsæt kode i et alm. modul i arket skriver du =samle(område;celle) hvor område fx er A1:A100 og celle fx er B1
Jeg kan ikke få funktionen til at virke, den virker mig #Value!, men hvis jeg debugger den kan jeg også se at den spørger på om f.eks. 01-2009 er lig Januar og det er det jo ikke.
Kol A Kol B 01-2009 Januar 02-2009 Januar 03-2009 Januar 04-2009 Januar 05-2009 Januar 06-2009 Februar 07-2009 Februar
Funktionen har jeg udfyldt med følgende: =samle(A2:A54;B2)
område skal være hvor du har måneder (jan,feb...) jeg går ud fra du har en liste med alle 12 mdr. et andet sted fx i C2:C13 og du så indsætter formel til højre for denne du skal nok lige gøre område absolut =samle($B$2:$B$54;C2)
Ja jeg vrøvler kan se du har vendt om på kol a og b prøv denne
Function Samle(rng As Range, værdi As Range) As String For Each c In rng If c = værdi Then Samle = Samle & Left(c.Offset(0, -1), 2) & ", " Next Samle = Left(Samle, Len(Samle) - 2) End Function
Hvis du har behov for at kolonne med uge/år er variabel, så kan du anvende denne i stedet. i arket taster du så : =samle($B$2:$B$54;C2;-1) hvis mdr er i kol B og uger i kol A =samle($C$2:$C$54;C2;-2) hvis mdr er i kol C og uger i kol A =samle($B$2:$B$54;C2;1) hvis mdr er i kol B og uger i kol C =samle($B$2:$B$54;C2;2) hvis mdr er i kol B og uger i kol D
Function Samle(rng As Range, værdi As Range, kolonne) As String For Each c In rng If c = værdi Then Samle = Samle & Left(c.Offset(0, kolonne), 2) & ", " Next Samle = Left(Samle, Len(Samle) - 2) End Function
Synes godt om
Ny brugerNybegynder
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.