Avatar billede petert Forsker
08. februar 2010 - 22:10 Der er 13 kommentarer og
1 løsning

Sorterer tekst

Hej alle
Er der nogle ved om man soterer en tekst fil, således at man for opdelt teksten i forskellige koloner.
tekst filen er opbygget på samme måde
" 240005 5706683014673 19" Vægskab 10HE 553X600X450 Beige PD 1.248,00 "
Kan man således?
første 6 cifre i kolonne A (altid 6 cifre)
næste 13 cifre i kolonne B (Altid 13 cifre)
Sidste Eks."1.248,00" i kolonne D
Alt tekst mellem B og D i kolonne Kolonne C (der er altid mellemrum mellem tekst beløb)

Hvordan kan dette laves ?

MVH
Petert
Avatar billede Slettet bruger
09. februar 2010 - 05:10 #1
Første 6:  =VENSTRE(FJERN.OVERFLØDIGE.BLANKE(A1);6)
Næste 13:  =MIDT(FJERN.OVERFLØDIGE.BLANKE(A1);9;13)
Sidste:    =HØJRE(A1;TÆL(HØJRE(A1;KOLONNE(1:1))*1))

Alt andet: =MIDT(FJERN.OVERFLØDIGE.BLANKE(A1);LÆNGDE(B4)+LÆNGDE(B5)+3;LÆNGDE(A1)-LÆNGDE(B4)-LÆNGDE(B5)-3-TÆL(HØJRE(A1;KOLONNE(1:1))*1))

"Sidste" og "Alt andet" er matriksformler. Det betyder blandt andet, at du skal holde Ctrl og Shift tasten nede før du trykker på Enter. Hvis rigtigt indtastet kvitterer Excel ved at sætte tuborg-parenteser omkring formlerne.

Hans
Avatar billede Slettet bruger
09. februar 2010 - 05:19 #2
Jeg glemte at skrive, at formlen for "Alt andet" forudsætter at formlerne "Første 6" og "Næste 13" findes i celle B4 og B5 og at alle formler forudsætter, at tekststrengen er i A1.
Avatar billede petert Forsker
09. februar 2010 - 06:55 #3
Jeg kan ikke rigtigt få det til at virke.
Jeg har gjort følgende.
teksten er i A1(der er ikke "" i teksten, det var kun for at adskilde teksten i min forklaring her)
I B1,C1,D1,E1 har jeg sat formlen =MIDT(FJERN.OVERFLØDIGE.BLANKE(A1);LÆNGDE(B4)+LÆNGDE(B5)+3;LÆNGDE(A1)-LÆNGDE(B4)-LÆNGDE(B5)-3-TÆL(HØJRE(A1;KOLONNE(1:1))*1))
ind.
Alt tekst står i A1 og kun der.
Er dette forkert
MVH
Petert
Avatar billede Slettet bruger
09. februar 2010 - 07:33 #4
Ja, det er forkert. Men vi tager den igen (med formlerne i de celler du ønsker):

A1: tekststreng
B1: =VENSTRE(FJERN.OVERFLØDIGE.BLANKE(A1);6)
C1: =MIDT(FJERN.OVERFLØDIGE.BLANKE(A1);9;13)
D1: =MIDT(FJERN.OVERFLØDIGE.BLANKE(A1);LÆNGDE(B1)+LÆNGDE(C1)+3;LÆNGDE(A1)-LÆNGDE(B1)-LÆNGDE(C1)-3-TÆL(HØJRE(A1;KOLONNE(1:1))*1))
E1: =HØJRE(A1;TÆL(HØJRE(A1;KOLONNE(1:1))*1))

Formlerne i D1 og E1 er matriksformler.

Hans
Avatar billede petert Forsker
09. februar 2010 - 08:07 #5
Hej dkhanknu
Hvad hulen er dette. Det er for mig lige som at være i lære på troldmandens værksted.
Det virker fint med hvad er det med matriksformler, hvad er det for noget?
Mvh
Petert
Avatar billede petert Forsker
09. februar 2010 - 08:53 #6
Hej igen
Det er super det du har lavet, og en stor hjælp.
Men jeg har også en lang liste, fra en anden leverandør, hvor der er brug for en kolonne mere (mellem C og D før teksten)
5706683012563 122147 9C6L4-A5 UTP Kabel 4X2XAWG23 Kat 6A LSZH 12,95

Eks.9C6L4-A5 (denne kolonner er af varierende karekterer men altid med mellemrum mellem det 6 cifrede tal og vareteksten.

Kan man også gøre det samme her.

Jeg har indsat en ny kolonne D som er tom.

Det ville være smadder fet hvis jeg kunne få de to typer samlet i et excel ark.
MVH
Petert
Avatar billede petert Forsker
09. februar 2010 - 09:09 #7
Jeg har lige opdaget der er byttet om på det 13 og 6 cifrede nummer
Hvordan kan man gøre dette
MVH
Petert
Avatar billede petert Forsker
09. februar 2010 - 09:34 #8
Jeg prøver og vise nogle linjer så i kan se forskellen på kolonnen mellem det 6 cifrede tal og teksten.
    5706683012563 122147 9C6L4-A5 UTP Kabel 4X2XAWG23 Kat 6A LSZH 12,95
    5706683015823 128560 Z6A-K-02 Z-MAX UTP RJ45 Jack Keystone Kat 6A 89,50
    5706683015830 128565 Z6A-02 Z-MAX UTP RJ45 Jack Hybrid Kat 6A 89,50
    5706683015847 128567 Z6A-P-01 Z-MAX UTP RJ45 Jack for Panel Kat 6A 89,50
    5706683015809 128550 Z6A-PNL-24E Z-MAX UTP 24 Ports Panel 1 HE 458,00
    5706683015816 128555 Z6A-PNL-U48E Z-MAX UTP 48 Ports Panel 1 HE 589,00
    5706683015854 128760 ZM6A-01M-02B Z-MAX RJ45 UTP Patch Kbl. 1, 0 mtr. Kat 6A 121,00
Hvis dette giver nogen bedre forståelse
MVH
Petert
Avatar billede petert Forsker
09. februar 2010 - 12:43 #9
Mth til ovenstående kan det så laves sådan at
eks fra første linje
5706683012563 indsættes i kolonne C
122147 indsættes i kolonne B
9C6L4-A5 indsættes i kolonne D
UTP Kabel 4X2XAWG23 Kat 6A LSZH  indsættes i kolonne E
12,95 i kolonne F
Så vil arket være ens.
MVH
Petert
Avatar billede petert Forsker
09. februar 2010 - 13:53 #10
Jeg har nu sat et komma mellem det der skal overføres til D og E
Eks
5706683012563 122147 9C6L4-A5, UTP Kabel 4X2XAWG23 Kat 6A LSZH 12,95
eller
5706683015823 128560 Z6A-K-02, Z-MAX UTP RJ45 Jack Keystone Kat 6A 89,50
kan det hjælpe?
MVH
Petert
Avatar billede Slettet bruger
09. februar 2010 - 14:19 #11
Prøv med følgende formler i B1, C1, D1, E1 og F1

B1: =VENSTRE(A1;13)
C1: =MIDT(A1;15;6)
D1: =MIDT(A1;22;FIND(" ";A1;22)-22)
E1: =MIDT(A1;LÆNGDE(B1)+LÆNGDE(C1)+LÆNGDE(D1)+4;LÆNGDE(A1)-LÆNGDE(B1)-LÆNGDE(C1)-LÆNGDE(D1)-3-TÆL(HØJRE(A1;KOLONNE(1:1))*1))
F1: =HØJRE(A1;TÆL(HØJRE(A1;KOLONNE(1:1))*1))

Formlerne i E1 og F1 er matriksformler.

Hans
Avatar billede petert Forsker
09. februar 2010 - 14:53 #12
Super nu er den ved at være der. I kolonne D kommer alle kommaerne med.
Kan man lave noget så den tæller -1 i formlen i kolonne D
Ellers er det meget fint.
Mvh
Petert
Avatar billede petert Forsker
09. februar 2010 - 15:41 #13
Hej dkhanknu

hvis jeg eks indsætter -1 i denne til sidst
=MIDT(Ark1!A101;22;FIND(" ";Ark1!A101;22)-22-1)
så fjerner jeg ganske rigtigt det sidste koma i kolonne D
men så rykker teksten i kolonne E en gang til højre(der indsættes en mellemrum først.
Hvad skal jeg så ændre i denne formel.

Ellers virker det bare perfeckt.
Læg et svar så vi kan lukke dette
Mange tak for hjælpen.
MVH
Petert
Avatar billede Slettet bruger
09. februar 2010 - 15:53 #14
Hvis der er komma foran mellemrummet:
=MIDT(A1;22;FIND(",";A1;22)-22)
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