Как да превърна цифри в текст? 

Microsoft Excel

Здравейте, как да превърна цифри в текст в ексел? Направил съм си ордер и много се дразня, че не се получава. Преди се получаваше, а вече не! Тогава се получаваше чрез формулата =Slove, а вече даже и нея я нямам като команда !

Здравей, може да ги превърнеш като използваш функцията TEXT.

В колона B (снимка 1 позиция 1) имаме числови стойности, след сумирането им (снимка 1 позиция 2) съответно получаваме сумата. Нека в колона C (снимка 1 позиция 3) превърнем тези числови стойности.Ще нарпавим това посредством формулата TEXT.

В случая тя има вида (снимка 1 позиция 4) =TEXT(B2;"0,00") , където

  • B2 е клетката съдържаща числовата стойност

  • "0,00" - е формата на текста, в който искаме да запишем числовата стойност. Тук съм записал 0,00 с оглед на това че числата който имам са до стотни, ако бяха само до десети можеше да е "0,0".

Вече имам текстови стойности, правя една сума за да видя дали не са числа все пак, нищо не получавам като сума (снимка 1 позиция 5), така че определено тук имаме текст.

Снимка_1

Предполагам, че искате числото 25 да се изпише като "двадесет и пет" в ордера. Функцията "Slove" по всяка вероятност е ръчно написана и включена във файла. За да я добавите към нов файл ще трябва да я вземете от файла, в който е работила. Бихте могли да направите копие на работещия файл, да изтриете конкретните данни (без клетките, в които са използвани формулите) и да си въведете нови данни.

Здравей, да, точно това искам, функцията SLOVE вече я нямам в нито един файл, не ми се появява като опция в ексел вече. Даже на няколко пъти си преинсталирах офиса, за да имам тази опция, но не се получава. Файла, в който работеше тази функция отдавна не е активен, тоест - идтрит. В други файлове, където тази функция работеше, работи временно и после нещо се СЧУПВА.... и не мис е получава....

@Славчо @ Дарина

Здравейте,отново  


ето един макрос който може да ти свърши работа. Предполагам, че за това ти трябва.

Function Spell(NumStr, i)
Static Units(20) As String, Decim(9) As String, Hundr(11) As String, Thous(5) As String, Thous1(5) As String
Static Units1(20) As String
Units(0) = ""
Units(1) = "един "
Units(2) = "два "
Units(3) = "три "
Units(4) = "четири "
Units(5) = "пет "
Units(6) = "шест "
Units(7) = "седем "
Units(8) = "осем "
Units(9) = "девет "
Units(10) = "десет "
Units(11) = "единадесет "
Units(12) = "дванадесет "
Units(13) = "тринадесет "
Units(14) = "четиринадесет "
Units(15) = "петнадесет "
Units(16) = "шестнадесет "
Units(17) = "седемнадесет "
Units(18) = "осемнадесет "
Units(19) = "деветнадесет "
Units1(0) = ""
Units1(1) = "една "
Units1(2) = "две "
Units1(3) = "три "
Units1(4) = "четири "
Units1(5) = "пет "
Units1(6) = "шест "
Units1(7) = "седем "
Units1(8) = "осем "
Units1(9) = "девет "
Units1(10) = "десет "
Units1(11) = "единадесет "
Units1(12) = "дванадесет "
Units1(13) = "тринадесет "
Units1(14) = "четиринадесет "
Units1(15) = "петнадесет "
Units1(16) = "шестнадесет "
Units1(17) = "седемнадесет "
Units1(18) = "осемнадесет "
Units1(19) = "деветнадесет "
Decim(0) = ""
Decim(1) = "двадесет "
Decim(2) = "тридесет "
Decim(3) = "четиридесет "
Decim(4) = "петдесет "
Decim(5) = "шестдесет "
Decim(6) = "седемдесет "
Decim(7) = "осемдесет "
Decim(8) = "деведесет "
Hundr(0) = ""
Hundr(1) = ""
Hundr(2) = "сто "
Hundr(3) = "двеста "
Hundr(4) = "триста "
Hundr(5) = "четиристотин "
Hundr(6) = "петстотин "
Hundr(7) = "шестстотин "
Hundr(8) = "седемстотин "
Hundr(9) = "осмстотин "
Hundr(10) = "деветстотин "
Thous(0) = ""
Thous(1) = ""
Thous(2) = "хиляди "
Thous(3) = "милиона "
Thous(4) = "милиарда "
Thous1(0) = ""
Thous1(1) = ""
Thous1(2) = "хиляда "
Thous1(3) = "милион "
Thous1(4) = "милиард "
Dim Num, RetStr
RetStr = ""
Num = CInt(NumStr)
If Num = 0 Then
Spell = RetStr
Exit Function
End If
If Num = 1 Then
Select Case i
Case 1
RetStr = "и " & Units(1) & Thous1(1)
Case 2
RetStr = Thous1(2)
Case Else
RetStr = Units(1) & Thous1(i)
End Select
Spell = RetStr
Exit Function
End If
RetStr = RetStr & "и " & Hundr(CInt(Left(NumStr, 1)) + 1)
If CInt(Right(NumStr, 2)) = 0 Then
Spell = RetStr & Thous(i)
Exit Function
End If
If Mid(NumStr, 2, 1) = "0" Or Mid(NumStr, 2, 1) = "1" Then

