Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función definida por el usuario: Par-Impar

| 6 comentarios

Descripción:

La función implementada es par_o_impar, la función recibirá como parámetro un número y devolverá par o impar dependiendo si el número al ser dividido sobre dos devuelve como residuo cero (PAR) o uno (IMPAR)

Ejemplo:

Function par_o_impar(a)

x = a Mod 2
If (x = 0) Then
par_o_impar = "Par"
Else
par_o_impar = "Impar"
End If

End Function

Elaborado por: Luis Pinto

Existen ocasiones en las que una labor que puede parecer sencilla como es determinar si un número es  par o impar, parecía ser trivial sin embargo es frecuente que ante esos casos, lo mas conveniente sea contar con una UDF (función definida por el usuario), con la cual en caso de que se requiera realizar alguna actualización sobre la misma, si el comportamiento esta definido en una sola función, entonces bastará que la actualización se realice en solo un punto, y todas las invocaciones que se realicen quedarán afectadas, no será necesario tener que identificar a todos los programas que ejecutan esta rutina sino el cambio sería solo una vez desde la misma rutina.

6 comentarios

  1. es innecesario crear un variable, la condición podría ser (a MOD 2)=0,
    y se evita definir y usar una variable local

  2. Sería buena idea verificar antes que para el valor de cero no de Par ni impar, además que para residuos diferentes a 0 y 1, es decir para números que no son enteros, de un mensaje de error.
    Pues según esta función 0 es par, y 4.5 es Impar

    Function par_o_impar(a)

    If a 0 Then
    If (a Mod 2 = 0) Then
    par_o_impar = "Par"
    Else
    par_o_impar = "Impar"
    End If
    Else
    par_o_impar = "Cero_No_Es_Valido"
    End If
    End Function

  3. Pero existe funciones propias en excel que te devuelve su es que un numero es par o impar pór ejemplo ES.PAR, ES.IMPAR creo q es suficiente esto no ? creo el echo q me diga q es verdadero o falso es suficiente

  4. bueno al parecer e probado la función es.par si en una celda esta 2.5 me detecta como par esta tomando la parte entera bueno ami parecer eso esta mal porque no es par solo toma partes enteras
    bueno entonces necesitaríamos una UDF para ser mas preciso

  5. Gracias, me vino muy bien

  6. Aunque sé que el tema es de hace mucho tiempo, siempre hay gente que consulta y aún hay dudas, decir que en Excel VBA existe una función propia que da como resultado TRUE si es par y FALSE si es impar:
    WorksheetFunction.IsEven(Numero_a_Verificar)

Deja una respuesta

Los campos requeridos estan marcados con *.