El tutorial explica qué es ISNUMBER en Excel y proporciona ejemplos de usos básicos y avanzados.
El concepto de la función ESNUMERO en Excel es muy simple: solo verifica 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 ESNUMERO de Excel
La función ESNUMERO en Excel verifica 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 y anteriores.
La sintaxis de ESNUMERO requiere solo un argumento:
=ISNUMBER(value)
Donde valor es el valor que desea probar. Por lo general, se representa mediante una referencia de celda, pero también puede proporcionar un valor real o anidar otra función dentro de ESNUMERO para verificar el resultado.
Si el valor es numérico, la función devuelve VERDADERO. Para cualquier otra cosa (valores de texto, errores, espacios en blanco), ESNUMERO devuelve FALSO.
Como ejemplo, probemos los valores en las celdas A2 a A6, y descubriremos que los primeros 3 valores son números y los dos últimos son texto:
2 cosas que debes saber sobre la función ESNUMERO en Excel
Hay un par de puntos interesantes a tener en cuenta aquí:
- En la representación interna de Excel, fechas y veces son valores numéricos, por lo que la fórmula ESNÚMERO devuelve VERDADERO para ellos (consulte B3 y B4 en la captura de pantalla anterior).
- Para números almacenados como texto, la función ESNUMERO devuelve FALSO (ver este ejemplo).
Ejemplos de la fórmula ESNUMERO en Excel
Los siguientes ejemplos demuestran algunos usos comunes y un par de usos no triviales de ESNUMERO en Excel.
Comprobar si un valor es un número
Cuando tiene un montón de valores en su hoja de trabajo y quiere saber cuáles son números, ESNUMERO es la función correcta para usar.
En este ejemplo, el primer valor está en A2, por lo que usamos la siguiente fórmula para verificarlo y luego arrastramos la fórmula a tantas celdas como sea necesario:
=ISNUMBER(A2)
Preste atención a que, aunque todos los valores parecen números, la fórmula ESNÚMERO ha devuelto FALSO para las celdas A4 y A5, lo que significa que esos valores son cadenas numéricas, es decir, números con formato de texto. Puede haber diferentes razones para esto, por ejemplo, ceros iniciales, apóstrofe anterior, etc. Cualquiera que sea la razón, Excel no reconoce estos valores como números. Por lo tanto, si sus valores no se calculan correctamente, lo primero que debe verificar es si realmente son números en términos de Excel y luego convertir texto a número si es necesario.
Fórmula de BÚSQUEDA DE NÚMERO de Excel
Además de identificar números, la función ESNUMERO de Excel también puede verificar si una celda contiene texto específico como parte del contenido. Para ello, utilice ESNUMERO junto con la función BUSCAR.
En la forma genérica, la fórmula se ve así:
ESNUMERO(BUSCAR(subcadena, celda))
Donde subcadena es el texto que desea buscar.
Como ejemplo, verifiquemos si la cadena en A3 contiene un color específico, digamos rojo:
=ISNUMBER(SEARCH("red", A3))
Esta fórmula funciona muy bien para una sola celda. Pero debido a que nuestra tabla de muestra (consulte a continuación) contiene tres colores diferentes, escribir una fórmula separada para cada uno sería una pérdida de tiempo. En su lugar, nos referiremos 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 la referencia de subcadena, bloquee la fila (B$2) para que las fórmulas copiadas siempre seleccionen las subcadenas en la fila 2. La referencia de columna es relativa porque queremos que se ajuste para cada columna, es decir, cuando la fórmula se copia a C3, la subcadena la referencia cambiará a C$2.
- En la referencia de celda de origen, bloquee la columna ($A3) para que todas las fórmulas verifiquen los valores en la columna A.
La siguiente captura de pantalla muestra el resultado:
ISNUMBER FIND – fórmula que distingue entre mayúsculas y minúsculas
Como la función de BÚSQUEDA no distingue entre mayúsculas y minúsculas, la fórmula anterior no diferencia 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.
ESNUMERO(ENCONTRAR(subcadena, celda))
Para nuestro conjunto de datos de muestra, la fórmula tomarí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 genera un #¡VALOR! error.
- La función ESNUMERO lo toma desde allí y procesa posiciones numéricas. Entonces, si se encuentra la subcadena y su posición se devuelve como un número, ESNÚMERO genera VERDADERO. Si no se encuentra la subcadena y aparece #¡VALOR! se produce un error, ESNUMERO genera FALSO.
Fórmula SI ES NÚMERO
Si su objetivo es obtener una fórmula que genere algo que no sea VERDADERO o FALSO, use ESNÚMERO junto con la función SI.
Ejemplo 1. Celda que contiene qué texto
Tomando el ejemplo anterior más allá, suponga que desea marcar el color de cada elemento con una «x» como se muestra en la siguiente tabla.
Para hacer esto, simplemente envuelva el Fórmula de BÚSQUEDA DE NÚMERO en la instrucción IF:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Si ESNUMERO devuelve VERDADERO, la función SI genera «x» (o cualquier otro valor que proporcione al argumento valor_si_verdadero). Si ESNUMERO devuelve FALSO, la función SI genera una cadena vacía («»).
Ejemplo 2. El primer carácter de una celda es un número o texto
Imagine que está trabajando con una lista de cadenas alfanuméricas y desea saber si el primer carácter de una cadena es un número o una letra.
Para construir una fórmula de este tipo, necesitará 4 funciones diferentes:
- La función IZQUIERDA extrae el primer carácter desde el comienzo de una cadena, digamos en la celda A2:
LEFT(A2, 1)
- Debido a que IZQUIERDA pertenece a la categoría de funciones de Texto, su resultado es siempre una cadena de texto, incluso si solo contiene números. Por lo tanto, antes de verificar el carácter extraído, debemos intentar convertirlo en un número. Para esto, use la función VALOR o el operador unario doble:
VALUE(LEFT(A2, 1))
o(--LEFT(A2, 1))
- La función ESNUMERO determina si el carácter extraído es numérico o no:
ISNUMBER(VALUE(LEFT(A2, 1)))
- Según el resultado de ESNÚMERO (VERDADERO o FALSO), la función SI 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))), "Number", "Letter")
o
=IF(ISNUMBER(--LEFT(A2, 1)), "Number", "Letter")
La función ESNUMERO también es útil para extrayendo numeros de una cadena. He aquí un ejemplo: Obtenga el número de cualquier posición en una cadena.
Comprobar si un valor no es un número
Aunque Microsoft Excel tiene una función especial, ESNOTEXTO, 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 usar ESNUMERO en combinación con NOT que devuelve el opuesto de un valor lógico. En otras palabras, cuando ESNUMERO devuelve VERDADERO, NO lo convierte en FALSO y viceversa.
Para verlo en acción, observe los resultados de la siguiente fórmula:
=NOT(ISNUMBER(A2))
Otro enfoque es usar las funciones IF y ESNUMBER juntas:
=IF(ISNUMBER(A2), "", "Not number")
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 por adelantado: «No es un número».
Si desea realizar algunos cálculos con números, coloque una ecuación u otra fórmula en el argumento valor_si_verdadero en lugar de una cadena vacía. Por ejemplo, la siguiente fórmula multiplicará los números por 10 y producirá «No es un número» para valores no numéricos:
=IF(ISNUMBER(A2), A2*10, "Not number")
Comprobar si un rango contiene algún número
En una situación en la que desee probar todo el rango de números, use la función ESNUMERO en combinación con SUMPRODUCT de esta manera:
SUMAPRODUCTO(–ESNUMERO(rango))>0
SUMAPRODUCTO(ESNUMERO(rango)*1)>0
Por 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 generar «Sí» y «No» en lugar de VERDADERO y FALSO, utilice la declaración IF como un «envoltorio» para las fórmulas anteriores. Por ejemplo:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Yes", "No")
Cómo funciona esta fórmula
En el corazón de la fórmula, la función ESNUMERO evalúa cada celda del rango especificado, digamos B2:B5, y devuelve VERDADERO para números, FALSO para cualquier otra cosa. Como el rango contiene 4 celdas, la matriz tiene 4 elementos:
{TRUE;FALSE;FALSE;FALSE}
La operación de multiplicación o el doble unario (–) convierte a VERDADERO y FALSO en 1 y 0, respectivamente:
{1;0;0;0}
La función SUMAPRODUCTO suma los elementos de la matriz. Si el resultado es mayor que cero, eso significa que hay al menos un número en el rango. Entonces, usa «>0» para obtener un resultado final de VERDADERO o FALSO.
ESNUMERO en formato condicional para resaltar celdas que contienen cierto texto
Si busca resaltar celdas o filas enteras que contienen texto específico, cree una regla de formato condicional basada en el BÚSQUEDA DE NÚMERO (sin distinción entre mayúsculas y minúsculas) o ENCONTRAR NÚMERO (sensible a mayúsculas y minúsculas) fórmula.
Para este ejemplo, resaltaremos las filas según el valor de la columna A. Más precisamente, resaltaremos los elementos que contienen la palabra «rojo». Así es cómo:
- Seleccione todas las filas de datos (A2:C6 en este ejemplo) o solo la columna en la que desea resaltar las celdas.
- En la pestaña Inicio, en el grupo Estilos, haga clic en Nueva regla > Usar una fórmula para determinar a qué celdas dar formato.
- En el cuadro Formatear valores donde esta fórmula es verdadera, ingrese la siguiente fórmula (tenga en cuenta que la coordenada de la columna está bloqueada con el signo $):
=ISNUMBER(SEARCH("red", $A2))
- Haga clic en el botón Formato y elija el formato que desee.
- Haga clic en Aceptar dos veces.
Si tiene poca experiencia con el formato condicional de Excel, puede 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 del color rojo:
En lugar de «codificar» el color en la regla de formato condicional, puede escribirlo en una celda predefinida, digamos E2, y hacer referencia a esa celda en su fórmula (tenga en cuenta la referencia de celda absoluta $E$2). Además, debe verificar 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 resalta las filas según su entrada en E2:
Así es como se usa la función ESNUMERO en Excel. ¡Gracias por leer y espero verte en nuestro blog la próxima semana!