If i = 2 Then
Spell = RetStr & "и " & Units1(CInt(Mid(NumStr, 2, 2))) & Thous(i)
Else
Spell = RetStr & "и " & Units(CInt(Mid(NumStr, 2, 2))) & Thous(i)
End If
Exit Function
End If
If Right(NumStr, 1) = "0" Then
RetStr = RetStr & Decim(CInt(Mid(NumStr, 2, 1)) - 1)
Else
If i = 2 Then
RetStr = RetStr & Decim(CInt(Mid(NumStr, 2, 1)) - 1) & "и " & Units1(CInt(Right(NumStr, 1)))
Else
RetStr = RetStr & Decim(CInt(Mid(NumStr, 2, 1)) - 1) & "и " & Units(CInt(Right(NumStr, 1)))
End If
End If
Spell = RetStr & Thous(i)
End Function
Function Slov(ByVal Num As Currency)
Static c(5)
Dim NumStr, NumStr1, i, k
If Not IsNull(Num) Then
NumStr = Trim(CStr(Num))
If Num = 0 Then
Slov = "нула"
Exit Function
End If

Dim Buf As String:
If (Num < 0@) Then Buf = "минус " Else Buf = ""
Dim Frac As Currency: Frac = Abs(Num - Fix(Num))
If (Num < 0@ Or Frac <> 0@) Then Num = Abs(Fix(Num))
Dim AtLeastOne As Integer: AtLeastOne = Num >= 1
i = 1
NumStr = Num
Do
If Len(NumStr) > 3 Then
c(i) = Right$(NumStr, 3)
NumStr = Left$(NumStr, Len(NumStr) - 3)
i = i + 1
Else
c(i) = String(3 - Len(NumStr), "0") & NumStr
Exit Do
End If
Loop
NumStr = ""
For k = i To 1 Step -1
NumStr = NumStr & Spell(c(k), k)
Next k
Debug.Print NumStr
If Left(NumStr, 2) = "и " Then
NumStr = Right$(NumStr, Len(NumStr) - 2)
End If
If Left(NumStr, 2) = "и " Then
NumStr = Right$(NumStr, Len(NumStr) - 2)
End If
'стотинки
If (Frac = 0@) Then
Buf = Buf
ElseIf (Int(Frac * 100@) = Frac * 100@) Then
If AtLeastOne Then Buf = Buf & "и "
Buf = Buf & Format$(Frac * 100@, "00")
Else
If AtLeastOne Then Buf = Buf & "и "
Buf = Buf & Format$(Frac * 10000@, "0000")
End If
Slov = NumStr & Buf ' "лв. "
End If
End Function

Писал съм за него тук: Може ли в MS Excel 2010 да се преобразува число в текст - от цифром в словом?

Направен е за валута, но може да махнеш частта с валутата.

Ако можете да копирате и поставите тук кода на функцията, която не работи правилно, може да открием проблема. Предполагам, че и при Вас с комбинацията Alt+F11 се отваря прозореца на VBA за Excel.

