Convertir números a su equivalente en letras

Escrito por Comunidad Microsoft Excel on . Posted in Excel - Word Números a Letras

Most Valuable Professional

Funciones diversas
convertir números a su equivalente en Letras Excel

Funciones en Excel por Hector Miguel Orozco

Seguimos con nuestra serie de artículos sobre transformación de números a letras en Excel. En este artículo os desglosamos cinco funciones y os ofrecemos una comparativa de las mismas.

El archivo ha sido creado por Héctor Miguel Orozco que ha recopilado y ha dado mejora a las cinco funciones que componen dicho archivo para su mejor traducción de número a letras en Excel.

La primera de ellas es la creada por Héctor, la más completa ya que podemos obtener la traducción de números a letras hasta en Cinco idiomas diferentes [ Español, Francés, Ingles, Catalán e Italiano ] y además es muy útil para obtener resultados tanto con monedas como para unidades de medida, o simplemente texto normal.

Función Héctor Miguel Orozco

ico Función para "convertir" números a letras

Desarrollo de la funcion ValorEnLetras
[Héctor Miguel Orozco]

Los argumentos utlizados en la función son los siguientes:

Ref_Valor: Argumento requerido [ valor el cual vamos a traducir ]

ValorEnletras

Unidad_Medida: Argumento Opcional donde utilizaremos el nombre de la moneda o medida en singular, también podemos utilizar un nombre compuesto por ejemplo para las medidas metro cuadrado además de poder utilizar: "(", "[", "{", "-" o bien encerrando el resultado "( )", "[ ]", "{ }", "- -".

e.g:

ValorEnLetras

valor en letras

ID_Fracciones : Argumento Opcional para dos decimales y moneda o medida, lo indicaremos en Plural. Si lo dejamos en blanco entonces la parte decimal no será tomada en cuenta.

Podemos usar: Céntimos, centímetros, centavos, "/100", iniciar con "#" [ cuyo resultado será en número en número ("+ el identificador") ] y también podemos usar "ninguno" o "sin identificar" para dejarlo solamente como dos decimales sin la parte de texto.

e.g:

valor en letras

valor en letras

valor en letras ID

valor en letras ID

Valor en letras

Id_Medida: Argumento Opcional, para algún "texto" al final como identificador de la moneda [ "M.N.", "U.S.Cy.", "€" ...]

e.g:

valor en letras

Idioma: Argumento opcional en que podremos utilizar el idioma que necesitemos:

- Inglés o English

- Francés o French

- Italiano o Italian

- Catalán

Podemos escribir en este argumento por ejemplo:

Inglés, English o bien poner Ing o Fr o It o Ca ya que el código busca del 1° al 3er caracteres y si decidimos dejar dicho argumento en Blanco o escribimos cualquier otro idioma, entonces el código lo interpretará como Español]

e.g:

Valor en letras

MAY_min: Último argumento opcional con el que podremos elegir el tipo de letras:

Mayúsuclas o podemos poner May, Upper o podemos poner Up, Capitals o bien Ca, Minúsculas o podemos poner Min, Lower o Lo y Non capitals o simplemente Non

¿Y si lo queremos poner la primera letra de cada palabra en mayúscula?

Bastaria con dejar en blanco dicho argumento o con poner por ejemplo: Oración

Ademas de que si escribimos en el argumento de la funcion la palabra: Frase, nos pondrá en mayúscula solamente la primera letra de toda la expresion

Quedan exceptuadas las conjunciones

e.g:

valor en letras

Valor en letras

Además la Función tiene el detalle de:

1.) Si en la celda donde introducimos nuestra cantidad para tranformalo a texto, ponemos cualquier Texto por ejemplo [ hola ] o cualquier signo [ ? / ( etc...] pues sucede lo siguiente:

valor en letras

2.) Si ponemos cualquier número negativo:

Valor en letras

3.) Operar con números de 15 digitos:

Valor en letras

4.) Y si dejamos la celda vacia:

Valor en letras

2ª Funcion: Numero2Letra

http://www.elguille.info/vb/utilidades/cNum2Text.htm

La segunda función de Guillermo Som Cerezo MVP en Visual Basic y que todos conocemos comoel Guille, también nos puede ser útil a la hora de convertir números a letras vamos a comentar dichos argumentos para Excel:

Bien tenemos los siguientes argumentos de la función:

StrNum Argumento requerido donde se introducirá el valor a traducir.

Lo : Argumento Opcional no necesario en Excel ya que su valor por defecto es cero " 0 " y cualquier valor añadido [1, 2, 3, 4, etc...] ocasiona la pérdida de la traducciòn en letra, en la celda donde estamos transcribiendo la función.

