¿Cómo deletrear o convertir números a palabras en inglés en Excel?
Supongamos que tiene muchos números de cantidad de precio y ahora necesita convertirlos o deletrearlos en cadenas de texto. Por ejemplo, convertir $123.55 a las palabras inglesas ciento veintitrés dólares con cincuenta y cinco centavos. En Excel, no hay una instalación efectiva para resolver este problema, pero utilizando el código VBA largo y complejo. En este artículo, te presentaré algunos métodos para lidiar con él.
Deletree o convierta números a palabras en inglés con código VBA
Deletree o convierta números a palabras en inglés con Kutools para Excel
Deletree o convierta números a palabras en inglés con código VBA
El siguiente código VBA largo puede ayudarlo a deletrear números en cadenas de texto. Haz lo siguiente:
1. Mantenga pulsado el ALT + F11 llaves, y abre el Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic recuadro > Móduloy pegue la siguiente macro en el Ventana del módulo.
VBA: deletree números de moneda en palabras en inglés en Excel
Function SpellNumberToEnglish(ByVal pNumber)
'Updateby20131113
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
xHundred = ""
xValue = Right(pNumber, 3)
If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & GetTens(Mid(xValue, 2))
Else
xHundred = xHundred & GetDigit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
Dollars = xHundred & arr(xIndex) & Dollars
End If
If Len(pNumber) > 3 Then
pNumber = Left(pNumber, Len(pNumber) - 3)
Else
pNumber = ""
End If
xIndex = xIndex + 1
Loop
Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
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
SpellNumberToEnglish = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
Case Else
End Select
Else
Select Case Val(Left(pTens, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function
3. Luego guarde el código y regrese a la hoja de trabajo, en la celda adyacente B2, ingrese la fórmula = SpellNumberToEnglish (A1), ver captura de pantalla:
4. Entonces presione Participar y seleccione la celda B2, luego arrastre el controlador de relleno hasta el rango que contiene esta fórmula según lo necesite. Y todos los números de moneda se han escrito en palabras en inglés. Ver captura de pantalla:
Note: Como son fórmulas, cuando necesite copiarlas y pegarlas, péguelas como valores.
Deletree o convierta números a palabras en inglés con Kutools para Excel
Tal vez el código largo anterior pueda hacerte enojar, por favor no te preocupes, aquí puedo darte una manera fácil y rápida de resolverlo. Con el Kutools for Excel, Números a palabras función, puede convertir rápida y cómodamente los números en cadenas de texto.
Kutools for Excel- Incluye más de 300 útiles herramientas para Excel. Prueba gratuita de todas las funciones durante 30 días, ¡no se requiere tarjeta de crédito! Consíguelo ahora
1. Seleccione los números de rango que desea deletrear y haga clic en Kutools > Contenido > Números a palabras.
2. En el cuadro de diálogo emergente, elija Inglés del desplegable Idiomas. Y puede obtener una vista previa de los resultados desde la derecha Vista previa Cristal. Ver captura de pantalla:
3. Luego haga clic Ok or ¡Aplicá!. Y todos los números de importe de precio se han convertido en cadenas de texto en el rango original.
Note: Si solo desea convertir números a palabras en inglés (no moneda), verifique No convertido a moneda casilla de verificación.
Esta fantástica característica de Números a palabras puede traducir fácilmente números de moneda al texto de moneda en inglés o chino, como traducir 32.01 a "Treinta y dos dólares y un centavo" o "叁拾 贰元 零 壹 分". ¡Tenga una prueba gratis!
Demostración: Deletrear números de moneda en palabras en inglés
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!