On taulukkoja joissa on mittoja sekalukuina, ne ovat muotoja : "2 1/4" tai "3/8" tai sitten vaan "16". Näistä pitäisi saada desimaalilukuja. Olen googlettanut ja yrittänyt väääntää formulaa ja VBA:ta monta tuntia. Löytyisikö valmista ratkaisua tähän?
Solussa olevat tekstimuotoiset sekaluvut (kokonaisosa väli osoittaja / nimittäjä) desimaaliluvuksi?
3
129
Vastaukset
- Anonyymi
Vaihda solun formaatti yleiseksi. Kokonaan toinen juttu on jos luvut on kirjoitettu hipsu merkki edellä tekstiksi. Silloin ei auta kuin kahlata solu solulta poistamassa hipsut.
- Anonyymi
Avaukseni oli puutteellinen koska en oivaltanut että alla olevalla seikalla olsi merkitystä, mutta on. Datajoukko joka on copy-pastettu netistä, tekstinä, pitää sisällään seuraavan muotoista dataa:
2 1/4"
2 1/4 "
3/8"
3/8 "
16"
16 "
Nuo saan siistittyä kaavalla::
=TRIM(SUBSTITUTE(B20,CHAR(34),""))
jonka tulokset ovat ne tekstinä olevat sekaluvut, joka pitäsi saada numeerisiksi.
Kun kirjoitan tai copy-pastean soluun esim "1/8" ilman lainausmerkkejä niin solussa näkyy Enterin jälkeen "08-Jan" myöskin ilman lainausmerkkejä, sitten kun muutan tämän solun formaatiksi General niin solussa lukee ja jämäkästi on lukuarvo 44204 (joka on Excelin DateSerial).
Hipsut muuten poistuu kaavalla:
=IF(ISERR(SUBSTITUTE(A1,"\'","") 0), SUBSTITUTE(A1,"\'",""),SUBSTITUTE(A1,"\'","") 0) - Anonyymi
Anonyymi kirjoitti:
Avaukseni oli puutteellinen koska en oivaltanut että alla olevalla seikalla olsi merkitystä, mutta on. Datajoukko joka on copy-pastettu netistä, tekstinä, pitää sisällään seuraavan muotoista dataa:
2 1/4"
2 1/4 "
3/8"
3/8 "
16"
16 "
Nuo saan siistittyä kaavalla::
=TRIM(SUBSTITUTE(B20,CHAR(34),""))
jonka tulokset ovat ne tekstinä olevat sekaluvut, joka pitäsi saada numeerisiksi.
Kun kirjoitan tai copy-pastean soluun esim "1/8" ilman lainausmerkkejä niin solussa näkyy Enterin jälkeen "08-Jan" myöskin ilman lainausmerkkejä, sitten kun muutan tämän solun formaatiksi General niin solussa lukee ja jämäkästi on lukuarvo 44204 (joka on Excelin DateSerial).
Hipsut muuten poistuu kaavalla:
=IF(ISERR(SUBSTITUTE(A1,"\'","") 0), SUBSTITUTE(A1,"\'",""),SUBSTITUTE(A1,"\'","") 0)Puuh. Kun ensin siivoan A1:ssä olevan lähtödatan kaavalla B1:ssä:
=TRIM(SUBSTITUTE(A1,CHAR(34),""))
niin sitten User Defined Function:
Option Explicit
'Module code
Function Eval(StringFormula As Range)
Dim theString As String
Application.Volatile
theString = StringFormula.Text
Eval = Evaluate(theString)
StringFormula.NumberFormat = "General"
End Function
Mahdollistaa C1:ssä kaavan:
=Eval(B1)
Eval muodostaa (virheittä) numeerisen desimaaliluvun joko formulan tuottamasta tai copy-pastetusta tai käsin kirjoitetusta teksimuotoisesta sekaluvusta ja jos B1:ssä onkin valmiiksi desimaaliluku niin tuloksena on ko desimaaliluku. Jos edeltävien edessä on hipsu niin se poistuu.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1191692
Noniin rakas
Annetaanko pikkuhiljaa jo olla, niin ehkä säilyy vienot hymyt kohdatessa. En edelleenkään halua sulle tai kenellekään mi991508Lasten hyväksikäyttö netissä - Joka 3. nuori on saanut seksuaalisen yhteydenoton pedofiililtä
Järkyttävää! Lapsiin kohdistuva seksuaalinen hyväksikäyttö verkossa on yhä pahempi ongelma. Ulkolinja: Lasten hyväksikäy37973Multa sulle
Pyörit 24/7 mielessä, kuljet mun mukana, mielessä kyselen sun mielipiteitä, vitsailen sulle, olen sydän auki, aitona. M29889Kumpi vetoaa enemmän sinuun
Kaivatun ulkonäkö vai persoonallisuus? Ulkonäössä kasvot vai vartalo? Mikä luonteessa viehättää eniten? Mikä ulkonäössä?38851Nainen, olen tutkinut sinua paljon
Salaisuutesi ei ole minulle salaisuus. Ehkä teimme jonkinlaista vaihtokauppaa kun tutkisimme toisiamme. Meillä oli kumm50806Mies, eihän sulla ole vaimoa tai naisystävää?
Minusta tuntuu jotenkin, että olisit eronnut joskus, vaikka en edes tiedä onko se totta. Jos oletkin oikeasti edelleen s43758Olet myös vähän ärsyttävä
Tuntuu, että olet tahallaan nuin vaikeasti tavoiteltava. En tiedä kauanko jaksan tätä näin.37750Okei nyt mä ymmärrän
Olet siis noin rakastunut, se selittää. Onneksesi tunne on molemminpuolinen 😘56748Onko sulla empatiakykyä?
Etkö tajua yhtään miltä tämä tuntuu minusta? Minä ainakin yritän ymmärtää miltä sinusta voisi tuntua. En usko, että olet37730