Re: [sv-users] Calc - Valuta & tal till text.

2016-04-05 tråd Jan Öhman

Tack Johnny!
Det var funktionen TEXT() som jag sökte.
Min idé (som jag kanske måste skrota pga. att det inte går att sätta 
absoluta referenser till en cell.)
Idag importeras / kopieras värden från Excel- filer / hämtas information 
från leverantörers hemsidor till "Blad1"
Både text och annat hämtas / flyttas och blanka rader läggs in för att 
skilja på olika grupper.

Detta innebär att "Blad1" kan innehålla "allt möjligt".

Från Blad1 tänkte jag bearbeta innehållet för att passa till två 
exporter - En med decimal punkt och en annan med decimalkomma.
Idag måste nya formler skapas och kopieras till dessa sidor varje gång 
det är dags för export.

_

Jag visste inte att formatet "Valuta" inte räknades som tal.
Fungerar jätte bra att räkna med - är något av de ingående värden inte 
tal visas det direkt.

Snabbt att se om talet är formaterat som text - visar sig direkt.
Det händer att jag ändrar på "valuta formatet" dvs. ändrar enheten från 
kr till st.

Detta kan se ganska proffsigt ut - faktiskt.
Beräkningar på ett sådant fält fungerar perfekt.

formatet 1.500,00kr är ett problem (men inte så stort för mig)
Skulle detta uppkomma upptäcks det ganska snabbt vid omvandling eller 
beräkning.

Uppkommer kanske 1-2 ggr/år.


Info!
Jag håller på att fördjupa mig i att kunna läsa, skriva och bearbeta 
celler i Calc med ett externt program.
Vissa funktioner har jag rett ut hur det hanteras (som typsnitt, 
storlek, färger, vertikal / horisontell justering osv.)
Andra funktioner har jag inte riktigt fått att fungera (som att slå ihop 
celler / skriva in vissa beräkningar / läsa celler /skriva vertikal text 
/ infoga bilder osv.)
Det har visat sig att jag fått hjälp med vissa funktioner skrivna i 
VisualBasic.

Men söker forum och kunskap om ämnet.

Men tack för hjälpen denna gång.
//Jan Ö


Den 2016-04-02 kl. 12:52, skrev Johnny Rosenberg:
Den 1 april 2016 19:13 skrev Jan Öhman >:


Hej!
Har kört fast. Idéerna har sinat.
Windows är konfigurerat så att tal visas med decimalkomma dvs.
10,00 kr (inte 10.00 kr)

Min huvud fråga är egentligen
Hur omvandlar man 14,00 kr till text 14.00 (eller möjligen 14)?


Till 14 går ju bra med (om värdet ligger i A1):
=TEXT(A1;"0")

eller gör beräkningar på 4.67 * 0,8 = 3.74?


Det gör man inte, det är en styggelse. Och det är fult. Undvik!
Dessutom, om du omvandlar tal (oavsett form) till text, kan du inte 
längre göra beräkningar på den cellen (såvida du inte omvandlar 
tillbaka till ett värde igen, det vill säga går över både å och bäck 
efter vatten).


Mitt tips är att omvandla till tal så tidigt det bara går, sedan kan 
man i princip göra vad man vill med det hela genom vanlig formatering 
utan att det påverkar resultatet i senare led eller strular till det 
på annat sätt. Kort sagt, gör rätt från början, så blir det så mycket 
enklare senare.



Att omvandla TEXT  till VALUTA - inget problem => VALUTA()
Att omvandla TEXT till TAL - inget problem => TEXTNUM()


Märkligt, i Apache OpenOffice verkar den heta VÄRDE()… men inte i Excel.

Men hur omvandlar man VALUTA och TAL till TEXT med en funktion?
typ "NUMTEXT()"


TEXT()

(något jag missat?)


Ja, TEXT()
Från hjälpen:


  Syntax

TEXT(tal; format)

*tal* är det siffervärde som ska omvandlas.

*Format* är den text som definierar formatet. Använd decimaler och 
tusentalsavgränsare enligt språkinställningarna i cellformatet.



Men lugn, du kommer inte att behöva den, vi ska inte gå över alltför 
många åar efter vattnet här.

Fortsätt att läsa istället.

___

För att förklara ytterligare, finns ett exempel nedan.
Ska försöka förenkla problemet så bra som möjligt.

Antag att det finns tre flikar (blad) i LibreOffice Calc.
Blad1, Huvud bladet - alla tal som valuta, är förmodligen (oftast)
representerade med decimalpunkt (ex. 14 eller 10.00 eller 4.67),
skräptecken och blanksteg kan förekomma.


Så egentligen är det inte alls ”alla tal som valuta”, utan snarare 
alla tal som text, det vill säga inte tal alls, utan bara text. Eller 
är det en blandning? Nåja, det visade sig inte spela så stor roll för 
fortsättningen. Häng på…


