image

Excel no proporciona ninguna función predeterminada que convierta un número o una cantidad en palabras en rupias indias o en cualquier moneda. Pero eso no significa que no podamos convertir el número a rupia india. Podemos crear una fórmula de Excel personalizada para convertir números en palabras en rupias indias. He creado esta función personalizada para convertir números en palabras en términos de rupias indias. Puede descargar el archivo de macro a continuación. He mencionado el código a continuación y explicado un poco, para que pueda realizar cambios según sus requisitos.

Función de Excel para convertir un número en palabras en rupias indias. Utilice esta función para convertir cualquier cantidad o número de 10 dígitos o menos en palabras o rupias. He nombrado esta función NUM_TO_IND_RUPEE_WORD. La sintaxis de esta función es:

=NUM_TO_IND_RUPEE_WORD(number)

Puede descargar el archivo de macro de trabajo hacia abajo:

`enlace: /wp-content-uploads-2020-03-Number-to-Words-indian-rupee.xls [Número de palabras en rupia india]

Ahora el código de la función se menciona a continuación.

Este código se divide en cuatro funciones individuales. La función principal es NUM_TO_IND_RUPEE_WORD. Y otras tres funciones GetHunderds (), GetTens () y GetDigits son funciones de ayuda que ayudan a la función principal a formar la cadena.

Function NUM_TO_IND_RUPEE_WORD(ByVal MyNumber, Optional incRupees As Boolean = True)

Dim Crores, Lakhs, Rupees, Paise, Temp

Dim DecimalPlace As Long, Count As Long

Dim myLakhs, myCrores

ReDim Place(9) As String

Place(2) = " Thousand ": Place(3) = " Million "

Place(4) = " Billion ": Place(5) = " Trillion "

' String representation of amount.

MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none.

DecimalPlace = InStr(MyNumber, ".")

' Convert Paise and set MyNumber to Rupees amount.

If DecimalPlace > 0 Then

Paise = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

End If

myCrores = MyNumber \ 10000000

myLakhs = (MyNumber - myCrores * 10000000) \ 100000

MyNumber = MyNumber - myCrores  10000000 - myLakhs  100000

Count = 1

Do While myCrores <> ""

Temp = GetHundreds(Right(myCrores, 3))

If Temp <> "" Then Crores = Temp & Place(Count) & Crores

If Len(myCrores) > 3 Then

myCrores = Left(myCrores, Len(myCrores) - 3)

Else

myCrores = ""

End If

Count = Count + 1

Loop

Count = 1

Do While myLakhs <> ""

Temp = GetHundreds(Right(myLakhs, 3))

If Temp <> "" Then Lakhs = Temp & Place(Count) & Lakhs

If Len(myLakhs) > 3 Then

myLakhs = Left(myLakhs, Len(myLakhs) - 3)

Else

myLakhs = ""

End If

Count = Count + 1

Loop

Count = 1

Do While MyNumber <> ""

Temp = GetHundreds(Right(MyNumber, 3))

If Temp <> "" Then Rupees = Temp & Place(Count) & Rupees

If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)

Else

MyNumber = ""

End If

Count = Count + 1

Loop

Select Case Crores

Case "": Crores = ""

Case "One": Crores = " One Crore "

Case Else: Crores = Crores & " Crores "

End Select

Select Case Lakhs

Case "": Lakhs = ""

Case "One": Lakhs = " One Lakh "

Case Else: Lakhs = Lakhs & " Lakhs "

End Select

Select Case Rupees

Case "": Rupees = "Zero "

Case "One": Rupees = "One "

Case Else:

Rupees = Rupees

End Select

Select Case Paise

Case "": Paise = " and Paise Zero Only "

Case "One": Paise = " and Paise One Only "

Case Else: Paise = " and Paise " & Paise & " Only "

End Select

'creating the string of words to translate number into words

NUM_TO_IND_RUPEE_WORD = IIf(incRupees, "Rupees ", "") & Crores & _ Lakhs & Rupees & Paise

End Function

' Converts a number from 100-999 into text

Function GetHundreds(ByVal MyNumber)

Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right("000" & MyNumber, 3)

' Convert the hundreds place.

If Mid(MyNumber, 1, 1) <> "0" Then

Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

End If

' Convert the tens and ones place.

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

' Converts a number from 10 to 99 into text.

Function GetTens(TensText)

Dim Result As String

Result = "" ' Null out the temporary function value.

If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...

Select Case Val(TensText)

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 ' If value between 20-99...

Select Case Val(Left(TensText, 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(TensText, 1)) ' Retrieve ones place.

End If

GetTens = Result

End Function

' Converts a number from 1 to 9 into text.

Function GetDigit(Digit)

Select Case Val(Digit)

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

El código de la función es largo pero fácil de entender.

Para usar este código, inserte un módulo en VBE y cópielo y péguelo. Y la función está lista para usarse directamente en la hoja. Convertirá el número en palabras, específicamente en formato de rupias indias.

Así que sí, chicos, así es como pueden usar una función personalizada en Excel para convertir números en palabras. Espero que esto sea útil. Si tiene alguna duda sobre este artículo o cualquier otra función, pregunte en la sección de comentarios a continuación.

Artículos relacionados:

link: / excel-array-formulas-arrays-in-excel-formula [Matrices en fórmula de Excel] * | Las matrices son una colección de valores del mismo tipo en todos los lenguajes técnicos. En Excel es igual pero se trata de forma ligeramente diferente a otros lenguajes de programación ..

link: / vba-user-defined-function [Cómo crear una función definida por el usuario a través de VBA] * | Aprenda a crear funciones definidas por el usuario en Excel.

link: / custom-functions-userdefined-functions-from-other-workbooks-using-vba-in-microsoft-excel [Usando una función definida por el usuario (UDF) de otro libro usando VBA en Microsoft Excel] * | Utilice la función definida por el usuario en otro libro de Excel.

link: / custom-functions-return-error-values-from-user-defined-functions-using-vba-in-microsoft-excel [Devolver valores de error de funciones definidas por el usuario usando VBA en Microsoft Excel] * | Descubra cómo puede devolver valores de error desde una función definida por el usuario.

Artículos populares:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-incrementa-your-productividad [50 accesos directos de Excel para aumentar su productividad] | Acelera tu tarea. Estos 50 atajos le permitirán trabajar aún más rápido en Excel.

enlace: / fórmulas-y-funciones-introducción-de-función-vlookup [Cómo utilizar la función BUSCARV de Excel] | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.

link: / tips-countif-in-microsoft-excel [Cómo usar]

enlace: / fórmulas-y-funciones-introducción-de-vlookup-function [Excel]

enlace: / tips-countif-in-microsoft-excel [Función COUNTIF] | Cuente valores con condiciones usando esta asombrosa función.

No necesita filtrar sus datos para contar un valor específico. La función Countif es esencial para preparar su tablero.

link: / excel-formula-and-function-excel-sumif-function [Cómo usar la función SUMIF en Excel] | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.