Zaujímalo by ma, či sa dajú nejakým spôsobom, prevádzať číselné hodnoty na textové vyjadrenie?
Napr. 1300 tisíctristo
Excel vs prevod čísiel na text.
Moderátor: Mods_senior
- mike007
- Master Level 7.5

- Příspěvky: 5860
- Registrován: 01 srp 2007 18:10
- Bydliště: Pardubice
- Kontaktovat uživatele:
Re: Excel vs prevod čísiel na text.
Je to možné. Excelová funkce ale na to neexistuje. Je potřeba si napsat vlastní. Podívej se na tuto stránku. Tam najdeš kompletní funkci, která to dokáže. Bude jen potřeba si převést názvy čísel z angličtiny do slovenštiny.
- Přílohy
-
- pc-help_3738.xls
- ukázka
- (34.5 KiB) Staženo 51 x
Nejlepší hra je Excel!
• Pravidla fóra PC-help • Jak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy prosím pište do fóra. Od toho tu je.
• Pravidla fóra PC-help • Jak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy prosím pište do fóra. Od toho tu je.
-
navstevnik
- Level 4

- Příspěvky: 1142
- Registrován: 29 srp 2008 16:49
Re: Excel vs prevod čísiel na text.
Preklad nazvu cislic neni slozity, komplikovanejsi je pojmenovani radu - jeden tisic, dva, tri, ctyri tisice, pet, sest,.., devet tisic; milion, miliony, milionu.
Nize je funkce pouzitelna v Excelu, Accesu i Wordu - prevod so sloveciny je trivialni:
Nize je funkce pouzitelna v Excelu, Accesu i Wordu - prevod so sloveciny je trivialni:
Kód: Vybrat vše
Option Explicit
Function Slovy1(Cis) As String ' bez mezer mezi slovy
Dim StrCis As String
Dim LenCis As Byte, Rad As Integer, Ofs As Byte
Dim Pol As Byte, pom As String, pom1 As String, pom2 As String
Dim Jedn As Variant, Des1 As Variant, Des As Variant, Sta As Variant
Dim JednTM As Variant, Tis As Variant, Mil As Variant
'
If Not IsNumeric(Cis) Then Slovy1 = "Hodnota není číslo!": Exit Function
If Cis > 999999999 Then Slovy1 = "Hodnota>999 999 999!": Exit Function
'
Jedn = Array("", "jedna", "dvě", "tři", "čtyři", _
"pět", "šest", "sedm", "osm", "devět")
Des1 = Array("deset", "jedenáct", "dvanáct", "třináct", "čtrnáct", _
"patnáct", "šestnáct", "sedmnáct", "osmnáct", "devatenáct")
Des = Array("", "", "dvacet", "třicet", "čtyřicet", "padesát", _
"šedesát", "sedmdesát", "osmdesát", "devadesát")
Sta = Array("", "jednosto", "dvasta", "třista", "čtyřista", _
"pětset", "šestset", "sedmset", "osmset", "devětset")
Tis = Array("tisíc", "tisíc", "tisíce", "tisíce", "tisíce", _
"tisíc", "tisíc", "tisíc", "tisíc", "tisíc")
JednTM = Array("", "jeden", "dva", "tři", "čtyři", _
"pět", "šest", "sedm", "osm", "devět")
Mil = Array("milionů", "milion", "miliony", "miliony", "miliony", _
"milionů", "milionů", "milionů", "milionů", "milionů")
'
'
StrCis = CStr(Format(Cis, "0.00"))
Pol = InStr(StrCis, ",") - 1 ' poloha radu jednotek v cisle
Rad = 0 ' rad cislice v cisle
Slovy1 = ""
Do
pom = Mid(StrCis, Pol, 1)
If Pol > 1 Then ' hodnota vyssiho radu nez aktualni
pom1 = Mid(StrCis, Pol - 1, 1)
Else ' hodnota pro nejvyssi aktualni rad
pom1 = "0"
End If
'
Select Case Rad
Case 0
pom2 = IIf(pom1 <> 1, Jedn(pom), Des1(pom)): Ofs = IIf(pom1 <> 1, 1, 2)
Case 1
pom2 = Des(pom): Ofs = 1
Case 2
pom2 = Sta(pom): Ofs = 1
Case 3
pom2 = IIf(pom1 <> 1, JednTM(pom), Des1(pom)): Ofs = IIf(pom1 <> 1, 1, 2)
If Pol > 3 Then ' kdyz zustavaji jeste >3 cislice
If Mid(StrCis, Pol - 2, 3) <> "000" Then
pom2 = pom2 & IIf(pom1 <> 1, Tis(pom), "tisíc") ' a jsou i tisice -> vlozeni slova tisic
Else
Ofs = 3 ' preskoci na rad 6 - miliony
End If
Else ' kdyz zustava jeste <3 cislice -> vlozeni slova tisic
pom2 = pom2 & IIf(pom1 <> 1, Tis(pom), "tisíc")
End If
Case 4
pom2 = Des(pom): Ofs = 1
Case 5
pom2 = Sta(pom): Ofs = 1
Case 6
pom2 = IIf(pom1 <> 1, JednTM(pom) & Mil(pom), Des1(pom) & "milionù"): Ofs = IIf(pom1 <> 1, 1, 2)
Case 7
pom2 = Des(pom): Ofs = 1
Case 8
pom2 = Sta(pom): Ofs = 1
End Select
'
Slovy1 = pom2 & Slovy1
Pol = Pol - Ofs: Rad = Rad + Ofs
'
Loop While Pol > 0
Slovy1 = Trim(Slovy1) ' & " " & Right(StrCis, 2) ' pridani destinne casti
End FunctionRe: Excel vs prevod čísiel na text.
Tu som objavil jedno makro na prevádzanie čísiel na textové vyjadrenie. Je to v Slovenskom jazyku...
- Přílohy
-
- Funkcia_Slovom_3.xls
- (53 KiB) Staženo 88 x
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