Blad2, Resultatblad 1 - alla tal som valuta, är representerade med
decimalkomma (ex. 14,00kr eller 10,00kr eller 4,67kr)


Okej, låter ju vettigt, innan man fattat vad det egentligen är frågan om…

Blad3, Resultatblad 2 - alla tal som valuta, har förmodligen samma
representation som blad 1, men oönskade tecken är bortrensade.


Om blad två verkligen är ”som valuta”, finns inga oönskade tecken att 
rensa bort, det kan det endast finnas om det är ”som text” (annars 
blir ju resultatet ett felmeddelande), så jag antar att så är fallet 
även på blad 2, alltså…
Men jag kommer att följa ditt exempel till punkt och pricka till att 
börja med, bara lugn… innan jag vänder allt på ända och visar hur 
enkelt man kan, och bör, göra det (slå mig 

[sv-users] Calc - Valuta & tal till text.

2016-04-01 tråd Jan Öhman

Hej!
Har kört fast. Idéerna har sinat.
Windows är konfigurerat så att tal visas med decimalkomma dvs. 10,00 kr 
(inte 10.00 kr)


Min huvud fråga är egentligen
Hur omvandlar man 14,00 kr till text 14.00 (eller möjligen 14)?
eller gör beräkningar på 4.67 * 0,8 = 3.74?

Att omvandla TEXT  till VALUTA - inget problem => VALUTA()
Att omvandla TEXT till TAL - inget problem => TEXTNUM()
Men hur omvandlar man VALUTA och TAL till TEXT med en funktion? typ 
"NUMTEXT()"

(något jag missat?)
___

För att förklara ytterligare, finns ett exempel nedan.
Ska försöka förenkla problemet så bra som möjligt.

Antag att det finns tre flikar (blad) i LibreOffice Calc.
Blad1, Huvud bladet - alla tal som valuta, är förmodligen (oftast) 
representerade med decimalpunkt (ex. 14 eller 10.00 eller 4.67), 
skräptecken och blanksteg kan förekomma.
Blad2, Resultatblad 1 - alla tal som valuta, är representerade med 
decimalkomma (ex. 14,00kr eller 10,00kr eller 4,67kr)
Blad3, Resultatblad 2 - alla tal som valuta, har förmodligen samma 
representation som blad 1, men oönskade tecken är bortrensade.


För att enklare kunna testa och beskriva idéerna / lösningarna 
representerar Blad1 rad 10-19, Blad2 rad 20-29, och Blad 3 rad 30-39.


Antag att följande celler innehåller följande värden och formler.
(Blad1)
B10 = 14
C10 = 10.00
D10 = 4.67
E10 = 7,9

(Blad2)
B20 =VALUTA(RENSA(STÄDA(BYT.UT(B10;".";","=> 14,00 kr
C20 =VALUTA(RENSA(STÄDA(BYT.UT(C10;".";","=> 10,00 kr
D20 =VALUTA(RENSA(STÄDA(BYT.UT(D10;".";","=>   4,67 kr
E20 =VALUTA(RENSA(STÄDA(BYT.UT(E10;".";","=>   7,90 kr

B21 = Valuta(B20*0,8)=> 11,20 kr
C21 = Valuta(C20*0,8)=>  8,00 kr
D21 = Valuta(D20*0,8)=>  3,74 kr
E21 = Valuta(E20*0,8)=>  6,32 kr

Så långt inget problem!
men...

(Blad3)
Min önskan är följande resultat i cellerna på Blad3 (ingen enhet, samt 
decimalpunkt)

B30 = 14.00 (eller 14)
C30 = 10.00 (eller 10)
D30 = 4.67
E30 = 7.90 (eller 7.9)

B31 = 11.20 (eller 11.2)
C31 =  8.00 (eller 8)
D31 =  3.74
E31 =  6.32

Enklast skulle ha varit följande (men uppfyller inte önskemålet)
(talen/beloppen ändrar från decimalkomma till decimal punkt)
B30 = BYT.UT(B20;",";".")=> 14.00 kr
C30 = BYT.UT(C20;",";".")=> 10.00 kr
osv.
Det fungerar inte att formatera cellerna i bladet som text istället för 
valuta, eftersom cellerna inte innehåller tal utan formler.


Det är möjligt att utgå från Blad1 på följande sätt
B30 =RENSA(STÄDA(BYT.UT(B10;",";".")))=> 14
C30 =RENSA(STÄDA(BYT.UT(C10;",";".")))=> 10.00

Helt OK! (men det hade varit snyggare om resultatet hade haft samma 
antal "decimaler")



Någon som har något tips?

//Jan Ö

--
For unsubscribe instructions e-mail to: users+unsubscr...@sv.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/sv/users/
All messages sent to this list will be publicly archived and cannot be deleted