Tabla de contenido
El tutorial explica qué es ISNUMBER en Excel y proporciona ejemplos de usos básicos y avanzados.
El concepto de la función ISNUMBER en Excel es muy simple: sólo comprueba si un valor dado es un número o no. Un punto importante aquí es que los usos prácticos de la función van mucho más allá de su concepto básico, especialmente cuando se combina con otras funciones dentro de fórmulas más grandes.
Función ISNUMBER de Excel
La función ISNUMBER de Excel comprueba si una celda contiene un valor numérico o no. Pertenece al grupo de funciones IS.
La función está disponible en todas las versiones de Excel para Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 e inferiores.
La sintaxis ISNUMBER sólo requiere un argumento:
=ISNUMBER(valor)
Dónde valor es el valor que desea comprobar. Normalmente, está representado por una referencia de celda, pero también puede proporcionar un valor real o anidar otra función dentro de ISNUMBER para comprobar el resultado.
Si valor es numérico, la función devuelve TRUE. Para cualquier otra cosa (valores de texto, errores, espacios en blanco) ISNUMBER devuelve FALSE.
Como ejemplo, probemos los valores de las celdas A2 a A6, y descubriremos que los 3 primeros valores son números y los dos últimos son texto:
2 cosas que debe saber sobre la función ISNUMBER en Excel
Hay un par de puntos interesantes que señalar aquí:
- En representación interna de Excel, fechas y veces son valores numéricos, por lo que la fórmula ISNUMBER devuelve TRUE para ellos (véase B3 y B4 en la captura de pantalla anterior).
- Para los números almacenados como texto, la función ISNUMBER devuelve FALSE (véase este ejemplo).
Ejemplos de fórmulas ISNUMBER en Excel
Los siguientes ejemplos muestran algunos usos comunes y un par de usos no triviales de ISNUMBER en Excel.
Comprobar si un valor es un número
Cuando tienes un montón de valores en tu hoja de cálculo y quieres saber cuáles son números, ISNUMBER es la función adecuada.
En este ejemplo, el primer valor se encuentra en A2, por lo que utilizamos la siguiente fórmula para comprobarlo y, a continuación, arrastramos la fórmula hacia abajo a tantas celdas como sea necesario:
=ISNUMBER(A2)
Preste atención a que, aunque todos los valores parecen números, la fórmula ISNUMBER ha devuelto FALSE para las celdas A4 y A5, lo que significa que esos valores son cadenas numéricas Puede haber diferentes razones para ello, por ejemplo, ceros a la izquierda, apóstrofe precedente, etc. Sea cual sea la razón, Excel no reconoce tales valores como números. Por lo tanto, si sus valores no se calculan correctamente, lo primero que debe comprobar es si son realmente números en términos de Excel y, a continuación, convertir el texto en número si es necesario.
Fórmula BUSCAR ISNUMBER en Excel
Además de identificar números, la función ISNUMBER de Excel también puede comprobar si una celda contiene un texto específico como parte del contenido. Para ello, utilice ISNUMBER junto con la función BUSCAR.
En su forma genérica, la fórmula es la siguiente:
ISNUMBER(SEARCH( subcadena , célula ))Dónde subcadena es el texto que desea encontrar.
Como ejemplo, comprobemos si la cadena en A3 contiene un color específico, digamos rojo:
=ISNUMBER(BUSCAR("rojo", A3))
Esta fórmula funciona bien para una sola celda. Pero como nuestra tabla de ejemplo (véase más abajo) contiene tres colores diferentes, escribir una fórmula distinta para cada uno sería una pérdida de tiempo. En su lugar, haremos referencia a la celda que contiene el color de interés (B2).
=ISNUMBER(SEARCH(B$2, $A3))
Para que la fórmula se copie correctamente hacia abajo y hacia la derecha, asegúrese de bloquear las siguientes coordenadas con el signo $:
- En subcadena bloquea la fila (B$2) para que las fórmulas copiadas siempre recojan las subcadenas de la fila 2. La referencia de columna es relativa porque queremos que se ajuste para cada columna, es decir, cuando la fórmula se copie en C3, la referencia de subcadena cambiará a C$2.
- En el célula fuente de referencia, bloquea la columna ($A3) para que todas las fórmulas comprueben los valores de la columna A.
La siguiente captura de pantalla muestra el resultado:
ISNUMBER FIND - fórmula que distingue mayúsculas de minúsculas
Como la función BUSCAR es distingue entre mayúsculas y minúsculas La fórmula anterior no distingue entre mayúsculas y minúsculas. Si busca una fórmula que distinga entre mayúsculas y minúsculas, utilice la función BUSCAR en lugar de BUSCAR.
ISNUMBER(ENCONTRAR( subcadena , célula ))Para nuestro conjunto de datos de muestra, la fórmula tendría esta forma:
=ISNUMBER(FIND(B$2, $A3))
Cómo funciona esta fórmula
La lógica de la fórmula es bastante obvia y fácil de seguir:
- La función BUSCAR / ENCONTRAR busca la subcadena en la celda especificada. Si se encuentra la subcadena, se devuelve la posición del primer carácter. Si no se encuentra la subcadena, la función produce un error #¡VALOR!
- La función ISNUMBER parte de ahí y procesa las posiciones numéricas. Así, si se encuentra la subcadena y su posición se devuelve como un número, ISNUMBER devuelve TRUE. Si no se encuentra la subcadena y se produce un error #VALUE! ISNUMBER devuelve FALSE.
fórmula IF ISNUMBER
Si desea obtener una fórmula que produzca algo distinto de VERDADERO o FALSO, utilice ISNUMBER junto con la función IF.
Ejemplo 1. La celda contiene qué texto
Siguiendo con el ejemplo anterior, supongamos que desea marcar el color de cada elemento con una "x" como se muestra en la tabla siguiente.
Para ello, simplemente envuelva la fórmula ISNUMBER SEARCH en la sentencia IF:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Si ISNUMBER devuelve TRUE, la función IF da como resultado "x" (o cualquier otro valor que proporcione a la función value_if_true Si ISNUMBER devuelve FALSE, la función IF muestra una cadena vacía ("").
Ejemplo 2. El primer carácter de una celda es un número o un texto
Imagina que trabajas con una lista de cadenas alfanuméricas y quieres saber si el primer carácter de una cadena es un número o una letra.
Para construir una fórmula de este tipo, necesitaremos 4 funciones diferentes:
- La función IZQUIERDA extrae el primer carácter del principio de una cadena, digamos en la celda A2:
IZQUIERDA(A2, 1)
- Dado que LEFT pertenece a la categoría de funciones de Texto, su resultado es siempre una cadena de texto, aunque sólo contenga números. Por lo tanto, antes de comprobar el carácter extraído, debemos intentar convertirlo en un número. Para ello, utilice la función VALUE o el operador unario doble:
VALOR(IZQUIERDA(A2, 1))
o(--LEFT(A2, 1))
- La función ISNUMBER determina si el carácter extraído es numérico o no:
ISNUMBER(VALUE(LEFT(A2, 1)))
- En función del resultado ISNUMBER (TRUE o FALSE), la función IF devuelve "Número" o "Letra", respectivamente.
Suponiendo que estamos probando una cadena en A2, la fórmula completa toma esta forma:
=IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Número", "Letra")
o
=IF(ISNUMBER(--LEFT(A2, 1)), "Número", "Letra")
La función ISNUMBER también resulta útil para extraer números a partir de una cadena. He aquí un ejemplo: Obtener un número a partir de cualquier posición de una cadena.
Comprobar si un valor no es un número
Aunque Microsoft Excel dispone de una función especial, ISNONTEXT, para determinar si el valor de una celda no es texto, falta una función análoga para los números.
Una solución fácil es utilizar ISNUMBER en combinación con NOT que devuelve lo contrario de un valor lógico. En otras palabras, cuando ISNUMBER devuelve TRUE, NOT lo convierte en FALSE, y al revés.
Para verlo en acción, observe los resultados de la siguiente fórmula:
=NOT(ISNUMBER(A2))
Otro método consiste en utilizar conjuntamente las funciones IF e ISNUMBER:
=IF(ISNUMBER(A2), "", "No número")
Si A2 es numérico, la fórmula no devuelve nada (una cadena vacía). Si A2 no es numérico, la fórmula lo dice de entrada: "No es un número".
Si desea realizar cálculos con números, introduzca una ecuación u otra fórmula en el campo value_if_true en lugar de una cadena vacía. Por ejemplo, la fórmula siguiente multiplicará los números por 10 y mostrará "No es un número" para los valores no numéricos:
=IF(ISNUMBER(A2), A2*10, "No número")
Comprobar si un rango contiene algún número
Si desea comprobar todo el rango de números, utilice la función ISNUMBER en combinación con SUMPRODUCT de la siguiente forma:
SUMPRODUCTO(--ISNÚMERO( gama ))>0 SUMPRODUCT(ISNUMBER( gama )*1)>0Por ejemplo, para averiguar si el rango A2:A5 contiene algún valor numérico, las fórmulas serían las siguientes:
=SUMPRODUCT(--ISNUMBER(A2:A5))>0
=SUMPRODUCT(ISNUMBER(A2:A5)*1)>0
Si desea obtener "Sí" y "No" en lugar de VERDADERO y FALSO, utilice la sentencia IF como "envoltorio" de las fórmulas anteriores. Por ejemplo:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Sí", "No")
Cómo funciona esta fórmula
En el corazón de la fórmula, la función ISNUMBER evalúa cada celda del rango especificado, digamos B2:B5, y devuelve TRUE para los números, FALSE para cualquier otra cosa. Como el rango contiene 4 celdas, el array tiene 4 elementos:
{VERDADERO;FALSO;FALSO;FALSO}
La operación de multiplicación o el doble unario (--) coacciona TRUE y FALSE en 1's y 0's, respectivamente:
{1;0;0;0}
La función SUMPRODUCT suma los elementos de la matriz. Si el resultado es mayor que cero, significa que hay al menos un número el rango. Por lo tanto, se utiliza ">0" para obtener un resultado final de TRUE o FALSE.
ISNUMBER en formato condicional para resaltar celdas que contienen cierto texto
Si desea resaltar celdas o filas enteras que contengan un texto específico, cree una regla de formato condicional basada en la fórmula BUSCAR NÚMERO (no distingue mayúsculas de minúsculas) o BUSCAR NÚMERO (distingue mayúsculas de minúsculas).
Para este ejemplo, vamos a resaltar las filas basándonos en el valor de la columna A. Más concretamente, resaltaremos los elementos que contengan la palabra "rojo". A continuación le explicamos cómo:
- Seleccione todas las filas de datos (A2:C6 en este ejemplo) o sólo la columna en la que desea resaltar las celdas.
- En el Inicio en la pestaña Estilos grupo, haga clic en Nueva norma > Utilizar una fórmula para determinar qué celdas formatear .
- En el Formatear los valores en los que esta fórmula es verdadera introduzca la fórmula siguiente (observe que la coordenada de la columna está bloqueada con el signo $):
=ISNUMBER(BUSCAR("rojo", $A2))
- Haga clic en el botón Formato y elija el formato que desee.
- Haga clic dos veces en Aceptar.
Si tienes poca experiencia con el formato condicional de Excel, puedes encontrar los pasos detallados con capturas de pantalla en este tutorial: Cómo crear una regla de formato condicional basada en fórmulas.
Como resultado, se resaltan todos los elementos de color rojo:
En lugar de "codificar" el color en la regla de formato condicional, puede escribirlo en una celda predefinida, por ejemplo E2, y hacer referencia a esa celda en su fórmula (tenga en cuenta la referencia de celda absoluta $E$2). Además, debe comprobar si la celda de entrada no está vacía:
=AND(ISNUMBER(SEARCH($E$2, $A2)), $E$2"")
Como resultado, obtendrá una regla más flexible que resaltará las filas en función de lo que introduzca en E2:
Así es como se utiliza la función ISNUMBER en Excel. Te doy las gracias por leer y ¡espero verte en nuestro blog la semana que viene!
Descargas disponibles
Ejemplos de fórmulas ISNUMBER en Excel