При мен описаните стъпки по-горе вече работят правилно! Благодаря за отговора!

И при мен стана, но първия път. Когато затворих файла и пак го отворих - вече не ставаше..

@ Славчо Русимов.

Запази файла заедно с процедуратa, като най-бързото е файла да го запазиш в .xlsm формат.

Благодаря ? При мен работи.

Здравейте,

Аз в един момент бях тръгнала да уча VBA, но вече все по-рядко използвам Excel - вместо това работя съвместно с екипите ми в Google Sheets. Знам, че и там има макроси, но така и не съм стигнала да разучавам как се случват нещата.

В работата ми много често се налага да попълвам командировъчни заповеди, което е ужасна досада, затова си направих бланка на Google Sheets, в която всичко да се попълва много лесно и бързо с формулки. Само това "Словом" ме дразнеше. Не намерих готова формула във форумите из интернет и реших да си направя моя формула. Споделям ви я! :)))

Финкционира само за числа между 10 лв. и 999 лв. (но не съм имала командировка с по-големи суми :D). Може да ви бъде полезна!

  • Референтната клетка трябва да е форматирана като валута в лв. ** За най-лесна смяна на референтната клетка, ползвам 2 метода:
  1. Копирам формулата на празен Sheet и ръчно местя референтната клетка на позицията, която ми трябва. След това копи-пействам в шийта, в който ми трябва :)
  2. Поставям формулата в Word и използвам обикновен Replace :)

Enjoy!

Формула за изписване на „словом“ – между 10 лв. и 999 лв. – by Ju, 06.05.2020 г.

