Excel число прописью дробное число

  • Сумма прописью
  • Разное

Не мой макрос, — нашел в интернете
Вроде работает как надо
Используется на листе Excel как формула =ДробноеЧислоПрописью(A1)

Function ДробноеЧислоПрописью(chislo)
    ' взято здесь: forum .vingrad .ru/act-ST/f-131/t-106328.html#
    On Error Resume Next
    chislo2 = Int(chislo)
    chislo3 = Round((chislo - chislo2), 3)    '-остаток
    LengthChislo = Len(chislo2)    ' - определяем число циклов по целой части
    Start = 0
    tekst = ""
    For x = LengthChislo To 1 Step -1    ' присвоение  порядка числа
        Start = Start + 1    ' начальная  позиция числа для изъятия в циклах
        '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        Select Case x
            Case 12    ' - сотни миллиардов
                num = Mid(chislo2, Start, 1) * 100
                sclon1000 = -1    '- не склоняем
                sclon1000000 = -1    '- не склоняем
                sclonMlrd = -1    '- не склоняем
                scl2 = ""
            Case 11    ' - десятки миллиардов
                num = Mid(chislo2, Start, 2) * 1
                If num >= 1 And num <= 20 Then    ' - формируем десятки миллиардов за один цикл
                    sclon1000 = -1    '- не склоняем
                    sclon1000000 = -1   '- не склоняем
                    sclonMlrd = Mid(chislo2, Start, 2) * 1
                    If Right(sclonMlrd, 1) * 1 = 0 Then sclonMlrd = 0    ' ситуация, когда склоняемое  кратно 10
                    Start = Start + 1
                    x = x - 1
                Else    ' - формируем десятки миллиардов за 2 цикла
                    num = Mid(chislo2, Start, 1) * 10
                    sclon1000 = -1    '- не склоняем
                    sclon1000000 = -1    '- не склоняем
                    sclonMlrd = -1    '- не склоняем
                    scl2 = ""
                End If
            Case 10    ' - формируем хвост десятка миллиардов
                num = Mid(chislo2, Start, 1) * 1
                sclon1000 = -1    '- не склоняем
                sclon1000000 = -1    '- не склоняем
                sclonMlrd = Mid(chislo2, Start, 1) * 1
                '-------------------------------------------------------
            Case 9    ' - сотни миллионов
                num = Mid(chislo2, Start, 1) * 100
                sclon1000 = -1    '- не склоняем
                sclon1000000 = -1    '- не склоняем
                sclonMlrd = -1    '- не склоняем
                scl2 = ""
            Case 8    ' - десятки миллионов
                num = Mid(chislo2, Start, 2) * 1
                If num >= 1 And num <= 20 Then    ' - формируем десятки миллионов за один цикл
                    sclon1000 = -1    '- не склоняем
                    sclon1000000 = Mid(chislo2, Start, 2) * 1
                    sclonMlrd = -1    '- не склоняем
                    If Right(sclon1000000, 1) * 1 = 0 Then sclon1000000 = 0    ' ситуация, когда склоняемое  20
                    Start = Start + 1
                    x = x - 1
                Else    ' - формируем десятки миллионов за 2 цикла
                    num = Mid(chislo2, Start, 1) * 10
                    sclon1000 = -1    '- не склоняем
                    sclon1000000 = -1    '- не склоняем
                    sclonMlrd = -1    '- не склоняем
                    scl2 = ""
                End If
            Case 7    ' - формируем хвост десятка миллионов
                num = Mid(chislo2, Start, 1) * 1
                sclon1000 = -1    '- не склоняем
                sclon1000000 = Mid(chislo2, Start, 1) * 1
                sclonMlrd = -1    '- не склоняем
                '-------------------------------------------------------
            Case 6    ' -  сотни тысяч
                num = Mid(chislo2, Start, 1) * 100
                sclon1000 = -1    '- не склоняем
                sclon1000000 = -1    '- не склоняем
                sclonMlrd = -1    '- не склоняем
                scl2 = ""
                If num <> 0 And Mid(chislo2, Start + 1, 1) = "0" _
                   And Mid(chislo2, Start + 2, 1) = "0" _
                   Then    'если ровные сотни,
                    sclon1000 = 0    'то сразу добавляем sclon сотен
                    x = x - 2    ' и перескакиваем через циклы десятков тысяч
                    Start = Start + 2    ' за 2 цикла
                End If
            Case 5    ' - десятки тысяч
                num = Mid(chislo2, Start, 2) * 1
                If (num >= 1 And num <= 20) Or (num <> 0 And Right(num, 1) * 1 = 0) Then    ' - формируем десятки тысяч за один цикл
                    sclon1000000 = -1    '- не склоняем
                    sclonMlrd = -1    '- не склоняем
                    sclon1000 = Mid(chislo2, Start, 2) * 1
                    If Right(sclon1000, 1) * 1 = 0 Then sclon1000 = 0    ' ситуация, когда склоняемое  кратно десяти
                    Start = Start + 1
                    x = x - 1
                Else    ' - формируем десятки тысяч за 2 цикла
                    num = Mid(chislo2, Start, 1) * 10
                    sclon1000 = -1    '- не склоняем
                    sclon1000000 = -1    '- не склоняем
                    sclonMlrd = -1    '- не склоняем
                    scl2 = ""
                End If
            Case 4    ' - формируем хвост десятка тысяч
                If Mid(chislo2, Start, 1) * 1 = 0 Then  'если десятков тысяч нет то не используем sclon1000
                    num = Mid(chislo2, Start, 1) * 1
                    sclon1000 = -1    '- не склоняем
                    sclon1000000 = -1    '- не склоняем
                    sclonMlrd = -1    '- не склоняем
                    scl2 = ""
                Else    ' -используем sclon
                    num = Mid(chislo2, Start, 1) * 1
                    sclon1000000 = -1    '- не склоняем
                    sclonMlrd = -1    '- не склоняем
                    sclon1000 = Mid(chislo2, Start, 1) * 1
                End If
                '-------------------------------------------------------
            Case 3    ' - сотни
                num = Mid(chislo2, Start, 1) * 100
                sclon1000 = -1    '- не склоняем
                sclon1000000 = -1    '- не склоняем
                sclonMlrd = -1    '- не склоняем
                scl2 = ""
            Case 2    ' - десятки
                num = Mid(chislo2, Start, 2) * 1
                If (num >= 1 And num <= 20) Or (num <> 0 And Right(num, 1) * 1 = 0) Then    ' - формируем десятки  за один цикл
                    sclon1000 = -1    '- не склоняем
                    sclon1000000 = -1    '- не склоняем
                    sclonMlrd = -1    '- не склоняем
                    Start = Start + 1
                    x = x - 1
                Else    ' - формируем десятки  за 2 цикла
                    num = Mid(chislo2, Start, 1) * 10
                    sclon1000 = -1    '- не склоняем
                    sclon1000000 = -1    '- не склоняем
                    sclonMlrd = -1    '- не склоняем
                End If
            Case 1    ' - формируем хвост десятка
                num = Mid(chislo2, Start, 1) * 1
                sclon1000 = -1    '- не склоняем
                sclon1000000 = -1    '- не склоняем
                sclonMlrd = -1    '- не склоняем
        End Select
        '-------------------------------------------------------
        Call Chisla(num, txt, x, txt2, chislo3)
        '-------------------------------------------------------
        If sclon1000 <> -1 Then
            Select Case sclon1000
                Case 1
                    scl = "тысяча"
                Case 2 To 4
                    scl = "тысячи"
                Case 5 To 19
                    scl = "тысяч"
                Case 0
                    scl = "тысяч"
            End Select
            scl2 = scl & " "
        End If
        If sclon1000000 <> -1 Then
            Select Case sclon1000000
                Case 1
                    scl = "миллион"
                Case 2 To 4
                    scl = "миллиона"
                Case 5 To 19
                    scl = "миллионов"
                Case 0
                    scl = "миллионов"
            End Select
            scl2 = scl & " "
        End If
        If sclonMlrd <> -1 Then
            Select Case sclonMlrd
                Case 1
                    scl = "миллиард"
                Case 2 To 4
                    scl = "миллиарда"
                Case 5 To 19
                    scl = "миллиардов"
                Case 0
                    scl = "миллиардов"
            End Select
            scl2 = scl & " "
        End If
        tekst = tekst & txt2 & scl2
    Next x
    ' <<<СЧИТАЕМ ДОЛИ, ЕСЛИ они конечно ЕСТЬ <<<
    If (chislo - chislo2) > 0 Then
        If Right(chislo2, 1) = "1" Then
            tekst = tekst & " целая "
        Else: tekst = tekst & " целых "
        End If
 
        LengthChislo = Len(chislo3) - 2
        ' - здесь недомнажаем на 1, т.к. необходим именно тестовый формат для корректной работы с такими числами, как напр. ",003"
        chislo3 = Right(chislo3, LengthChislo)
        Start = 0
        For x = LengthChislo To 1 Step -1    ' присвоение  порядка числа
            Start = Start + 1    ' начальная  позиция числа для изъятия в циклах
            '<<<<<<<<
            Select Case x
                Case 3    ' - тысячные
                    num = Mid(chislo3, Start, 1) * 100
                    sclon1000 = -1
                    sclon100 = -1    '- не склоняем
                    sclon10 = -1
                    scl2 = ""
                Case 2    ' - сотые
                    num = Mid(chislo3, Start, 2) * 1
                    If (num >= 1 And num <= 20) Or (num <> 0 And Right(num, 1) * 1 = 0) Then    ' - формируем десятки  за один цикл
                        If LengthChislo = 3 Then
                            sclon1000 = num
                        Else: sclon1000 = -1
                        End If
                        If LengthChislo = 2 Then
                            sclon100 = num
                        Else: sclon100 = -1    '- не склоняем
                        End If
                        If LengthChislo = 1 Then
                            sclon10 = num
                        Else: sclon10 = -1
                        End If
                        Start = Start + 1
                        x = x - 1
                    Else    ' - формируем десятки  за 2 цикла
                        num = Mid(chislo3, Start, 1) * 10
                        sclon1000 = -1    '- не склоняем
                        sclon100 = -1    '- не склоняем
                        sclon10 = -1    '- не склоняем
                    End If
                Case 1    ' - формируем хвост десятка
                    num = Mid(chislo3, Start, 1) * 1
                    If LengthChislo = 3 Then
                        sclon1000 = num
                    Else: sclon1000 = -1
                    End If
                    If LengthChislo = 2 Then
                        sclon100 = num
                    Else: sclon100 = -1    '- не склоняем
                    End If
                    If LengthChislo = 1 Then
                        sclon10 = num
                    Else: sclon10 = -1
                    End If
            End Select
            '-------------------------------------------------------
            Call Chisla(num, txt, x, txt2, chislo3)
            '-------------------------------------------------------
            If sclon1000 <> -1 Then
                Select Case sclon1000
                    Case 1
                        scl = "тысячная"
                    Case Else
                        scl = "тысячных"
                End Select
                scl2 = scl & " "
            End If
            If sclon100 <> -1 Then
                Select Case sclon100
                    Case 1
                        scl = "сотая"
                    Case Else
                        scl = "сотых"
                End Select
                scl2 = scl & " "
            End If
            If sclon10 <> -1 Then
                Select Case sclon10
                    Case 1
                        scl = "десятая"
                    Case Else
                        scl = "десятых"
                End Select
                scl2 = scl & " "
            End If
            tekst = tekst & txt2 & scl2
        Next x
    End If
    ДробноеЧислоПрописью = tekst
End Function
Sub Chisla(num, txt, x, txt2, chislo3)
    Select Case num
        Case 0
            txt = ""
        Case 1
            txt = "один"
            If x = 4 Or (chislo3 <> 0 And x = 1) Then    ' (если есть дробная часть)
                txt = "одна"
            End If
        Case 2
            txt = "два"
            If x = 4 Or (chislo3 <> 0 And x = 1) Then    ' (если есть дробная часть)
                txt = "две"
            End If
        Case 3
            txt = "три"
        Case 4
            txt = "четыре"
        Case 5
            txt = "пять"
        Case 6
            txt = "шесть"
        Case 7
            txt = "семь"
        Case 8
            txt = "восемь"
        Case 9
            txt = "девять"
        Case 10
            txt = "десять"
        Case 11
            txt = "одиннадцать"
        Case 12
            txt = "двенадцать"
        Case 13
            txt = "тринадцать"
        Case 14
            txt = "четырнадцать"
        Case 15
            txt = "пятнадцать"
        Case 16
            txt = "шестнадцать"
        Case 17
            txt = "семнадцать"
        Case 18
            txt = "восемнадцать"
        Case 19
            txt = "девятнадцать"
        Case 20
            txt = "двадцать"
        Case 30
            txt = "тридцать"
        Case 40
            txt = "сорок"
        Case 50
            txt = "пятьдесят"
        Case 60
            txt = "шестьдесят"
        Case 70
            txt = "семьдесят"
        Case 80
            txt = "восемьдесят"
        Case 90
            txt = "девяносто"
        Case 100
            txt = "сто"
        Case 200
            txt = "двести"
        Case 300
            txt = "триста"
        Case 400
            txt = "четыреста"
        Case 500
            txt = "пятьсот"
        Case 600
            txt = "шестьсот "
        Case 700
            txt = "семьсот"
        Case 800
            txt = "восемсот"
        Case 900
            txt = "девятьсот"
    End Select
    If txt <> "" Then txt2 = txt & " " Else txt2 = txt
End Sub
  • 16267 просмотров

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.

  • Число прописью в Excel – формула
  • Сумма прописью с копейками в Excel
    • В русских рублях, все буквы строчные
    • В русских рублях, первая буква заглавная
    • В русских рублях с копейками прописью
    • В белорусских рублях
  • Сумма прописью — формула для Openoffice Calc
  • Сумма прописью в Google Spreadsheets
  • UDF-функции надстройки !SEMTools
  • Процедуры !SEMTools
  • Перевод чисел прописью в другие падежи

Число или сумма прописью — в ручном исполнении — непростая задача. А если его нужно печатать десятки раз на дню и с множеством документов, точно нужна автоматизация.

Идеальным решением была бы формула в Excel.

Есть ли такая формула? Да! А главное, что вам делать ничего не придется (только скопировать), потому что я уже сделал её за вас! Но обо всем по порядку.

Сопоставление чисел, сумм и их эквивалентов прописью

Если попытаться описать алгоритм, который будет учитывать все нюансы написания числа или суммы прописью, окажется, что все на так просто, как кажется:

  • в зависимости от того, на какую цифру заканчивается число, его падеж и число могут быть:
    • единственное, именительный (двадцать один рубль)
    • единственное, родительный (двадцать два/три/четыре рубля)
    • множественное, родительный (двадцать, двадцать пять/шесть/семь/восемь/девять рублей)
  • При этом даже из этого правила уже есть исключения – числа от 11 до 14 – множественного числа, хотя числа от 1 до 4 – единственного.
  • Ноль пишется цифрами, но не пишется прописью. Кроме случая с копейками – там он пишется в прописи, но цифрами.
  • При этом от нуля может зависеть то, как будет выглядеть число или сумма прописью.
  • Копейки женского рода, а рубли – мужского. Одна копейка, но один рубль.

И это далеко не все нюансы. Есть ли варианты, которые их все учитывают?

Большинство руководств в интернете предлагают надстройки. Также предлагаются формулы на основе именованных диапазонов.

Но зачастую необходимо обмениваться файлами между разными компьютерами, и в таких случаях формулы попросту “полетят”, и данные будут повреждены, т.к. вместе с файлом нужно будет портировать и код надстроек, что никто делать обычно не будет.

В случае с именованными диапазонами – нужно будет создавать их заново (а их около десятка!).

Число прописью в Excel – примеры сопоставления

Возможна ли формула без применения VBA, макросов и надстроек?

Черт возьми, да! Я долго размышлял, прежде чем ее сделать, но мне это удалось.

Вот эта формула! Вставьте ее в любую ячейку, кроме A1, т.к. она преобразует значение этой самой ячейки:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ЦЕЛОЕ(A1))>6;РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);1;ДЛСТР(ЦЕЛОЕ(A1))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-2;3)+0);ЕСЛИ(ДЛСТР(ЦЕЛОЕ(A1))>3;РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);1;ДЛСТР(ЦЕЛОЕ(A1))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ЦЕЛОЕ(A1);ДЛСТР(ЦЕЛОЕ(A1))-2;3)+0);РИМСКОЕ(ЦЕЛОЕ(A1))));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")

Формула работает с любыми целыми числами от 1 до миллиарда, не включая его. Если дано число с десятичными знаками после запятой, формула берет только целую часть, иными словами, округляет всегда вниз.

Если вы хотите округлять такие числа обычным округлением по математическим правилам, замените процедурой найти и заменить во всей формуле:

на

Сумма прописью с копейками в Excel

Для записи суммы прописью с копейками по всем канонам, нужно соблюсти ряд условий:

  • Рубли пишутся словами, первая буква обычно заглавная;
  • Словоформа слова “рубль” должна соответствовать количеству;
  • Копейки пишутся цифрами, но падеж и число слова “копейка” тоже должны соответствовать числу.
Пример написания суммы прописью с копейками в Excel
Сумма прописью с копейками в Excel – пример таблицы соответствия суммы и текста

Трудно в это поверить, но и такая формула тоже существует. Аналогично, без применения VBA, макросов и надстроек.

Формула огромна, но замечательно справляется с любыми суммами до миллиарда. Работать будет в любой версии Excel от 2007 и старше – в 2003 не была доступна такая глубина вложений функций.

Вот и она, просто скопируйте ее, и она преобразует числовое значение ячейки A1 в сумму прописью с копейками.

В русских рублях, все буквы строчные

Формула выводит сумму в рублях, копейки оставляет цифрами. Если регистр первой буквы не важен, можно использовать её.

Тройной клик по формуле выделит её целиком

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек")

В русских рублях, первая буква заглавная

В Excel нет простой функции, которая бы позволила сделать только первую букву ячейки заглавной, поэтому в первой конфигурации формула была в 2 раза длиннее из-за использования ЛЕВСИМВ и ДЛСТР.

Но в комментариях было предложено отличное решение – функцией ПОДСТАВИТЬ заменить пробелы на букву, которой в числах нет (например, Ф или Z), что сделает все как бы одним словом, на результате использовать функцию ПРОПНАЧ, и после заменить букву обратно на пробелы. Сейчас используется этот вариант формулы, он короче.

Тройной клик по формуле выделит её целиком.

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРОПНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек");" ";"Z"));"z";" ");"Z";" ")

В русских рублях с копейками прописью

Если нужно, чтобы копейки тоже были написаны прописью, то формула будет чуть длиннее, такой:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРОПНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один рублей";"один рубль");"два рублей";"два рубля");"три рублей";"три рубля");"четыре рублей";"четыре рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов")&" "&ПОДСТАВИТЬ(" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2))="1";ИНДЕКС({"десять";"одиннадцать";"двенадцать";"тринадцать";"четырнадцать";"пятнадцать";"шестнадцать";"семнадцать";"восемнадцать";"девятнадцать"};ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)-9);ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2));"2";"двадцать");"3";"тридцать");"4";"сорок");"5";"пятьдесят");"6";"шестьдесят");"7";"семьдесят");"8";"восемьдесят");"9";"девяносто");"0";"")&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2));"1";"одна");"2";"две");"3";"три");"4";"четыре");"5";"пять");"6";"шесть");"7";"семь");"8";"восемь");"9";"девять");"0";""))&" копеек";"одна копеек";"одна копейка");"две копеек";"две копейки");"три копеек";"три копейки");"четыре копеек";"четыре копейки");"  копеек";"");" ";"Z"));"z";" ");"Z";" "))

В белорусских рублях

Тройной клик по формуле выделит ее целиком.

=ПРОПИСН(ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" белорусских рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один белорусских рублей";"один белорусский рубль");"два белорусских рублей";"два белорусских рубля");"три белорусских рублей";"три белорусских рубля");"четыре белорусских рублей";"четыре белорусских рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов");1))&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>6;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-6)+0)&" миллионов "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-5;3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";ЕСЛИ(ДЛСТР(ОКРУГЛВНИЗ(A1;0))>3;РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);1;ДЛСТР(ОКРУГЛВНИЗ(A1;0))-3)+0)&" тысяч "&РИМСКОЕ(ПСТР(ОКРУГЛВНИЗ(A1;0);ДЛСТР(ОКРУГЛВНИЗ(A1;0))-2;3)+0)&" белорусских рублей";РИМСКОЕ(ОКРУГЛВНИЗ(A1;0))&" белорусских рублей"));"DCCC";" восемьсот");"DCC";" семьсот");"DC";" шестьсот");"CD";" четыреста");"XC";" девяносто");"CCC";" триста");"CC";" двести");"D";" пятьсот");"CM";" девятьсот");"C";" сто");"XL";" сорок");"LXXX";" восемьдесят");"LXX";" семьдесят");"LX";" шестьдесят");"L";" пятьдесят");"XXX";" тридцать");"XX";" двадцать");"XIX";" девятнадцать");"XVIII";" восемнадцать");"XVII";" семнадцать");"XVI";" шестнадцать");"XV";" пятнадцать");"XIV";" четырнадцать");"XIII";" тринадцать");"XII";" двенадцать");"XI";" одиннадцать");"IX";" девять");"X";" десять");"VIII";" восемь");"VII";" семь");"VI";" шесть");"IV";" четыре");"V";" пять");"III";" три");"II";" два");"I";" один");"один тысяч";"одна тысяча");"два тысяч";"две тысячи");"три тысяч";"три тысячи");"четыре тысяч";"четыре тысячи");"один миллионов";"один миллион");"два миллионов";"два миллиона");"три миллионов";"три миллиона");"четыре миллионов";"четыре миллиона");"один белорусских рублей";"один белорусский рубль");"два белорусских рублей";"два белорусских рубля");"три белорусских рублей";"три белорусских рубля");"четыре белорусских рублей";"четыре белорусских рубля"));"миллион тысяч";"миллион");"миллиона тысяч";"миллиона");"миллионов тысяч";"миллионов");2;200)&" "&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&" копеек";"1 копеек";"1 копейка");"2 копеек";"2 копейки");"3 копеек";"3 копейки");"4 копеек";"4 копейки");"11 копейка";"11 копеек");"12 копейки";"12 копеек");"13 копейки";"13 копеек");"14 копейки";"14 копеек")

Если вам не нужно делать первую букву заглавной, просто “оберните” всю эту гигантскую формулу функцией СТРОЧН.

Сумма прописью — формула для Openoffice Calc

У формулы выше были проблемы с импортом в Openoffice, т.к. тот в отличие от Excel (2007 и старше), поддерживает максимум 42 уровня вложенности в формулах, а не 64.

Поэтому пришлось полностью переделать логику формулы и сделать ее сложной формулой массивов.

Так она выглядит в Excel:

=ПРОПИСН(ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");1;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");2;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1);ИНДЕКС({"dь один m":"dь два mа":"dь три mа":"dь cе mа":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");3;1));ИНДЕКС({"одиннаe mов":"двенаe mов":"тринаe mов":"cнаe mов":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");3;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");4;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");5;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1);ИНДЕКС({"dь одна тысяча":"dь две тысячи":"dь три тысячи":"dь cе тысячи":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");6;1));ИНДЕКС({"одиннаe тысяч":"двенаe тысяч":"тринаe тысяч":"cнаe тысяч":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");6;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");8;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1);ИНДЕКС({"dь один rь":"dь два rя":"dь три rя":"dь cе rя":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПРАВСИМВ(A1));ИНДЕКС({"одиннаe rей":"двенаe rей":"тринаe rей":"cнаe rей":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПРАВСИМВ(A1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр")))&ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");1;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");2;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1);ИНДЕКС({"dь один m":"dь два mа":"dь три mа":"dь cе mа":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");3;1));ИНДЕКС({"одиннаe mов":"двенаe mов":"тринаe mов":"cнаe mов":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");3;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");1;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");2;1)+1)&ИНДЕКС({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};ПСТР(ТЕКСТ(A1;"000000000");3;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");4;3)+0>0;ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");5;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1);ИНДЕКС({"dь одна тысяча":"dь две тысячи":"dь три тысячи":"dь cе тысячи":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПСТР(ТЕКСТ(A1;"000000000");6;1));ИНДЕКС({"одиннаe тысяч":"двенаe тысяч":"тринаe тысяч":"cнаe тысяч":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПСТР(ТЕКСТ(A1;"000000000");6;1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");4;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");5;1)+1)&ИНДЕКС({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};ПСТР(ТЕКСТ(A1;"000000000");6;1)+1));"")&" "&ЕСЛИ(ПСТР(ТЕКСТ(A1;"000000000");8;1)="1";ПОДСТАВИТЬ(ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1);ИНДЕКС({"dь один rь":"dь два rя":"dь три rя":"dь cе rя":"dь пять":"dь шесть":"dь семь":"dь vь":"dь девять"};ПРАВСИМВ(A1));ИНДЕКС({"одиннаe rей":"двенаe rей":"тринаe rей":"cнаe rей":"пятнаe":"шестнаe":"семнаe":"vнаe":"девятнаe"};ПРАВСИМВ(A1)));ИНДЕКС({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};ПСТР(ТЕКСТ(A1;"000000000");7;1)+1)&ИНДЕКС({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};ПСТР(ТЕКСТ(A1;"000000000");8;1)+1)&ИНДЕКС({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};ПСТР(ТЕКСТ(A1;"000000000");9;1)+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр");2;200)&" "&ЕСЛИ(ЛЕВСИМВ(ПРАВСИМВ(ОКРУГЛ(A1*100;0);2))="1";ПРАВСИМВ(ОКРУГЛ(A1*100;0);2) &" копеек";ПРАВСИМВ(ОКРУГЛ(A1*100;0);2)&ИНДЕКС({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};ПРАВСИМВ(ОКРУГЛ(A1*100;0))+1))

А так – после импорта в Openoffice Calc:

=UPPER(LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(MID(TEXT(A1;"000000000");1;3)+0>0;IF(MID(TEXT(A1;"000000000");2;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1);INDEX({"dь один m"|"dь два mа"|"dь три mа"|"dь cе mа"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");3;1));INDEX({"одиннаe mов"|"двенаe mов"|"тринаe mов"|"cнаe mов"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");3;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");4;3)+0>0;IF(MID(TEXT(A1;"000000000");5;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1);INDEX({"dь одна тысяча"|"dь две тысячи"|"dь три тысячи"|"dь cе тысячи"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");6;1));INDEX({"одиннаe тысяч"|"двенаe тысяч"|"тринаe тысяч"|"cнаe тысяч"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");6;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");8;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1);INDEX({"dь один rь"|"dь два rя"|"dь три rя"|"dь cе rя"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};RIGHT(A1));INDEX({"одиннаe rей"|"двенаe rей"|"тринаe rей"|"cнаe rей"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};RIGHT(A1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1))&" "&IF(LEFT(RIGHT(ROUND(A1*100;0);2))="1";RIGHT(ROUND(A1*100;0);2) &" копеек";RIGHT(ROUND(A1*100;0);2)&INDEX({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};RIGHT(ROUND(A1*100;0))+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр")))&MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(MID(TEXT(A1;"000000000");1;3)+0>0;IF(MID(TEXT(A1;"000000000");2;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1);INDEX({"dь один m"|"dь два mа"|"dь три mа"|"dь cе mа"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");3;1));INDEX({"одиннаe mов"|"двенаe mов"|"тринаe mов"|"cнаe mов"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");3;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");1;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");2;1)+1)&INDEX({"mов";"один m";"два mа";"три mа";"cе mа";"пять mов";"шесть mов";"семь mов";"vь mов";"девять mов"};MID(TEXT(A1;"000000000");3;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");4;3)+0>0;IF(MID(TEXT(A1;"000000000");5;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1);INDEX({"dь одна тысяча"|"dь две тысячи"|"dь три тысячи"|"dь cе тысячи"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};MID(TEXT(A1;"000000000");6;1));INDEX({"одиннаe тысяч"|"двенаe тысяч"|"тринаe тысяч"|"cнаe тысяч"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};MID(TEXT(A1;"000000000");6;1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");4;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");5;1)+1)&INDEX({"тысяч";"одна тысяча";"две тысячи";"три тысячи";"cе тысячи";"пять тысяч";"шесть тысяч";"семь тысяч";"vь тысяч";"девять тысяч"};MID(TEXT(A1;"000000000");6;1)+1));"")&" "&IF(MID(TEXT(A1;"000000000");8;1)="1";SUBSTITUTE(INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1);INDEX({"dь один rь"|"dь два rя"|"dь три rя"|"dь cе rя"|"dь пять"|"dь шесть"|"dь семь"|"dь vь"|"dь девять"};RIGHT(A1));INDEX({"одиннаe rей"|"двенаe rей"|"тринаe rей"|"cнаe rей"|"пятнаe"|"шестнаe"|"семнаe"|"vнаe"|"девятнаe"};RIGHT(A1)));INDEX({"";"сто ";"двести ";"триста ";"cеста ";"пятьсот ";"шестьсот ";"семьсот ";"vьсот ";"девятьсот "};MID(TEXT(A1;"000000000");7;1)+1)&INDEX({"";"dь ";"дваe ";"триe ";"сорок ";"пятьd ";"шестьd ";"семьd ";"vьd ";"девяносто "};MID(TEXT(A1;"000000000");8;1)+1)&INDEX({"rей";"один rь";"два rя";"три rя";"cе rя";"пять rей";"шесть rей";"семь rей";"vь rей";"девять rей"};MID(TEXT(A1;"000000000");9;1)+1))&" "&IF(LEFT(RIGHT(ROUND(A1*100;0);2))="1";RIGHT(ROUND(A1*100;0);2) &" копеек";RIGHT(ROUND(A1*100;0);2)&INDEX({" копеек";" копейка";" копейки";" копейки";" копейки";" копеек";" копеек";" копеек";" копеек";" копеек"};RIGHT(ROUND(A1*100;0))+1));"m";"миллион");"d";"десят");"r";"рубл");"e";"дцать");"v";"восем");"c";"четыр");2;200)

Сумма прописью в Google Spreadsheets

Прелесть формул выше в том, что они с минимальными модификациями портируются в Google Таблицы, где их замечательно можно использовать.

Ниже пример таблицы с суммой прописью:

Посмотреть сам файл и скопировать к себе можно по ссылке:

https://docs.google.com/spreadsheets/d/1dmqEB3TehEGmWfaxRmIQ9LXjGal439_YgKxZhbK0Ods/edit?usp=sharing

UDF-функции надстройки !SEMTools

Для тех, у кого ОС Windows и Excel 2010 и выше, и кто не готов пользоваться указанными формулами, есть простое решение – установить надстройку, в которой присутствует код, скрывающий все эти вычисления “под капот”. Одна из таких – разработанная мной надстройка !SEMTools.

В ней для решения задачи преобразования числа и суммы в их прописной вариант есть 2 лаконичные функции:

Они доступны абсолютно бесплатно безо всяких ограничений в любой версии надстройки, приобретать полную версию не обязательно.

Единственное ограничение – эти формулы будут работать только на тех компьютерах, где установлена надстройка.

Процедуры !SEMTools

Еще более простое, но не всегда удобное решение – процедуры (макросы). В надстройке для Excel !SEMTools доступны макросы преобразования чисел в сумму и число прописью в 1 клик.

Вызов процедур находится в меню “Изменить символы” в группе “ИЗМЕНИТЬ” на панели надстройки. Макрос преобразует числа на месте, превращая их в текст. Можно выделить как одну, так и несколько ячеек:

демонстрация работы процедур число прописью и сумма прописью в !SEMTools
Число и сумма прописью – процедуры в !SEMTools

Функционал доступен в полной версии надстройки.

Перевод чисел прописью в другие падежи

Зачастую после получения числа или суммы прописью нужно указать его в другом падеже.

Например, “сумма в размере пятисот тысяч трехсот трех рублей”. !SEMTools справляется и с этой задачей – смотрите раздел склонение по падежам в Excel.

Надстройка !SEMTools для Excel поможет буквально за пару кликов написать числа или суммы прописью.
Скачайте и убедитесь в этом сами!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Option Explicit
Public Function СуммаПрописью(chislo As Double, opc As Long) As String
    '
    ' opc=1 Просто сумма прописью
    ' opc=2 Сумма прописью, дробная часть числом
    ' opc=3 Сумма прописью и дробная часть прописью
 
    Dim drobLen As Variant, x2 As Double, utr As String, utr1, ITOG0 As String, itog As String
    Dim tekst As String, sklon As String, drobprop As String
    If chislo > 999999999999.99 Then
        СуммаПрописью = "Аргумент больше 999 999 999 999.99!"
    ElseIf chislo < 0 Then
        СуммаПрописью = "Аргумент отрицательный!"
    End If
    Select Case opc
        Case 1
            chislo = Int(chislo)
            ITOG0 = СуммаOPC(chislo, opc)
        Case 2
            x2 = CDbl(Mid(chislo, InStr(1, chislo, ",") + 1))
            utr = Str(chislo)
            utr1 = Split(utr, ".")
            drobLen = Len(utr1(1))
            itog = СуммаOPC(Int(chislo), opc)
            If Right(Int(chislo), 1) = "1" Then
                tekst = tekst & " целая "
            Else
                tekst = tekst & " целых "
            End If
            sklon = drobnaya(x2, drobLen)
            ITOG0 = itog & tekst & x2 & sklon
        Case 3
            x2 = CDbl(Mid(chislo, InStr(1, chislo, ",") + 1))
            utr = Str(chislo)
            utr1 = Split(utr, ".")
            drobLen = Len(utr1(1))    '- 2
            itog = СуммаOPC(Int(chislo), opc)
            drobprop = СуммаOPC(Int(x2), opc)
            If Right(Int(chislo), 1) = "1" Then
                tekst = tekst & " целая "
            Else
                tekst = tekst & " целых "
            End If
            sklon = drobnaya(x2, drobLen)
            ITOG0 = itog & tekst & drobprop & sklon
    End Select
    СуммаПрописью = ITOG0
End Function
 
Public Function СуммаOPC(x As Double, opc As Long) As String
    Dim y(1 To 4) As Integer, i1 As Byte
    Dim Text(1 To 4) As String, i2 As Byte, y1 As Byte, y2 As Byte, _
            y3 As Byte, Text0 As String, Text1 As String, Text2 As String, Text3 As String, _
            Text4 As String
    For i1 = 1 To 4
        x = Fix(x) / 1000
        y(i1) = (x - Fix(x)) * 1000
    Next
    For i2 = 1 To 4
        y1 = y(i2) Mod 10
        y2 = (y(i2) - y1) / 10 Mod 10
        y3 = y(i2)  100
        Text1 = Choose(y3 + 1, "", "сто ", "двести ", "триста ", "четыреста ", _
                "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
        Text2 = Choose(y2 + 1, "", "", "двадцать ", "тридцать ", "сорок ", _
                "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ")
        If y2 = 1 Then
            Text3 = Choose(y1 + 1, "десять ", "одиннадцать ", "двенадцать ", _
                    "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", _
                    "семнадцать ", "восемнадцать ", "девятнадцать ")
        ElseIf y2 <> 1 And i2 = 2 Then
            Text3 = Choose(y1 + 1, "", "одна ", "две ", "три ", "четыре ", "пять ", _
                    "шесть ", "семь ", "восемь ", "девять ")
        Else
            If opc = 2 Or opc = 3 Then
                Text3 = Choose(y1 + 1, "", "одна ", "две ", "три ", "четыре ", "пять ", _
                        "шесть ", "семь ", "восемь ", "девять ")
            Else
                Text3 = Choose(y1 + 1, "", "один ", "два ", "три ", "четыре ", "пять ", _
                        "шесть ", "семь ", "восемь ", "девять ")
            End If
        End If
        If y2 <> 1 And y1 = 1 Then
            Text4 = Choose(i2, "", "тысяча ", "миллион ", "миллиард ")
        ElseIf y2 <> 1 And y1 > 1 And y1 < 5 Then
            Text4 = Choose(i2, "", "тысячи ", "миллиона ", "миллиарда ")
        ElseIf y1 = 0 And y2 = 0 And y3 = 0 Then
            Text4 = Choose(i2, "", "", "", "")
        Else
            Text4 = Choose(i2, "", "тысяч ", "миллионов ", "миллиардов ")
        End If
        Text(i2) = Text1 & Text2 & Text3 & Text4
    Next
    If y(1) + y(2) + y(3) + y(4) = 0 Then
        Text0 = "ноль "
    Else
        Text0 = Text(4) & Text(3) & Text(2) & Text(1)
    End If
    СуммаOPC = Text0
End Function
 
Public Function drobnaya(x2 As Double, drobLen As Variant) As String
    Dim x As Variant, scl As String
    x = Right(x2, 1)
    If x = 1 Then
        scl = Choose(drobLen, " десятая", " сотая", " тысячная", " десятитысячная", _
                " стотысячная", " миллионная", " десятимиллионная", " стомиллионная", _
                " миллиардная", " десятимиллиардная")
    Else
        scl = Choose(drobLen, " десятых", " сотых", " тысячных", " десятитысячных", _
                " стотысячных", " миллионных", " десятимиллионных", " стомиллионных", _
                " миллиардных", " десятимиллиардных")
    End If
    drobnaya = scl
End Function

Содержание

  1. Сумма прописью в excel
  2. Функция сумма прописью на русском языке
  3. Вставка суммы прописью через пользовательскую форму
  4. Подробный синтаксис функции
  5. Функция сумма прописью на украинском языке
  6. Функция сумма прописью на английском языке
  7. ПрописьСумма
  8. Данная функция является частью надстройки MulTEx

Сумма прописью в excel

Функция сумма прописью на русском языке

После установки надстройки VBA-Excel добавится функционал для вставки суммы прописью. Он содержит удобную форму для ввода (см. рисунок справа), а также функцию СУММАПРОПИСЬЮ, которой можно пользоваться так же как и любой встроенной в Excel.

Вы сможете указать число прописью в любом падеже, а также выбрать формат вывода, который необходим в конкретном случае.

Вы можете указать сумму прописью в договоре в рублях (как с копейками так и без), в долларах США или евро (с центами или без). Помимо суммы договора можно прописывать прописью и срок в календарных или рабочих днях. Можно указывать количество товара прописью в штуках.

Функционал достаточно гибкий и позволяет настраивать отображение скобок, формат дробной части, указывать сумму с заглавной или прописной буквы и многое другое.

Вставка суммы прописью через пользовательскую форму

Наиболее простой способ вставить сумму прописью — это заполнить специальную форму.

  1. Выберите ячейку, в которую необходимо вставить число прописью.
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Русский.
  3. Появится диалоговое окно для выбора параметров функции. Заполните ее так как необходимо Вам. Настройки автоматически сохраняются, чтобы не пришлось повторять действия в следующий раз.
  4. Нажмите Вставить текстом, тогда сумма прописью будет вставлена в ячейку как текст. Нажмите Вставить формулой в случае если в ячейку должна быть вставлена формула, в этом случае сумма прописью будет автоматически изменяться при редактировании числа.

Второй способ вставить сумму прописью — это ввести формулу в ячейку: =СУММАПРОПИСЬЮ(A1), где A1 — ссылка на ячейку с формулой.

Далее рассмотрим подробнее синтаксис функции.

Подробный синтаксис функции

Для использования функции не обязательно постоянно вызывать форму с параметрами. Функцию можно использовать также как и прочие функции Excel. Функция имеет следующие переменные:

=СУММАПРОПИСЬЮ(Число; [Падеж]; [Тип_данных] ; [Дробь_прописью] ; [Дублировать_число] ; [Скобки] ; [Заглавная] )

Квадратные скобки означают что переменная не обязательная, в этом случае используется значение по умолчанию.

  • Число — ссылка на ячейку или число (не обязательно в числовом формате), которое необходимо написать прописью.
  • [Падеж] — число от 1 до 6, определяющее падеж
  1. Именительный (по умолчанию если параметр не указан)
  2. Родительный
  3. Дательный
  4. Винительный
  5. Творительный
  6. Предложный
  • [Тип_данных] — число от 0 до 8 для добавления после суммы прописью в нужном падеже тип данных
  1. Ничего (по умолчанию если параметр не указан)
  2. Рубли
  3. Доллары США
  4. Евро
  5. Календарные дни
  6. Рабочие дни
  7. Дни
  8. Штуки
  9. Целое + дробная часть
  • [Дробь_прописью] — значение 0 или 1, которое указывает на необходимость записи дробной части числа прописью
  1. Не выводить прописью дробную часть числа (по умолчанию)
  2. Указать прописью также и дробную часть числа
  • [Дублировать_число] — значение 0 или 1, которое указывает на необходимость дублирования числа перед суммой прописью
  1. Скрыть число перед суммой прописью
  2. Продублировать числовое значение суммы прописью (по умолчанию)
  • [Скобки] — значение 0 или 1, которое указывает на необходимость записывать сумму прописью в скобках
  1. Убрать скобки из суммы прописью
  2. Поместить сумму прописью в скобки (по умолчанию)
  • [Заглавная] — значение 0 или 1, которое указывает на необходимость делать первую букву суммы прописью заглавной
  1. Все буквы суммы прописью строчные
  2. Сделать первую букву заглавной (по умолчанию)

Разберем синтаксис функции на примерах:

Склонение числительных по падежам.

Добавление типа данных после указания суммы прописью. Обратите внимание, что если вторая переменная (падеж) не задана, то указывается по умолчанию в именительном падеже.

Как прописать дробную часть числа с помощью функции.

Различные форматы вывода суммы прописью.

Функция сумма прописью на украинском языке

Аналогичный функционал для вставки суммы прописью есть и для украинского языка. Также имеется похожая форма для удобной вставки и функция СУММАПРОПИСЬЮУКР.

Чтобы вызвать форму для вставки суммы прописью на украинском языке, выполните следующие действия:

  1. Выберите ячейку, в которую необходимо вставить число прописью.
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Украинский.
  3. Дальнейшие действия аналогичны

Функция сумма прописью на английском языке

Функция сумма прописью на английском языке несколько проще чем описанные выше. Тут нет падежей и формат прописи всегда один.

Чтобы вставить число прописью на английском языке нужно:

  1. Выбрать ячейку в которую необходимо вставить результат
  2. На вкладке VBA-Excel нажмите команду Сумма прописью и выберите язык Английский.
  3. Укажите число и нажмите одну из кнопок Вставить формулой или Вставить текстом.

Вместо формы ввода, Вы также можете пользоваться функцией =СУММАПРОПИСЬЮEN(ЧИСЛО). Функция имеет один аргумент: ЧИСЛО — значение или ссылка на ячейку с числом, которое необходимо преобразовать в текст прописью.

Источник

ПрописьСумма

Данная функция является частью надстройки MulTEx

  • Описание, установка, удаление и обновление
  • Полный список команд и функций MulTEx
  • Часто задаваемые вопросы по MulTEx
  • Скачать MulTEx

Подобная функция широко востребована работниками экономических и бухгалтерских областей, да и, наверное, всех, кто так или иначе связан с учетом денежных средств и составлением всевозможных бланков в Excel с использованием бланков. Данная функция выводит в пропись указанное число. Т.е. из числа 123 будет получено сто двадцать три . Возможно выводить рубли и копейки ( сто двадцать три рубля двенадцать копеек ), целые и сотые ( сто двадцать три целых двенадцать сотых ) и любые произвольные единицы измерений, а так же указать язык вывода текста и количество знаков после запятой для перевода в пропись. На данный момент в единицах по умолчанию доступно три языка: Русский, Английский и Украинский.

Вызов команды через стандартный диалог:
Мастер функцийКатегория «MulTEx»ПрописьСумма
Вызов с панели MulTEx:
Сумма/Поиск/ФункцииТекстовыеПрописьСумма
Синтаксис:
=ПрописьСумма( I9 )
=ПрописьСумма( I9 ;2;2;»RUS»)
=ПрописьСумма( I9 ;2;1;»RUS»;»целая,целых,целых,сотая,сотых,сотых»; ИСТИНА)
=ПрописьСумма( I9 ;2;1;»RUS»;»целая,целых,целых,сотая,сотых,сотых»; 1; 3)
=ПрописьСумма( I9 ;2;1;»UA»;»целая,целых,целых,сотая,сотых,сотых»; 1; 3)
=ПрописьСумма( I9 ;2;1;»UKR»;»целая,целых,целых,сотая,сотых,сотых»; 1; 3)
=ПрописьСумма( I9 ;2;1;»RUS»;»целая,целых,целых,сотая,сотых,сотых»; 1; 3; ИСТИНА)

Число( I9 ) — указывается число, либо ссылка на ячейку с числом, которое необходимо преобразовать. Вместо ссылки на ячейку( I9 ) можно напрямую указать число
=ПрописьСумма(145;1;1)

Рубли(2) — необязательный аргумент. Позволяет вывести прописью целую часть числа.
Если присвоено значение 1 — после целой части числа добавляется подпись Рублей . Само число, обозначающее рубли, при этом не преобразуется( 1 рубль, 7 рублей ).
Если присвоено значение 2 — после целой части числа добавляется подпись Рублей . Само число, обозначающее рубли, при этом преобразуется в текстовое представление( Один рубль, Семь рублей ).
Если не указан, либо присвоено значение 0 — только пропись числа( Один ), без указания единиц( рубли ).

Копейки(1) — необязательный аргумент. Позволяет вывести прописью дробную часть числа.
Если указан, либо присвоено значение 1 — после дробной части числа добавляется подпись Копеек . Само число, обозначающее копейки, при этом не преобразуется( Два рубля 1 копейка, Два рубля 4 копейки ).
Если указан, либо присвоено значение 2 — после дробной части числа добавляется подпись Копеек . Само число, обозначающее копейки, при этом преобразуется в текстовое представление этого числа( Два рубля одна копейка, Два рубля четыре копейки ).
Если аргумент Копейки не указан, либо ему присвоено значение 0 или ЛОЖЬ (FALSE) — то будет выведена пропись только целого числа, без учета знаков после запятой( Два ). Т.е. копейки в данном случае в пропись не выводятся.
Аргументы Рубли и Копейки можно изменять независимо друг от друга. Например, если для числа 23,78 указать Рубли — 1, а Копейки — 0, то в пропись будет выведено: 23 рубля . Если указать Рубли — 2, а Копейки — 1, то в пропись будет выведено: двадцать три рубля 78 копеек

Язык(«RUS») — необязательный аргумент. Определяет язык для вывода прописи чисел. Не чувствителен к регистру. Доступны варианты языков:

  • » RUS » или не указан: текст будет выведен на русском языке. 23,78 будет записано как » двадцать три рубля семьдесят восемь копеек «
  • » EN «( «en»,»En» ): текст будет выведен на английском языке. 23,78 будет записано как » Twenty three dollars seventy eight cents «
  • » UKR » или » UA «: текст выводится на украинском языке: 23,78 будет записано как » двадцять три гривні сімдесят вісім копійок «.

Следует учитывать, что если аргумент Единицы указан как сочетание собственных единиц, то язык прописи единиц может отличаться от указанного в параметре Язык . Например, если для числа 23,78 указать Единицы » целая,целых,целых,сотая,сотых,сотых » и установить язык » en «, то результат будет некорректный: Twenty three целых seventy eight сотых . Чтобы правильно отобразить на английском языке целые и сотые, аргумент Единицы необходимо записать так: «point,points,points,hundredths,hundredths,hundredths» .

Единицы(«целая,целых,целых,сотая,сотых,сотых») — необязательный аргумент. Данный аргумент отвечает за проставление обозначений единиц измерения численных показателей. В аргументе необходимо через запятую( без пробелов! ) указать единицы измерений для числа.
Как это работает на примере » рубль,рубля,рублей,копейка,копейки,копеек «: первые три слова ( рубль,рубля,рублей ) отвечают за обозначение единиц для целой части числа:

  1. рубль — указывается склонение единицы для числа 1
  2. рубля — указывается склонение единицы для чисел 2,3,4
  3. рублей — указывается склонение единицы для числа 5 и выше

последние три слова ( копейка,копейки,копеек ) отвечают за обозначение единиц для дробной части числа:

  1. копейка — указывается склонение единицы для числа 1
  2. копейки — указывается склонение единицы для чисел 2,3,4
  3. копеек — указывается склонение единицы для числа 5 и выше

По умолчанию (если аргумент Единицы не указывать) применяется » рубль,рубля,рублей,копейка,копейки,копеек » для русского языка(» RUS «) и » dollar,dollars,dollars,cent,cents,cents» для английского языка(» EN «).
Если указать » целая,целых,целых,сотая,сотых,сотых «, то для числа 23,78 в пропись будет выведено:

  • Двадцать три целых семьдесят восемь сотых — при указании аргументов Рубли и Копейки равными 2
  • 23 целых 78 сотых — при указании аргументов Рубли и Копейки равными 1

Если аргументом Единицы указать пустую строку — «», то пропись единиц просто не будет произведена и для числа 24,78 будет выведено: двадцать четыре семьдесят восемь .

Таким образом можно указать практически любую валюту и любые единицы измерений: от вагонов до миллилитров. Это делает функцию ПрописьСумма очень гибкой и более универсальной, применимой практически в любом документе, где необходимо вывести в пропись те или иные данные. При этом единицы можно записывать на любом языке.

ПропНач(ИСТИНА) — Необязательный аргумент. Указывается логическое значение ИСТИНА (TRUE) или ЛОЖЬ (FALSE) или выражение, возвращающее логическое значение. Если указано ИСТИНА или 1 , то первая буква результирующего текста будет преобразована в заглавную: Два рубля одна копейка . Если не указан, указано ЛОЖЬ или 0, то весь текст будет записан строчными буквами: два рубля одна копейка .

ЧислЗнаков(3) — Необязательный аргумент. Указывается целое число, означающее количество знаков после запятой, которое будет выводиться в пропись. По умолчанию, если не указано, принимает значение 2. Необходим для вывода в пропись единиц, измеряемых числами с тремя и более знаками после запятой, например тонны и килограммы, где килограммы всегда должны обозначаться именно тремя знаками: 3,472 . После преобразования получится » три тонны четыреста семьдесят два килограмма «. Если число содержит большее число знаков после запятой, чем указано аргументом ЧислЗнаков , такое число будет округлено до указанного количества знаков после запятой.
Допускается указание до 5 знаков после запятой. Если будет указано число больше 5, то функция все равно примет во внимание только 5 знаков.

ВСкобках(ИСТИНА) — Необязательный аргумент. Указывается логическое значение ИСТИНА (TRUE) или ЛОЖЬ (FALSE) или выражение, возвращающее логическое значение. Если указано ИСТИНА или 1 , то в результате будет выведено сначала само число, а потом его пропись в скобках: 2 302 (две тысячи триста два) рубля 01 копейка . Если не указан, указано ЛОЖЬ или 0 , то пропись выводится в соответствии с остальными параметрами. Если параметр ВСкобках указан как 1 или ИСТИНА , а параметр Рубли как 0 , то он будет проигнорирован и текст в скобках все равно будет записан прописью.

Несколько практических примеров указания аргументов для вывода прописи:

  • Дата:
    Число = 1,07
    Рубли — 1
    Копейки — 1
    Единицы — «год,года,лет,месяц,месяца,месяцев»
    Результат — 1 год 07 месяцев
    Если для Единиц указать » месяц,месяца,месяцев,день,дня,дней » — то получим — 1 месяц 07 дней
  • Единицы измерений:
    Число = 1,07
    Рубли — 1
    Копейки — 1
    Единицы — » ящик,ящика,ящиков,коробка,коробки,коробок »
    ПропНач — 0 (или ЛОЖЬ)
    ЧислЗнаков — не указан
    Результат — 1 ящик 07 коробок

Число = 68,39
Рубли — 2
Копейки — 2
Единицы — » целая,целых,целых,сотая,сотых,сотых »
ПропНач — 0 (или ЛОЖЬ)
ЧислЗнаков — не указан
Результат — шестьдесят восемь целых тридцать девять сотых

Число = 68,396
Рубли — 2
Копейки — 2
Язык — «RUS»
Единицы — » целая,целых,целых,тысячная,тысячных,тысячных »
ПропНач — 1 (или ИСТИНА)
ЧислЗнаков — 3
Результат — Шестьдесят восемь целых триста девяносто шесть тысячных

Число = 68,39
Рубли — 2
Копейки — 2
Язык — «EN»
Единицы — » point,points,points,hundredths,hundredths,hundredths »
ПропНач — 1 (или ИСТИНА)
ЧислЗнаков — 2
Результат — Sixty eight points thirty nine hundredths
Валюта:
Число = 5,44
Рубли — 2
Копейки — 2
Язык — не указан(или «ru»)
Единицы — не указан
ПропНач — 0 (ЛОЖЬ) или не указан
ЧислЗнаков — не указан
Результат — пять рублей сорок четыре копейки

Число = 25,44
Рубли — 2
Копейки — 2
Язык — «En»
Единицы — не указан
ПропНач — не указан
ЧислЗнаков — не указан
Результат — twenty five dollars and forty four cents

Число = 25,44
Рубли — 2
Копейки — 2
Язык — «UA»
Единицы — не указан
ПропНач — не указан
ЧислЗнаков — не указан
Результат — двадцять п’ять гривень сорок чотири копійки

Число = 2302
Рубли — 0
Копейки — 0
Язык — «RUS»
Единицы — «»
ПропНач — 1
ЧислЗнаков — 2
Результат — 2302(две тысячи триста два)

  • Расстояния:
    Число = 14021,22
    Рубли — 2
    Копейки — 2
    Единицы — » миля,мили,миль,ярд,ярда,ярдов »
    ПропНач — не указан
    ЧислЗнаков — не указан
    Результат — четырнадцать тысяч двадцать одна миля двадцать два ярда
  • Вес:
    Число = 3,472
    Рубли — 2
    Копейки — 2
    Язык — «rus»
    Единицы — » тонна,тонны,тонн,килограмм,килограмма,килограмм »
    ПропНач — 1
    ЧислЗнаков — 3
    Результат — Три тонны четыреста семьдесят два килограмма
  • Примечание: данная функция обрабатывает числовые значения максимальной величины Сотни триллионов. Число более 999 999 999 999 999,99999 будет преобразовано некорректно, т.к. сам Excel с числами, превышающими сотни триллионов, корректно работать не умеет(последние цифры будут заменены нулями).

    Источник

    Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.

    Excel. Сумма прописью без макросов и надстроек

    Дано: Excel c числами и суммами в рублях в ячейках.
    Задача: написать данные числа прописью без использования макросов и каких-либо надстроек программы Excel, т.е. написать число прописью при помощи стандартных формул.

    Пример файла excel с таким решением можно скачать здесь.
    См. также Сумма прописью онлайн (если просто нужно получить результат).
    Что означает прописью?
    Данный файл производит следующие манипуляции с числами:

    1. Формула 1 преобразовывает число в сумму прописью следующего формата:
    «0 (пропись) рублей 00 копеек»

    2. Формула 2 преобразовывает число в сумму прописью следующего формата:
    «Пропись рублей 00 копеек»

    3. Формула 3 просто переводит число в текст: число = пропись

    Вот формулы, которые пишут сумму прописью:

    При необходимости формулу можно подогнать под нужный формат.

    Как использовать данную формулу?
    Вы можете взять файл примера и внести в него свои данные, чтобы получить результат.
    Если же у Вас уже есть готовый файл с заполненными данными и Вам необходимо добавить возможность написания суммы прописью, то чтобы формула заработала, необходимо сделать некоторые подготовительные действия, а именно добавить справочники, которые использует формула. В данном примере справочники заданы как именованные диапазоны (это решение хорошо тем, что пользователь эти диапазоны не видит на листах и соответственно не сможет лишний раз что-то испортить).

    Итак, нам необходимо сделать следующие справочники:

    Имя диапазона: n_1
    Диапазон: =

    Имя диапазона: n_2
    Диапазон: =

    Имя диапазона: n_3
    Диапазон: =

    Имя диапазона: n_4
    Диапазон: =

    Имя диапазона: n_5
    Диапазон: =

    Имя диапазона: n0
    Диапазон: =»000000000000″&ПСТР(1/2;2;1)&»00″

    Имя диапазона: n0x
    Диапазон: =ЕСЛИ(n_3=1;n_2;n_3&n_1)

    Имя диапазона: n1x
    Диапазон: =ЕСЛИ(n_3=1;n_2;n_3&n_5)

    Имя диапазона: мил
    Диапазон: =

    Имя диапазона: тыс
    Диапазон: =

    Чтобы создать справочник таких диапазонов, переходим на вкладку «Формулы» — «Диспетчер имен«:

    В открывшемся окне нажимаем кнопку «Создать» и в форме вводим данные первого диапазона из таблицы:

    Далее таким же образом вводим все остальные диапазоны из таблицы:

    Цифры буквами в Excel

    Цифры прописью в Excel — вот так чудо, и это один из наглядных примеров рационального использования достижений автоматизации процессов. О такой возможности многие пользователи и не догадываются, а между тем можно порядком сэкономить драгоценное время.

    Цифры прописью в Excel

    Для замены цифр прописью в Excel потребуется воспользоваться дополнительной надстройкой, но не стоит пугаться, если вы ничего в этом не понимаете. Читайте и делайте согласно инструкции, и все у вас получится.

    Интересно. Как сделать подобное в Word читайте здесь.

    Число прописью в Экселе. Установка

    В данном уроке вам будет предложено скачать бесплатно корректно работающий вариант приложения для написания числа прописью найденного на просторах интернета.

    Как правило, необходимость конвертировать цифры в текст возникает в различных бухгалтерских и платежных документах, поэтому радует и наличие возможности выбора основных валют (рубли, доллары и евро).

    Довольно лирики, давайте приступим и подробно разберемся, как написать число прописью.

    Делаем в следующем порядке:

    1. Скачиваем и распаковываем файл кликнув здесь.

    2. Закиньте файл NUMSTR.XLA в папку Library, которая находится C:ProgramFiles (x86)MicrosoftOfficeOffice14Library (возможно расположение немного отличается, зависит от версий ПО).

    3. Запустите Excel и на вкладке «Разработчик» кликните по кнопке «Надстройки» ( если ее нет, читайте ниже ).

    Внимание. Если нет вкладки «Разработчик», пройдите Файл → Параметры → Настройка ленты и установите галку напротив пункта «Разработчик».

    4. В окне «Надстройки» отметьте пункт NumStrAdd-in и нажмите ОК.

    Усё можно пользоваться.

    Число прописью в Excel. Как пользоваться

    Расширение установлено, теперь несколько слов как использовать:

    5. Для примера напишите в произвольной ячейке число цифрами.

    6. Кликните по кнопке «Вставить Функцию».

    7. В открывшемся окне «Мастер функций» в списке «Категория» выберите «Определенные пользователем».

    8. После этого выберите необходимую функцию:

    NumStr – отобразит цифры буквами в Excel;

    RubStr — преобразует число прописью в рублях;

    USDStr – конвертирует число прописью в долларах;

    EURStr – выведет сумму прописью в евро.

    9. В следующем окне «Аргументы функции» укажите в поле ячейку с данными (кликнут курсором) или непосредственно число цифрами, завершив нажатием кнопки ОК и растянувшейся улыбкой.

    Интересно. Как закрепить строки в Excel читайте тут.

    Сумма прописью в Microsoft Excel

    При заполнении различных финансовых документов часто требуется прописать сумму не только числом, но и прописью. Конечно, это занимает гораздо больше времени, чем обычное написание с помощью цифр. Если подобным образом нужно заполнить не одно, а много документов, то временные потери становятся огромными. Кроме того, именно в записи суммы прописью наиболее часто встречаются грамматические ошибки. Давайте выясним, как сделать так, чтобы числа прописью вносились автоматически.

    Использование надстройки

    В Эксель нет встроенного инструмента, который бы помогал автоматически переводить цифры в слова. Поэтому для решения поставленной задачи используют специальные надстройки.

    Одной из самых удобных является надстройка NUM2TEXT. Она позволяет поменять цифры на буквы через Мастер функций.

    1. Открываем программу Excel и переходим во вкладку «Файл».

    Перемещаемся в раздел «Параметры».

    В активном окне параметров переходим в раздел «Надстройки».

    Открывается небольшое окно надстроек Excel. Жмем на кнопку «Обзор…».

    В открывшемся окне ищем предварительно скачанный и сохраненный на жесткий диск компьютера файл надстройки NUM2TEXT.xla. Выделяем его и жмем на кнопку «OK».

    Мы видим, что данный элемент появился среди доступных надстроек. Ставим галочку около пункта NUM2TEXT и жмем на кнопку «OK».

    Запускается Мастер функций. В полном алфавитном перечне функций ищем запись «Сумма_прописью». Её раньше не было, но она появилась тут после установки надстройки. Выделяем эту функцию. Жмем на кнопку «OK».

    Отрывается окно аргументов функции Сумма_прописью. Оно содержит только одно поле «Сумма». Сюда можно записать обычное число. Оно в выделенной ячейке отобразиться в формате записанной прописью денежной суммы в рублях и копейках.

    Можно в поле занести адрес любой ячейки. Это делается либо путем ручной записи координат этой ячейки, либо простым кликом по ней в то время, когда курсор находится в поле параметра «Сумма». Жмем на кнопку «OK».

  • После этого, любое число, которое записано в ячейку, указанную вами, будет отображаться в денежном виде прописью в том месте, где установлена формула функции.
  • Функцию можно также записать и вручную без вызова мастера функций. Она имеет синтаксис Сумма_прописью(сумма) или Сумма_прописью(координаты_ячейки). Таким образом, если вы в ячейке запишите формулу =Сумма_прописью(5) , то после нажатия кнопки ENTER в этой ячейке отобразиться надпись «Пять рублей 00 копеек».

    Если вы введете в ячейку формулу =Сумма_прописью(A2) , то в таком случае, любое число, внесенное в ячейку A2 будет отображаться тут денежной суммой прописью.

    Как видим, несмотря на то, что в Excel нет встроенного инструмента для преобразования чисел в сумму прописью, эту возможность можно довольно легко получить, просто установив необходимую надстройку в программу.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Как создается сумма прописью в Excel?

    Добрый день уважаемый читатель!

    Статья посвящена такому интересному вопросу: «Как создается сумма прописью в Excel?». Эта возможность позволяет нам всю массу информации и расчетов, которые сведены в один результат, оформить как финансовой документ, которые нельзя трактовать двузначно. Недаром же любые банковские, юридические и финансовые документы оформляются и цифрами и буквами. Окромя всего, такие суммы не позволяют ошибаться, где же должна стоять запятая и просто отлично выглядят в сравнении с рядом цифр. Подведя итог, скажу, что любой пользователь Excel, который работает с цифрами и временем, а также печатает документы с их использованием, очень нуждается в инструменте создающим сумму прописью.

    Решить эту проблему можно несколькими способами:

    Создание сумм прописью с помощью формул

    Это вполне осуществимый вариант, но очень громоздкий. Формула, которая может самостоятельно преобразовывать числа в буковки и правильно орфографически написать сумму прописью получится очень большой. В случае, когда вы захотите упростить формулу, вам нужно будет отдельный блок формул, который буде и заниматься всеми преобразованиями. Единственное преимущество от использования формулы, это когда вы разберетесь с ней, то самостоятельно сможете ее изменять: разрядность, валюту, склонение и т.п.

    Ради общего интереса я предоставлю вам пример файла с работающей формулой, которую я нашёл на excelworld.ru, поскольку самостоятельно формульным решением задачи я не занимался, но считаю нужным предоставить весь наработанный или собранный материал. Скачать пример можно по этой ссылке.

    С помощью пользовательской функции

    Как мой взгляд, это самое оптимальное и простое, относительно конечно, решение поставленного вопроса. Вы просто включаете функцию и пользуетесь ее с удовольствием.

    Для этого вам необходимо выполнить некоторые действия. Сначала скачиваете файл надстройки здесь. После, переносите его в папку AddIns, которую можно найти по пути C:Documents and SettingsUserApplication DataMicrosoftAddIns, только вы вместо «User» подставляете имя вашего пользователя Windows. Еще может возникнуть проблема в отображении папки «Application Data», она может быть скрыта, тогда вам в настройках «Свойства папки» нужно активировать пункт «Показать скрытые файлы и папки». Теперь собственно и приступим к включении этой надстройки. В Excel выбираем «Файл» — «Параметры» — «Надстройки». В диалоговом окне «Настройки» ставим галочку напротив включаемой надстройки «Сумма Прописью» и нажимаем «ОК». Следующим шагом, ставим курсор на нужную ячейку и вызываем «Мастер функций». В разделе «Категория» выбираем пункт «Определенные пользователем» и теперь весть список встроенных функций по написанию сумм прописью нам доступен. Кстати как видите, доступен даже выбор функций в разрезе валют. Сразу замечу, что надстроек бывает много, есть и более расширенные, но эта меня полностью устраивает, вот я ее и описываю. В результате мы получаем возможность получить следующие данные:

    С помощью VBA

    Вот еще один способ на любителя. Конечно создать сумму прописью в Excel с помощью макроса не самый распространённый способ, но им достаточно часто пользовались и пользуются до сих пор. Большой сложности он не представляет, вам нужно:

    • Комбинацией горячих клавиш ALT+F11 вызвать редактор Visual Basic;
    • С помощью меню «Insert» — «Module», создать пустой новый модуль;
    • Скопировать предоставленный код макроса в тело модуля.

    Получается готовая пользовательская функция VBA, которая умеет превращать любую сумму от 0 до 9 999 999 в ее текстовое воплощение, создается сумма прописью.

    Как прописать сумму, число, цифры прописью в Excel

    Очень распространенная задача написать числа прописью в Excel. Встроенной функции пока еще в Excel нет, поэтому мы можем создать пользовательскую функцию, которая и будет заменять цифры, числа текстом.

    Как правило, это требуется в торговле, бухгалтерском учете и других сферах, где производятся расчеты с денежными средствами. Обычно необходимо перевести сумму в рублях и копейках прописью, как на картинке (первый пример).

    Сумма в рублях, долларах или евро с копейками прописью

    Допустим, мы делаем какие-то расчеты в таблице и получаем итоговую сумму в рублях 1526,23

    Нам необходимо прописать эту цифру в рублях и желательно указать так же и копейки. Для этого создадим специальную универсальную пользовательскую функцию, которая будет выглядеть следующим образом

    Propis ( Amount ; Money ; lang ; Prec )

    Amount — это ссылка на ячейку с числом

    Money — тут указывается вид валюты, можно указать рубли, доллары и евро ( «RUB» , «USD» , «EUR» ) — валюта обязательно указывается в кавычках.

    lang — это язык на котором необходимо вывести сумму, доступно два языка английский и русский ( «EN» , «RU» ) — так же указываем в кавычках

    Prec — показывать ( 1 ) или не показывать ( 0 ) дробную часть

    Таким образом, вы сможете прописать сумму в рублях, долларах или евро прописью русскими или английскими буквами вместе с дробной частью, при этом в зависимости от числа будет вставляться правильное окончание, например 2 рубля, 8 рублей, 1 рубль и так далее.

    Чтобы создать пользовательскую функцию Propis, необходимо скопировать код, указанный ниже, далее нажмите ALT+F11, чтобы открыть VBA, добавьте новый пустой модуль через меню Insert — Module и вставьте туда скопированный код

    Макрос пользовательской функции суммы прописью

    Итак, функция создана, чтобы воспользоваться ей, просто введите ячейке Propis с нужными аргументами, например, если нам необходимо прописать сумму прописью в рублях с копейками и на русском языке, то формула будет выглядеть следующим образом.

    Числа прописью с копейками заглавными или строчными буквами в Excel

    Вот код VBA для пользовательской функции. Отображение суммы прописью с копейками и выбором первой заглавной или строчной буквы

    • Без копеек (1), с копейками (0)
    • Копейки прописью (1), числом (0)
    • Начинать прописью (0), заглавной (1)

    Вот как используется функция

    • Данная функция будет работать с числами от 0 до 99 999 999
    • Перед копирование кода переключите раскладку клавиатуры на русский язык (для корректного копирования русского текста)
    • Код VBA необходимо вставлять во все файлы (Книги Excel), где вы хотите, чтобы она работала
    • После вставки код, необходимо сохранить файл с поддержкой макросов xlsm (в Excel, начиная с 2007 версии)
    • Функцию можно либо набирать в ручную, либо, если вы забыли как она пишется, через мастер функций (кнопка fx в строке формул, категория Определенные пользователем)

    Like this post? Please share to your friends:
  • Excel число прописью английский
  • Excel число после дроби
  • Excel число полных лет
  • Excel число по английски
  • Excel число отформатировано как текст как исправить