Вопрос по Excel . имеется надо преобразовать число в текст (формат денежный) + #500937


#0 by boris
имеется число наприм: 1111,20 надо преобразовать текст. какие функции можно использовать. пмг пжл.
#1 by miki
" ФИКСИРОВАННЫЙ Округляет число до заданного количества десятичных цифр, форматирует число в десятичном формате с использованием запятых и точек и возвращает результат в виде текста. Синтаксис ФИКСИРОВАННЫЙ(число; число_знаков; без_разделителей) Число  — это число, которое округляется и преобразуется в текст "
#2 by miki
" ТЕКСТ Преобразует значение в текст в заданном числовом формате. Синтаксис ТЕКСТ(значение;формат) Значение — либо числовое значение, либо формула, вычисление которой дает числовое значение, либо ссылка на ячейку, содержащую числовое значение. Формат — числовой формат в текстовой форме из списка Числовые форматы с вкладки Число диалогового окна Формат ячеек. Заметки Формат не может содержать звездочку (*). Форматирование ячейки с помощью вкладки Число (команда Ячейки меню Формат) меняет только формат, но не значение. Использование функции ТЕКСТ преобразует значение в форматированный текст, и результат больше не участвует в вычислениях как число. "
#3 by miki
Или тебе прописью надо?
#4 by boris
да пропиьсю
#5 by boris
пример 1 один рублей  00 копеек
#6 by boris
т.е. число 1  надо  преобразовать один рублей 00 копеек т.к. надоело каждый раз набирать
#7 by miki
штатно - БАТТЕКСТ, но на тайском :)) а так - через макросы и/или надстройки: ©yandex
#8 by skunk
[1C] Public N(1 To 14) As Byte ' в каждом разряде - число из суммы Public a, строка As String Public A1_муж, A1_жен, a2, a3, a0 Public Function Пропись(Сумма, Optional Показывать_ноль_копеек As Boolean) 'Сумма прописью в диапазоне от 0 до 999 млрд. с копейками A1_муж = Array("", "один ", "два ", "тpи ", "четыpе ", "пять ", "шесть ", "семь ", "восемь ", "девять ") A1_жен = Array("", "одна ", "две ", "тpи ", "четыpе ", "пять ", "шесть ", "семь ", "восемь ", "девять ") a0 = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ") a2 = Array("", "десять ", "двадцать ", "тpидцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ") a3 = Array("", "сто ", "двести ", "тpиста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ") миллиарды = Array("миллиард", "миллиарда", "миллиардов") миллионы = Array("миллион", "миллиона", "миллионов") тысячи = Array("тысяча", "тысячи", "тысяч") рубли = Array("рубль", "рубля", "рублей") копейки = Array("копейка", "копейки", "копеек") a = "" ' собираемая строка суммы прописью Позиция_разделителя = InStr(1, Сумма, "=", 1) + InStr(1, Сумма, "-", 1) + InStr(1, Сумма, ".", 1) + InStr(1, Сумма, ",", 1) If Позиция_разделителя = 0 Then коп = "00" Позиция_разделителя = Len(Сумма) + 1 Else коп = Left(Mid(Сумма, Позиция_разделителя + 1, 2) & "00", 2) End If строка = Right("000000000000" & Mid(Сумма, 1, Позиция_разделителя - 1), 12) If Val(строка) < 0 Or Val(строка) > 999999999999.99 Then Пропись = "Cумма выходит за границы допустимого диапазона (0-999999999999.99)." Exit Function End If For i = 1 To 12 ' рубли N(i) = Val(Mid(строка, i, 1)) Next i For i = 13 To 14 ' копейки N(i) = Val(Mid(коп, i - 12, 1)) Next i If Разбор Then 'миллиарды a = a & миллиарды(Склонение) + " " End If If Разбор Then 'миллионы a = a & миллионы(Склонение) + " " End If If Разбор Then 'тысячи a = a & тысячи(Склонение) + " " End If Разбор 'рубли If a <> "" Then a = a & рубли(Склонение) & " " Else a = "Ноль рублей " End If a = UCase(Mid(Trim(a), 1, 1)) & Mid(Trim(a), 2) ' первая прописная If Not Показывать_ноль_копеек And коп = "00" Then Else _ a = a & " " & коп & " " & копейки(Склонение) Пропись = a End Function Function Разбор(Сдвиг) As Boolean If Val(Mid(строка, 1 + Сдвиг, 3)) <> 0 Then a = a & a3(N(1 + Сдвиг)) If N(2 + Сдвиг) = 1 Then a = a & a0(N(3 + Сдвиг)) Else a = a & a2(N(2 + Сдвиг)) & IIf(Сдвиг = 6, A1_жен(N(3 + Сдвиг)), A1_муж(N(3 + Сдвиг))) End If Разбор = True Else Разбор = False End If End Function Public Function Склонение(Сдвиг) If N(2 + Сдвиг) = 1 Then Склонение = 2 Else Select Case N(3 + Сдвиг) Case 1 Склонение = 0 Case 2 To 4 Склонение = 1 Case Else Склонение = 2 End Select End If End Function [/1C]
#9 by boris
м-да для чайника трудна
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С