=ifs(len(A6)=9;concatenate(ifs(left(A6;1)="1";"сто и ";left(A6;1)="2";"двеста ";left(A6;1)="3";"триста ";left(A6;1)="4";"четиристотин ";left(A6;1)="5";"петстотин ";left(A6;1)="6";"шестстотин ";left(A6;1)="7";"седемстотин ";left(A6;1)="8";"осемстотин ";left(A6;1)="9";"деветстотин ");ifs(left(RIGHT(A6;8);2)="00";"";left(RIGHT(A6;8);2)="01";"и един лева ";left(RIGHT(A6;8);2)="02";"и два лева ";left(RIGHT(A6;8);2)="03";"и три лева ";left(RIGHT(A6;8);2)="04";"и четири лева ";left(RIGHT(A6;8);2)="05";"и пет лева ";left(RIGHT(A6;8);2)="06";"и шест лева ";left(RIGHT(A6;8);2)="07";"и седем лева ";left(RIGHT(A6;8);2)="08";"и осем лева ";left(RIGHT(A6;8);2)="09";"и девет лева ";left(RIGHT(A6;8);2)="10";"и десет лева ";left(RIGHT(A6;8);2)="11";"и единадесет лева ";left(RIGHT(A6;8);2)="12";"и дванадесет лева ";left(RIGHT(A6;8);2)="13";"и тринадесет лева ";left(RIGHT(A6;8);2)="14";"и четиринадесет лева ";left(RIGHT(A6;8);2)="15";"и петнадесет лева ";left(RIGHT(A6;8);2)="16";"и шестнадесет лева ";left(RIGHT(A6;8);2)="17";"и седемнадесет лева ";left(RIGHT(A6;8);2)="18";"и осемнадесет лева ";left(RIGHT(A6;8);2)="19";"и деветнадесет лева ";left(RIGHT(A6;8);2)="20";"и двадесет лева ";left(RIGHT(A6;8);2)="21";"двадесет и един лева ";left(RIGHT(A6;8);2)="22";"двадесет и два лева ";left(RIGHT(A6;8);2)="23";"двадесет и три лева ";left(RIGHT(A6;8);2)="24";"двадесет и четири лева ";left(RIGHT(A6;8);2)="25";"двадесет и пет лева ";left(RIGHT(A6;8);2)="26";"двадесет и шест лева ";left(RIGHT(A6;8);2)="27";"двадесет и седем лева ";left(RIGHT(A6;8);2)="28";"двадесет и осем лева ";left(RIGHT(A6;8);2)="29";"двадесет и девет лева ";left(RIGHT(A6;8);2)="30";"и тридесет лева ";left(RIGHT(A6;8);2)="31";"тридесет и един лева ";left(RIGHT(A6;8);2)="32";"тридесет и два лева ";left(RIGHT(A6;8);2)="33";"тридесет и три лева ";left(RIGHT(A6;8);2)="34";"тридесет и четири лева ";left(RIGHT(A6;8);2)="35";"тридесет и пет лева ";left(RIGHT(A6;8);2)="36";"тридесет и шест лева ";left(RIGHT(A6;8);2)="37";"тридесет и седем лева ";left(RIGHT(A6;8);2)="38";"тридесет и осем лева ";left(RIGHT(A6;8);2)="39";"тридесет и девет лева ";left(RIGHT(A6;8);2)="40";"и четиридесет лева ";left(RIGHT(A6;8);2)="41";"четиридесет и един лева ";left(RIGHT(A6;8);2)="42";"четиридесет и два лева ";left(RIGHT(A6;8);2)="43";"четиридесет и три лева ";left(RIGHT(A6;8);2)="44";"четиридесет и четири лева ";left(RIGHT(A6;8);2)="45";"четиридесет и пет лева ";left(RIGHT(A6;8);2)="46";"четиридесет и шест лева ";left(RIGHT(A6;8);2)="47";"четиридесет и седем лева ";left(RIGHT(A6;8);2)="48";"четиридесет и осем лева ";left(RIGHT(A6;8);2)="49";"четиридесет и девет лева ";left(RIGHT(A6;8);2)="50";"и петдесет лева ";left(RIGHT(A6;8);2)="51";"петдесет и един лева ";left(RIGHT(A6;8);2)="52";"петдесет и два лева ";left(RIGHT(A6;8);2)="53";"петдесет и три лева ";left(RIGHT(A6;8);2)="54";"петдесет и четири лева ";left(RIGHT(A6;8);2)="55";"петдесет и пет лева ";left(RIGHT(A6;8);2)="56";"петдесет и шест лева ";left(RIGHT(A6;8);2)="57";"петдесет и седем лева ";left(RIGHT(A6;8);2)="58";"петдесет и осем лева ";left(RIGHT(A6;8);2)="59";"петдесет и девет лева ";left(RIGHT(A6;8);2)="60";"и шестдесет лева ";left(RIGHT(A6;8);2)="61";"шестдесет и един лева ";left(RIGHT(A6;8);2)="62";"шестдесет и два лева ";left(RIGHT(A6;8);2)="63";"шестдесет и три лева ";left(RIGHT(A6;8);2)="64";"шестдесет и четири лева ";left(RIGHT(A6;8);2)="65";"шестдесет и пет лева ";left(RIGHT(A6;8);2)="66";"шестдесет и шест лева ";left(RIGHT(A6;8);2)="67";"шестдесет и седем лева ";left(RIGHT(A6;8);2)="68";"шестдесет и осем лева ";left(RIGHT(A6;8);2)="69";"шестдесет и девет лева ";left(RIGHT(A6;8);2)="70";"и седемдесет лева ";left(RIGHT(A6;8);2)="71";"седемдесет и един лева ";left(RIGHT(A6;8);2)="72";"седемдесет и два лева ";left(RIGHT(A6;8);2)="73";"седемдесет и три лева ";left(RIGHT(A6;8);2)="74";"седемдесет и четири лева ";left(RIGHT(A6;8);2)="75";"седемдесет и пет лева ";left(RIGHT(A6;8);2)="76";"седемдесет и шест лева ";left(RIGHT(A6;8);2)="77";"седемдесет и седем лева ";left(RIGHT(A6;8);2)="78";"седемдесет и осем лева ";left(RIGHT(A6;8);2)="79";"седемдесет и девет лева ";left(RIGHT(A6;8);2)="80";"и осемдесет лева ";left(RIGHT(A6;8);2)="81";"осемдесет и един лева ";left(RIGHT(A6;8);2)="82";"осемдесет и два лева ";left(RIGHT(A6;8);2)="83";"осемдесет и три лева ";left(RIGHT(A6;8);2)="84";"осемдесет и четири лева ";left(RIGHT(A6;8);2)="85";"осемдесет и пет лева ";left(RIGHT(A6;8);2)="86";"осемдесет и шест лева ";left(RIGHT(A6;8);2)="87";"осемдесет и седем лева ";left(RIGHT(A6;8);2)="88";"осемдесет и осем лева ";left(RIGHT(A6;8);2)="89";"осемдесет и девет лева ";left(RIGHT(A6;8);2)="90";"и деветдесет лева ";left(RIGHT(A6;8);2)="91";"деветдесет и един лева ";left(RIGHT(A6;8);2)="92";"деветдесет и два лева ";left(RIGHT(A6;8);2)="93";"деветдесет и три лева ";left(RIGHT(A6;8);2)="94";"деветдесет и четири лева ";left(RIGHT(A6;8);2)="95";"деветдесет и пет лева ";left(RIGHT(A6;8);2)="96";"деветдесет и шест лева ";left(RIGHT(A6;8);2)="97";"деветдесет и седем лева ";left(RIGHT(A6;8);2)="98";"деветдесет и осем лева ";left(RIGHT(A6;8);2)="99";"деветдесет и девет лева"));len(A6)=8;ifs(left(RIGHT(A6;8);2)="10";"десет лева ";left(RIGHT(A6;8);2)="11";"единадесет лева ";left(RIGHT(A6;8);2)="12";"дванадесет лева ";left(RIGHT(A6;8);2)="13";"тринадесет лева ";left(RIGHT(A6;8);2)="14";"четиринадесет лева ";left(RIGHT(A6;8);2)="15";"петнадесет лева ";left(RIGHT(A6;8);2)="16";"шестнадесет лева ";left(RIGHT(A6;8);2)="17";"седемнадесет лева ";left(RIGHT(A6;8);2)="18";"осемнадесет лева ";left(RIGHT(A6;8);2)="19";"деветнадесет лева ";left(RIGHT(A6;8);2)="20";"двадесет лева ";left(RIGHT(A6;8);2)="21";"двадесет и един лева ";left(RIGHT(A6;8);2)="22";"двадесет и два лева ";left(RIGHT(A6;8);2)="23";"двадесет и три лева ";left(RIGHT(A6;8);2)="24";"двадесет и четири лева ";left(RIGHT(A6;8);2)="25";"двадесет и пет лева ";left(RIGHT(A6;8);2)="26";"двадесет и шест лева ";left(RIGHT(A6;8);2)="27";"двадесет и седем лева ";left(RIGHT(A6;8);2)="28";"двадесет и осем лева ";left(RIGHT(A6;8);2)="29";"двадесет и девет лева ";left(RIGHT(A6;8);2)="30";"тридесет лева ";left(RIGHT(A6;8);2)="31";"тридесет и един лева ";left(RIGHT(A6;8);2)="32";"тридесет и два лева ";left(RIGHT(A6;8);2)="33";"тридесет и три лева ";left(RIGHT(A6;8);2)="34";"тридесет и четири лева ";left(RIGHT(A6;8);2)="35";"тридесет и пет лева ";left(RIGHT(A6;8);2)="36";"тридесет и шест лева ";left(RIGHT(A6;8);2)="37";"тридесет и седем лева ";left(RIGHT(A6;8);2)="38";"тридесет и осем лева ";left(RIGHT(A6;8);2)="39";"тридесет и девет лева ";left(RIGHT(A6;8);2)="40";"четиридесет лева ";left(RIGHT(A6;8);2)="41";"четиридесет и един лева ";left(RIGHT(A6;8);2)="42";"четиридесет и два лева ";left(RIGHT(A6;8);2)="43";"четиридесет и три лева ";left(RIGHT(A6;8);2)="44";"четиридесет и четири лева ";left(RIGHT(A6;8);2)="45";"четиридесет и пет лева ";left(RIGHT(A6;8);2)="46";"четиридесет и шест лева ";left(RIGHT(A6;8);2)="47";"четиридесет и седем лева ";left(RIGHT(A6;8);2)="48";"четиридесет и осем лева ";left(RIGHT(A6;8);2)="49";"четиридесет и девет лева ";left(RIGHT(A6;8);2)="50";"петдесет лева ";left(RIGHT(A6;8);2)="51";"петдесет и един лева ";left(RIGHT(A6;8);2)="52";"петдесет и два лева ";left(RIGHT(A6;8);2)="53";"петдесет и три лева ";left(RIGHT(A6;8);2)="54";"петдесет и четири лева ";left(RIGHT(A6;8);2)="55";"петдесет и пет лева ";left(RIGHT(A6;8);2)="56";"петдесет и шест лева ";left(RIGHT(A6;8);2)="57";"петдесет и седем лева ";left(RIGHT(A6;8);2)="58";"петдесет и осем лева ";left(RIGHT(A6;8);2)="59";"петдесет и девет лева ";left(RIGHT(A6;8);2)="60";"шестдесет лева ";left(RIGHT(A6;8);2)="61";"шестдесет и един лева ";left(RIGHT(A6;8);2)="62";"шестдесет и два лева ";left(RIGHT(A6;8);2)="63";"шестдесет и три лева ";left(RIGHT(A6;8);2)="64";"шестдесет и четири лева ";left(RIGHT(A6;8);2)="65";"шестдесет и пет лева ";left(RIGHT(A6;8);2)="66";"шестдесет и шест лева ";left(RIGHT(A6;8);2)="67";"шестдесет и седем лева ";left(RIGHT(A6;8);2)="68";"шестдесет и осем лева ";left(RIGHT(A6;8);2)="69";"шестдесет и девет лева ";left(RIGHT(A6;8);2)="70";"седемдесет лева ";left(RIGHT(A6;8);2)="71";"седемдесет и един лева ";left(RIGHT(A6;8);2)="72";"седемдесет и два лева ";left(RIGHT(A6;8);2)="73";"седемдесет и три лева ";left(RIGHT(A6;8);2)="74";"седемдесет и четири лева ";left(RIGHT(A6;8);2)="75";"седемдесет и пет лева ";left(RIGHT(A6;8);2)="76";"седемдесет и шест лева ";left(RIGHT(A6;8);2)="77";"седемдесет и седем лева ";left(RIGHT(A6;8);2)="78";"седемдесет и осем лева ";left(RIGHT(A6;8);2)="79";"седемдесет и девет лева ";left(RIGHT(A6;8);2)="80";"осемдесет лева ";left(RIGHT(A6;8);2)="81";"осемдесет и един лева ";left(RIGHT(A6;8);2)="82";"осемдесет и два лева ";left(RIGHT(A6;8);2)="83";"осемдесет и три лева ";left(RIGHT(A6;8);2)="84";"осемдесет и четири лева ";left(RIGHT(A6;8);2)="85";"осемдесет и пет лева ";left(RIGHT(A6;8);2)="86";"осемдесет и шест лева ";left(RIGHT(A6;8);2)="87";"осемдесет и седем лева ";left(RIGHT(A6;8);2)="88";"осемдесет и осем лева ";left(RIGHT(A6;8);2)="89";"осемдесет и девет лева ";left(RIGHT(A6;8);2)="90";"деветдесет лева ";left(RIGHT(A6;8);2)="91";"деветдесет и един лева ";left(RIGHT(A6;8);2)="92";"деветдесет и два лева ";left(RIGHT(A6;8);2)="93";"деветдесет и три лева ";left(RIGHT(A6;8);2)="94";"деветдесет и четири лева ";left(RIGHT(A6;8);2)="95";"деветдесет и пет лева ";left(RIGHT(A6;8);2)="96";"деветдесет и шест лева ";left(RIGHT(A6;8);2)="97";"деветдесет и седем лева ";left(RIGHT(A6;8);2)="98";"деветдесет и осем лева ";left(RIGHT(A6;8);2)="99";"деветдесет и девет лева"))

Здравейте, пробвах тази функция в макроса,но цифрите,изписани на кирилица излизат като въпросителни:???? Как мога да го променя,че да ми излизат цифрите на бълг език?


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация