/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn 

Kodeord  


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18609
refi 14474
Klaudi 8489
Rosco40 5695
berpox 5456
dk 5398
Benjamin... 4870
webnoob 4747
o.v.n. 4637
10  EXTERMINA.. 4373
Udtrække data i Excel
Fra : pedroso
Vist : 1901 gange
200 point
Dato : 15-09-09 14:47

Jeg har brug for at udtrække et tal fra en linje som kan se sådan her ud:

Letech DES kateterisætter C1-3 78.000,00
Letech DES kanyle-serter U 132.500,00
komp. til nålemagasiner 32,80
11394 293624 2009 1.083,00-

Tallet efter det sidste mellemrum i linjen vil jo være det man skal finde, men hvordan gør man det? Teksten foran tallet kan være vilkårlig, og med vilkårligt antal mellemrum. Ikke noget med VBA.

 
 
Kommentar
Fra : Eyvind


Dato : 15-09-09 16:36

Du kan bare lave en makro som gør det. (VBA på den nemme måde)

start indspilning af makro
foretag en søgning
marker og kopier
afslut makro

Kommentar
Fra : pedroso


Dato : 15-09-09 17:20

Tak for svaret. Nu ville jeg jo helst undgå VBA. Men din måde vil næppe virke. Hver linje er jo forskellig, så det du markerer i den ene linje vil jo ikke virke i den næste.

En tanke var at bruge Find eller Search funktionen, og så søge på mellemrum. Kan jeg finde det sidste mellemrum i teksten vil det jo markere der hvor jeg skal kopiere fra. Men funktionen finder desværre kun det første mellemrum. Og der kan jo være vilkårligt mange.

Kommentar
Fra : Eyvind


Dato : 15-09-09 19:10

Hvis det er mønsteret du viser - så kan du da søge på tallet som alle har et ","
Og så er det spørgsmålet om du har det i een celle eller flere.

Hvis du lander på "tallet" i en kolonne, så kan du med HOME komme tilstarten af rækken og så derfra markere hele rækken > kopiér

Stadig med alm. makro uden at skulle programmere i VBA

(makro er jo VBA)

Accepteret svar
Fra : sion

Modtaget 200 point
Dato : 15-09-09 20:43

Skriv dine tekststrenge i kolonne A. I de følgende formler findes beløbet i den tekststreng, der står i celle A1.

Skriv følgende formler i kolonnerne B-H og træk formlerne nedad, så alle tekststrenge i kolonne A kommer gennem regnemaskinen. Resultaterne står i kolonne H.

B1: =UDSKIFT(A1;TEGN(160);"")
C1: =UDSKIFT(B1;" ";"")
D1: =LÆNGDE(B1)-LÆNGDE(C1)
E1: =UDSKIFT(A1;" ";"|";D1)
F1: =FIND("|";E1)
G1: =MIDT(B1;F1;LÆNGDE(B1)-F1+1)
H1: =HVIS(HØJRE(G1;1)="-";-1;1)*UDSKIFT(G1;"-";"")

Formlerne kan uden tvivl sættes sammen, så de kan være i færre celler (og måske endda kun én eller to), men det har jeg ikke lige tid til at gøre.

Formlerne tager hensyn til, at der muligvis er et linjeskift i enden af hver linje (det er tegn 160, som bliver fjernet i kolonne B).

Formlerne kræver, at der aldrig forekommer tegnet | i dine tekststrenge. Hvis der gør det, så udskift det i formlerne med et andet tegn, som med garanti ikke forekommer.

Formlerne antager, at minustegnet allersidst i din fjerde tekststreng betyder, at værdien er negativ (selvom minustegnet vel plejer at stå foran værdien).

Håber du kan bruge formlerne. Ellers skriv igen.

Simon

Godkendelse af svar
Fra : pedroso


Dato : 16-09-09 11:18

Løsningen er at gøre som Sion har skrevet. Jeg fandt det selv på nettet, her er det skrevet sammen til en enkelt linje:

http://spreadsheetpage.com/index.php/tip/creating_a_megaformula/

Det med minustegnet har jeg droppet, da det bliver alt for langt. Jeg finder dem nemt og retter dem manuelt. Men ideen er rigtig

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 174960
Tips : 31772
Nyheder : 719565
Indlæg : 6392279
Brugere : 218418

Månedens bedste
Årets bedste
Sidste års bedste