Si ponemos cualquier número menor que " 0 " entonces nos dará error en celda: #¡VALOR! [ error de argumento o tipo de operando incorrecto]

NumDecimales: Argumento Opcional que establecerá cuantas posiciones serán incluidas en la conversión de numero a letra.

  • Si establecemos menor que cero "0" nos devolverá #¡VALOR!
  • Si lo omitimos nos devuelve el texto sin decimales
  • Si lo incrementamos por ejemplo hasta 4 decimales .... por ejemplo ponemos lo siguiente:

100.9990 [ cien euros con novecientos noventa y nueve ] y ponemos en el argumento opcional de la función NumDecimales>> 4

nos da un resultado erróneo:

cien euros con nueve mil novecientos noventa céntimos y no es correcto ya que lo correcto es:

pagar 100 euros con noventa y nueve céntimos.

SMoneda: Argumento Opcional donde escribiremos el nombre de la moneda en Singular, este argumento va acompañado del argumento SexoMoneda el cual para la versión de [ VB ] fue creada como un argumento de Opción [ boton de opción ] y para EXCEL es un argumento de usuario con lo cual hay que prever la interactuación con la función. ( esta modificado por Héctor Miguel para el caso de los millones [ mirar archivo final de articulo])

***Omite la expresión"De" por ejemplo: Un millon Euros

Scentimos: Mismos comentarios que el argumento anterior: SMoneda.

SexoMoneda: Argumento opcional para elegir el sexo de la moneda y que hemos comentado en el argumento: SMoneda.

***si se omite ocasiona por ejemplo: Ochocientas Euros con noventa y nueve céntimos

SexoCentimos: Argumento opcional equivalente al comentado en SexoMoneda pero para los Decimales.

e.g:

numero a letra

3ª Función: Numeros_Letras
por Mauricio Baeza y Samuel Monajaras

La tercera función que compone dicho archivo y que os comentamos a continuación:

Consta de dos argumentos Obligatorios:

Numero: Agumento donde introduciremos el valor a traducir

Moneda: Argumento donde se introducirá la moneda y en Singular

***Solo trabaja con masculinos, por ejemplo: Ochocientos Libras

Fraccion_Letras: Argumento donde se puede especificar si lo queremos en número o en letra

  • ***Si lo dejamos vacio entonces nos lo tomara como numero [ Ochocientos Pesos con 99 ]
  • ***Si ponemos cualquier número ya sea positivo o negativo lo tomará como letra [ Ochocientos pesos con noventa y nueve]
  • ***Si por omisión nos equivocamos y ponemos cualquier carácter distinto de un número [ dará error de argumento o operando incorrecto: #¡VALOR!

Fraccion: Argumento en el cual pondremos el texto para los decimanes y en Singular [ Centavo ]

Texto Inicial: Argumento de abertura para encerrar nuestro texto [ ***Ochocientos Pesos con noventa y nueve centavos]

Texto Final: Argumento de cierre para encerrar nuestro texto si asi lo deseamos [ ***Ochocientos euros con noventa y nueve céntimos ***]

***Podéis poner cualquier carácter [ "(", "[", "--", ...]

Estilo: Argumento Opcional que determina el estilo de nuestra traducción:

  • Podemos poner el valor1: Nos lo pone en Mayúscula.
  • Podemos poner el valor 2: Nos lo pone en Minúscula
  • Podemos poner el valor 3: Nos pone en mayúscula la primera letra de cada palabra incluidas las conjunciones.

***Sin Valor: nos pondría mayúsculas por omisión

e.g:

numero a letra

4ª y 5ª Funcion: EnLetras y ConLetras

Función EnLetras publicada en el foro de Excel por Claudio Sepúlveda

Función ConLetras Publicada en el foro de Excel por Guillermo Alonso

***Desconocemos si son los autores originales.

*** Dichas funciones también están mejoradas por Héctor Miguel Orozco

***funciones muy sencillas y válidas sólo para una unidad monetaria [ el Peso] , se pueden utilizar sólo para traducir números a letras.

***Su desarrollo es muy sencillo con un único argumento obligado: El valor a traducir.

e.g:

EnLetras

e.g:

ConLetras

Descarga del archivo aqui desarrollado en este artículo icon Opciones para Números a Letras (126.9 kB)

Esperamos que esta saga de Funciones os haya ayudado a comprender mejor la dificultad y complejidad que tiene el realizar la conversión números a letras como también que sobre todo os haya ayudado en vuestra necesidad y recordad NO hacer mal uso de ellas