Съдържание
В тази статия ще ви покажа два бързи и безплатни начина за конвертиране на валутни числа в английски думи в Excel 2019, 2016, 2013 и други версии.
Microsoft Excel е чудесна програма за изчисляване на това и онова. Първоначално тя е разработена за обработка на големи масиви от данни. Тя обаче позволява също така бързо и ефективно създаване на счетоводни записи като фактури, оценки или баланси.
В повече или по-малко солидните платежни документи е необходимо да се дублират цифровите стойности с тяхната словесна форма. Много по-трудно е да се фалшифицират печатни числа, отколкото написаните на ръка. Някой измамник може да се опита да направи 8000 от 3000, докато е почти невъзможно тайно да замени "три" с "осем".
Така че това, от което се нуждаете, е не просто да преобразувате числата в думи в Excel (напр. 123,45 в "сто двадесет и три, четиридесет и пет"), но и да изписвате долари и центове (напр. 29,95 USD като "двадесет и девет долара и деветдесет и девет цента" ), паунди и пенсове за GBP, евро и евроцентове за EUR и т.н.
Дори най-новите версии на Excel не разполагат с вграден инструмент за изписване на числата, да не говорим за по-ранните версии. Но точно тогава Excel е наистина добър. Винаги можете да подобрите функционалността му, като използвате формули във всичките им
комбинации, макроси VBA или добавки от трети страни.
По-долу ще намерите два начина за преобразуване на числа от цифри в думи
И евентуално може да се наложи да конвертирате думи в числа в Excel.
Забележка. Ако търсите преобразуване на числа в текст , което означава, че искате Excel да види числото ви като текст, това е малко по-различно нещо. За целта можете да използвате функцията TEXT или няколко други начина, описани в Как да променяме числа в текст в Excel.
SpellNumber VBA макрос за преобразуване на числа в думи
Както вече споменах, Microsoft не искаха да добавят инструмент за тази задача. Когато обаче видяха колко много потребители се нуждаят от него, те създадоха и публикуваха специалния макрос VBA на своя уебсайт. Макросът прави това, което подсказва името му SpellNumber. Всички други макроси, на които попаднах, са базирани на кода на Microsoft.
Макросът може да се намери под името "spellnumber formula". Това обаче не е формула, а макрофункция, или по-точно Функция, дефинирана от потребителя на Excel (UDF).
Опцията за изписване на числото може да изписва долари и центове. Ако ви е необходима друга валута, можете да промените " долар " и " цент " с името на вашето устройство.
Ако не владеете VBA, по-долу ще намерите копие на кода. Ако все още не искате или нямате време да се справите с това, използвайте това решение.
- Отворете работната книга, в която трябва да изпишете числата.
- Натиснете Alt+F11, за да отворите прозореца на редактора на Visual Basic.
- Ако имате отворени няколко книги, проверете дали необходимата работна книга е активна, като използвате списъка с проекти в горния ляв ъгъл на редактора (един от елементите на работната книга е маркиран със синьо).
- В менюто на редактора отидете на Вмъкване на -> Модул .
- Трябва да видите прозорец с име YourBook - Module1. Изберете целия код в рамката по-долу и го поставете в този прозорец.
Option Explicit 'Главна функция Функция SpellNumber( ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Хиляда " Place(3) = " Милион " Place(4) = " Милиард " Place(5) = " Трилион " MyNumber = Trim(Str(MyNumber)) DecimalPlace = InStr(MyNumber, "." ) If DecimalPlace> 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber)> 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "No Dollars" Case "One" Dollars = "OneDollar" Case Else Dollars = Dollars & " Dollars" End Select Select Case Cents Case "" Cents = " and No Cents" Case "One" Cents = " and One Cent" Case Else Cents = " and " & Cents & " Cents" End Select SpellNumber = Dollars & Cents End Function GetHundreds( ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right( "000" & MyNumber,3) ' Конвертиране на мястото на стотиците. If Mid(MyNumber, 1, 1) "0" Then Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred " End If ' Конвертиране на мястото на десетките и единиците. If Mid(MyNumber, 2, 1) "0" Then Result = Result & GetTens(Mid(MyNumber, 2)) Else Result = Result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = Result End Function GetTens(TensText) Dim Result As String Result = ""' Изтрийте стойността на временната функция. If Val(Left(TensText, 1)) = 1 Then ' Ако стойността е между 10-19... Select Case Val(TensText) Case 10: Резултат = "Десет" Case 11: Резултат = "Единадесет" Case 12: Резултат = "Дванадесет" Case 13: Резултат = "Тринадесет" Case 14: Резултат = "Четиринадесет" Case 15: Резултат = "Петнадесет" Case 16: Резултат = "Шестнадесет" Case 17: Резултат = "Седемнадесет" Case 18: Резултат = "Осемнадесет" Case 19: Резултат ="Деветнадесет" Случай Else End Select Else ' Ако стойността е между 20-99... Select Case Val(Left(TensText, 1)) Случай 2: Резултат = "Двадесет " Случай 3: Резултат = "Тридесет " Случай 4: Резултат = "Четиридесет " Случай 5: Резултат = "Петдесет " Случай 6: Резултат = "Шестдесет " Случай 7: Резултат = "Седемдесет " Случай 8: Резултат = "Осемдесет " Случай 9: Резултат = "Деветдесет " Случай Else End Select Резултат = Резултат & GetDigit _ (Right(TensText, 1)) ' Извличанеединици. End If GetTens = Резултат End Function Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = "Едно" Case 2: GetDigit = "Две" Case 3: GetDigit = "Три" Case 4: GetDigit = "Четири" Case 5: GetDigit = "Пет" Case 6: GetDigit = "Шест" Case 7: GetDigit = "Седем" Case 8: GetDigit = "Осем" Case 9: GetDigit = "Девет" Case Else : GetDigit = "" End Select End Function
- Натиснете Ctrl+S, за да запазите актуализираната работна книга.
Ще трябва да запишете отново работната си книга. Когато се опитате да запишете работната книга с макрос, ще получите съобщението " Следните функции не могат да бъдат записани в работна книга без макроси "
Щракнете върху No. Когато се появи нов диалогов прозорец, изберете опцията Save as. В полето " Запазване като тип " изберете опцията " Работна книга на Excel с активирани макроси ".
Използвайте макроса SpellNumber в работните си листове
Сега можете да използвате функцията Номер на заклинанието в документите си в Excel. Въведете =Черковен номер(A2)
в клетката, в която трябва да получите числото, изписано с думи. Тук A2 е адресът на клетката с числото или сумата.
Тук можете да видите резултата:
Воала!
Бързо копиране на функцията SpellNumber в други клетки.
Ако трябва да конвертирате цялата таблица, а не само една клетка, поставете курсора на мишката в долния десен ъгъл на клетката с формулата, докато той се превърне в малко черно кръстче:
Щракнете с левия бутон на мишката и го плъзнете по колоната, за да попълните формулата. Освободете бутона, за да видите резултатите:
Забележка: Моля, имайте предвид, че ако използвате SpellNumber с връзка към друга клетка, записаната сума ще се актуализира всеки път, когато числото в изходната клетка се промени.
Можете също така да въведете числото директно във функцията, например, =Черковно число(29.95)
(29,95 - без кавичките и знака за долар).
Недостатъци на използването на макрос за изписване на числа в Excel
Първо, трябва да знаете VBA, за да модифицирате кода според нуждите си. Необходимо е да вмъкнете кода за всяка работна книга, в която планирате да го промените. В противен случай ще трябва да създадете файл-шаблон с макроси и да настроите Excel да зарежда този файл при всяко стартиране.
Основният недостатък на използването на макрос е, че ако изпратите работната книга на някой друг, този човек няма да види текста, освен ако макросът не е вграден в работната книга. А дори и да е вграден, той ще получи предупреждение, че в работната книга има макроси.
Изписване на числа в думи с помощта на специална добавка
За потребителите на Excel, които имат нужда от бързо изписване на суми, но нямат време да учат VBA или да измислят обходни пътища, създадохме специален инструмент, който може бързо да извършва преобразуване на суми в думи за няколко популярни валути. Запознайте се с добавката Spell Number (Изписване на суми), включена в последната версия на нашия Ultimate Suite за Excel.
Освен че е готов за използване, инструментът е наистина гъвкав при преобразуването на суми в текст:
- Можете да изберете една от следните валути: USD, EUR, GBP, BIT, AUD.
- Изпишете дробната част в центове, стотинки или битцентове.
- Изберете какъвто и да е регистър на текста за резултата: малък регистър, голям регистър, регистър на заглавието или регистър на изречението.
- Изписвайте десетичната част по различни начини.
- Включете или пропуснете нулеви центове.
Добавката поддържа всички съвременни версии, включително Excel 365, Excel 2029, Excel 2016, Excel 2013 и Excel 2010. Моля, не се колебайте да разгледате други възможности на началната страница на продукта, към която има връзка по-горе.
А сега нека видим тази помощна програма за изписване на номера в действие:
- Изберете празна клетка за резултата.
- На Ablebits в раздела Комунални услуги група, щракнете върху Номер на заклинанието .
- В Номер на разлива в диалоговия прозорец, който се появява, конфигурирайте следните неща:
- За Изберете своя номер изберете клетката, в която се намира сумата, която искате да бъде изписана като текст.
- Посочете желания понастоящем , регистър на буквите и начина, по който десетична част на числото трябва да се изпише.
- Определете дали да се включват нулеви центове или не.
- Изберете дали да вмъкнете резултата като стойност или формула.
- В долната част на диалоговия прозорец, преглед Ако сте доволни от начина, по който е написано числото, щракнете върху Заклинание . В противен случай опитайте различни настройки.
Снимката на екрана по-долу демонстрира избора по подразбиране и изписаното число в B2. Моля, забележете формула (по-точно, дефинирана от потребителя функция) в лентата с формули:
Това е кратка демонстрация на това как могат да се изписват други валути:
Съвети и бележки:
- Защото Номер на заклинанието е проектирана за работа с реални случаи на употреба като фактури и други финансови документи, тя може да конвертира само едно число наведнъж.
- За изписване на колона от числа , вмъкнете формула в първата клетка и след това копирайте формулата надолу.
- Ако има вероятност изходните ви данни да се променят в бъдеще, най-добре е да вмъкнете резултата като формула , така че да се актуализира автоматично при промяна на първоначалния номер.
- При избора на резултат като формула опция, потребителска дефинирана от потребителя функция (Ако планирате да споделите работната си книга с някой, който няма инсталиран Ultimate Suite, не забравяйте да замените формулите със стойности, преди да ги споделите.
Обратно преобразуване - английски думи в числа
Честно казано, не мога да си представя защо може да ви е необходима. За всеки случай... :)
Оказва се, че MVP на Excel, Джери Латам, е създал такава функция на Excel, дефинирана от потребителя (UDF), като WordsToDigits . Той преобразува английските думи в числа.
Можете да изтеглите работната тетрадка WordsToDigits на Джери, за да видите кода на UDF. Тук ще намерите и неговите примери за използване на функцията.
Можете да видите как работи функцията в лист " Примерни вписвания ", където ще можете да въвеждате и свои собствени примери. Ако планирате да използвате WordsToDigits в документите си, моля, имайте предвид, че тази функция има ограничения. Например тя не разпознава дробни числа, въведени с думи. Всички подробности ще намерите в " Информация " лист.