Error en cálculos con campos igual a cero o vacíos

Utilizo esta función para evitar errores en campos vacíos o iguales a cero pero no lo consigo evitar y no ae donde pueda estar la equivocación:

=SiInm(IsError([MEDIASEVENTOS].[Formulario]![Importes]/[MEDIASEVENTOS].[Formulario]![TotalDias]);0;([MEDIASEVENTOS].[Formulario]![Importes]/[MEDIASEVENTOS].[Formulario]![TotalDias]))

Los Campos: [Importes] y [TotalDias] tienen colocado la función Silnm y allí me coloca un cero en campos sin datos pero en la división no logro evitarlo.

2 respuestas

Respuesta
2

Efectivamente cualquier división por cero te dará error, pero puedes jugar con la función Nz. Esta función si la pones a palo seco te transforma los nulos en ceros, pero también la puedes poner como

nz([uncampo],1)

entonces te transformaría los nulos en 1. Por ejemplo

div=nz([uno])/nz([otro],1)

En el caso de que Uno fuera nulo te lo trata como cero, y si Otro fuera nulo te lo trataría como 1, por tanto la división sería

div=0/1=0

Respuesta
2

Una división por cero siempre da error.

Tienes que controlar que el campo divisor no tenga un cero, si lo tiene poner tú el valor manualmente:

=Silnm(TotalDias=0;0;Importes/TotalDias)

He adaptado esto a mi aplicación:

=Silnm([MEDIASENTREGASACUENTA].[Formulario]![TotalDias]=0;0;([MEDIASENTREGASACUENTA].[Formulario]![Importes])/([MEDIASENTREGASACUENTA].[Formulario]![TotalDias])) 

Y me esta dando este error: #¿Nombre?

he adaptado esto:

=Silnm([MEDIASENTREGASACUENTA].[Formulario]![TotalDias]=0;0;([MEDIASENTREGASACUENTA].[Formulario]![Importes])/([MEDIASENTREGASACUENTA].[Formulario]![TotalDias]))

y me esta dando este error: #¿Nombre?

El formato para nombrar los campos no es correcto, debe ser:

Formularios! NombreFormulario. NombreCampo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas