Avatar billede Slettet bruger
18. maj 2009 - 10:08 Der er 7 kommentarer og
1 løsning

Hjælp til Excel

Hej,

Det er ikke så nemt at forklare men jeg har i min excelfil flere kolonner og i disse kolonner rækker af ord/sætninger.

Jeg vil høre om det er muligt at lave en "samle-kolonne" som automatisk kopierer disse ord/sætninger fra hver kolonne og sorterer dem under hinanden ala denne opsætning:

Mine kolonner:

[Colum1] - [Colum2] - [Colum3] - [Colum4]

... sorteres i en samlet kolonne:

[Colum4]
(Colum1)
(Colum2)
(Colum3)
(Colum4)
Avatar billede stefanfuglsang Juniormester
19. maj 2009 - 13:03 #1
Hvis det er noget du kun skal gøre én gang, så opret en formel
i kolonne E:  =A1&B1&C1&D1 og kopier denne formel til alle række, hvor den skal bruges. Marker kolonne E og kopier via clipboard, brug Indsæt Speciel, Værdier f.eks. i kolonne F.
Marker F, vælg Data, Sorter.

Hvis du skal have det mere automatisk, må du bruge makroer (VBA)
Avatar billede stefanfuglsang Juniormester
19. maj 2009 - 13:05 #2
Har lige læst dit indlæg igen - jeg har nok misforstået det.
Avatar billede Slettet bruger
19. maj 2009 - 13:27 #3
Tak for svar stefanfuglsang. Prøver lige at forklare det igen på en anden måde. Jeg har følgende kolonner:

Kolonne1  Kolonne2  Kolonne3
------------------------------
tekst1a    tekst1b    tekst1c
tekst2a    tekst2b    tekst2c
tekst3a    tekst3b    tekst3c

Hvor alt under de 3 ovenstående kolonner skal sorteres i kolonne4 således:

Kolonne4
------------------------------
tekst1a
tekst2a
tekst3a
tekst1b
tekst2b
tekst3b
tekst1c
tekst2c
tekst3c

Hvordan gør jeg det? :)
Avatar billede jens48 Ekspert
19. maj 2009 - 23:18 #4
Hvis tallene starter i række 1 kan du i D1 skrive
=INDIRECT("a"&ROUNDUP((ROW())/3;))
i D2
=INDIRECT("b"&ROUNDUP((ROW())/3;))
og i D3
=INDIRECT("c"&ROUNDUP((ROW())/3;))

Disse tre formler kopieres nedad så langt det er nødvendigt f.eks til D4:D33. Antallet af rækker skal altid være deleligt med 3

Den danske oversættelse af formelen lyder
=indirekte("b"&rund.op((række())/3;))

Hvis tallene ikke starter i række 1 bliver formlerne lidt mere komplicerede:

=INDIRECT("a"&ROUNDUP((ROW()-ROW(D$3))/4+ROW(D$3);))
hvor ROW(D$3) er rækken lige over første talrække (I dette eksempel er der altså 3 rækker over tallene
Avatar billede jens48 Ekspert
19. maj 2009 - 23:52 #5
Ups, det fik jeg lavet på den forkerte led. Jeg prøver en gang til
I d1 skrives
=IF(ROW()>COUNTA(A:B);INDIRECT("c"&ROW()-COUNTA(A:B));IF(ROW()>COUNTA(A:A);INDIRECT("b"&ROW()-COUNTA(A:A));INDIRECT("a"&ROW())))
Denne formel kopieres så langt ned i kolonnen som nødvendigt.
Den danske oversættelse lyder
=hvis(række()>tælv(A:B);indirekte("C"&række()-tælv(A:B));hvis(række()>tælv(A:A);indirekte("b"&række()-tælv(A:A));indirekte("a"&række))))
Gælder kun hvis ordene starter i række 1
Avatar billede Slettet bruger
20. maj 2009 - 10:16 #6
Hej Jens,

Mange tak for hjælpen.

Når jeg sætter koden ind så er der ligesom 4 felter jeg kan flytte rundt med. Men selv om jeg placerer dem over noget tekst så er output altid "0" i kolonnen hvor jeg satte koden ind. Der burde den liste alt det tekst jeg har valgt eller.

Koden kan måske koges mere ned så den er mere begrænset til der hvor den skal bruges.

Så tekst fra kolonnerne:

E-10 til E-53

og fra

G-10 til N-53 (Her er valgt end én kolonne)

listes op i kolonne O gerne startende fra O-10.

Kan dette lade sig gøre istedet?
Avatar billede jens48 Ekspert
21. maj 2009 - 00:00 #7
Med 9 kolonner bliver formelen mere end 3 gange så stor Den metode jeg har brugt dur ikke. Måske kan det klares med en makro, men det er jeg ikke nogen ørn til.
Avatar billede jens48 Ekspert
21. maj 2009 - 12:29 #8
Jeg fandt en løsning hvis du altid har lige mange tekster i hver kolonne. Der skal laves en hjælpekolonne med bogstaverne for de enkelte kolonner. Jeg har lavet den i P1:P9, men den kan laves hvorsomhelst, hvis formelen rettes til. Den indeholder: e, g, h, i, j, k, l, m og n
I O10 skriver du
=INDIRECT(OFFSET($P$1;INT((ROW()-10)/COUNTA($E$10:$E$21));0)&ROW()-COUNTA($E$10:$E$21)*INT((ROW()-10)/COUNTA($E$10:$E$21)))
og den kopieres så langt ned som nødvendigt
Hvis hjælpekolonnen ikke starter i p1 skal $p$1 rettes
Den danske version:
=INDIREkTe(forskydning($P$1;heltal((række()-10)/tælv($E$10:$E$21));0)&Række()-tælv($E$10:$E$21)*heltal((Række()-10)/tælv($E$10:$E$21)))
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