viernes, septiembre 04, 2015

Las funciones ESERR, ESERROR, ESNOD de Excel

Bajo la categoría Información encontramos en Excel varias funciones para administrar errores. Estas funciones evalúan si una celda contiene un valor de error. Estas funciones dan como resultado un valor VERDADERO o FALSO (funciones booleanas) y por lo general las usamos combinadas con la función SI.


  • ESERROR: Valor se refiere a uno de los valores de error (#N/A, #¡VALOR!, #¡REF!, #¡DIV/0!, #¡NUM!, #¿NOMBRE? o #¡NULO!)
  • ESERR: Valor se refiere a cualquier valor de error excepto #N/A.
  • ESNOD: Valor se refiere al valor de error #N/A (el valor no está disponible).

A partir de Excel 2007 disponemos también de la función SI.ERROR.

A primera vista parece superfluo que Microsoft haya desarrollado tres funciones que hacer prácticamente lo mismo. Pero no todos los errores son iguales y de hecho, algunos de ellos no son errores en el sentido estricto de la palabra.

Consideremos el error #¡DIV/0! que nos indica que se ha tratado de dividir un número por cero. Esto es obviamente un error.

Consideremos ahora #N/A. Este "error" indica que el valor buscado no está disponible, como en este ejemplo


Las fórmulas en la columna F calculan la inversa (1/n) del valor correspondiente al color según la tabla B2:C8. Si el valor es cero, como en el caso de los colores blanco o negro, en lugar del error #DIV/0, queremos que aparezca 0. Lo logramos, por ejemplo, con la fórmula

=SI.ERROR(1/BUSCARV(F2,tblColorValor[#Datos],2,0),0)

Pero si el color no figura en la tabla, como en el caso de "Naranja", queremos que aparezca #N/A para saber que el color falta.
En este sentido tampoco #¡VALOR! o #¡NUM! son errores en todos los casos.

Otra función digna de mención es TIPO.DE.ERROR

Esat función da como resultado un número que corresponde a uno de los valores de error de Microsoft Excel o da el error #N/A si no existe ningún error. Combinada con la función SI nos permite dar resultados distintos, como un texto informativo, de acuerdo al tipo de error,


lunes, agosto 31, 2015

La función DELTA de Excel

Siguiendo con mi (inintencionada) serie "Funciones Excel poco usadas" hoy veremos la función DELTA().
En realidad no hay mucho que podamos decir sobre esta función. La definición es bien escueta: Prueba si dos números son iguales; si lo son, da como resultado 1, en caso contrario el resultado es 0


Podríamos afirmar que esta función es innecesaria ya que la simplísima fórmula =A1=A2 daría el mismo resultado (en realidad da VERDADERO en lugar de 1 y FALSO en lugar de 0). Sin embargo esta función tiene una ventaja sobre la comparación (la fórmula que mostramos más arriba): permite comparar números con textos que representan números o textos que representan números entre si.


La celda A1 contiene el número 31; la celda A2 contiene el texto 31 (nótese que va precedido de una comilla). La celda C2 contiene la fórmula =DELTA(A1,A2); la celda D2 contiene la fórmula =A1=A2.

Otra situación donde la comparación no nos sirve es cuando los valores a comparar son números como texto pero con espacios antes o después de las cifras (sitaución que suele darse cuando importamos datos de una base de datos a Excel).


En este ejemplo, la celda A2 contiene el texto 31 precedido de tres espacios; la celda A3 contiene 31 seguido por siete espacios. DELTA da 1, es decir, los considera iguales; la fórmula =A2=A3 da FALSO.


jueves, agosto 27, 2015

Las funciones TRUNCAR y ENTERO de Excel

Excel tiene dos funciones para extraer la parte entera de un número: TRUNCAR() y ENTERO(). Si bien en principio puede parecer una redundancia, no lo es.

ENTERO() toma como argumento un número y lo redondea al entero inferior más próximo.

TRUNCAR() suprime la parte fraccionaria de un número. A diferencia de la función ENTERO, TRUNCAR tiene un argumento opcional: número de decimales.

Dado que ENTERO redondea hacia abajo y TRUNCAR suprimer la parte decimal, el resultado será el mismo si el argumento es un número positivo, pero distinto si el número es negativo


Como TRUNCAR tiene el argumento opcional "num_decimales" la fórmula =TRUNCAR(64.5894,1) da como resultado 64.5, a diferencia de REDONDEAR(64.5894,1) que dá 64.6.

Otro uso de TRUNCAR y ENTERO es obtener la fecha sin las horas

Las fechas en Excel son números positivos donde la parte entera es la fecha y la parte decimal la hora (como he explicado en esta nota). Por lo tanto ENTERO y TRUNCAR quitan la parte "horaria" (decimal) y dejan la parte "entera" (la fecha).