La función HASALL le permite comprobar si una matriz o un rango contiene cada uno de los valores que está buscando. Devuelve VERDADERO solo si se encuentran todos los valores y FALSO si falta alguno de ellos.
HASALL busca en todos los niveles de una matriz anidada para que pueda usarlo en matrices almacenadas dentro de una sola celda.
Sintaxis
La función HASALLdetermina si matriz contiene todos los valores.
La sintaxis de la función HASALL es:
HASALL(matriz, valores)
| argumento | Descripción |
|---|---|
|
matriz (obligatorio) |
La matriz o rango en el que se va a buscar. Se busca en todos los niveles de una matriz anidada. |
|
valores (obligatorio) |
Los valores que se van a comprobar. HASALL devuelve VERDADERO solo si se encuentran todos. |
Nota
- HASALL siempre devuelve un único valor VERDADERO o FALSO, independientemente del número de valores que se busquen. Para obtener un resultado por valor, use la función HAS en su lugar. Para comprobar si al menos un valor está presente, use la función HASANY.
- HASALL comprueba si cada valor está presente, no cuántas veces aparece. Repetir un valor en valores no requiere que aparezca más de una vez en la matriz.
- Las comparaciones son estrictas en cuanto al tipo. El número 1 no coincide con el texto "1" y el número 1 no coincide con VERDADERO. Las comparaciones de texto no distinguen mayúsculas de minúsculas, por lo que "apple" coincide con "APPLE".
- Si matriz está vacía, HASALL devuelve el error #CALC! .
- Si un valor contiene un error, se devuelve ese error.
Ejemplos
Copie los datos de ejemplo y péguelos en la celda A1 de una nueva hoja de cálculo de Excel. Si lo necesita, puede ajustar el ancho de las columnas para ver todos los datos.
Ejemplo 1
Compruebe si un rango contiene todos los valores de un conjunto.
| Datos | ||||
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 |
| Fórmulas | Preguntas |
|---|---|
| =HASALL(A2:E2,{2,4}) | ¿Hay 2 y 4 en la lista? |
| =HASALL(A2:E2,{2,9}) | ¿Están el 2 y el 9 en la lista? |
| =HASALL(A2:E2,{1,2,3,4,5,6}) | ¿Están los seis valores en la lista? |
En la siguiente ilustración se muestran los resultados.
Ejemplo 2
Vea cómo HASALL trata los valores repetidos. Comprueba si un valor está presente, no la frecuencia con la que aparece.
| Datos | |
|---|---|
| 1 | 2 |
| Fórmulas | Descripción |
|---|---|
| =HASALL(A2:B2,{2,2,2}) | Devuelve TRUE. El valor 2 está presente, que es todo lo que se requiere |
| =HASALL(A2:B2,{1,2,3}) | Devuelve FALSE. Falta el valor 3 |
En la siguiente ilustración se muestran los resultados.
Ejemplo 3
Buscar dentro de una matriz anidada. La fórmula ={{{1,2};{3,4}}} de la celda A1 almacena una matriz anidada en una sola celda.
| Fórmulas | Descripción |
|---|---|
| =HASALL(A1,{2,3}) | Devuelve TRUE. HASALL busca en todos los niveles, por lo que se encuentran 2 dentro {1,2} y 3 dentro {3,4} |
| =HASALL(A1,{2,5}) | Devuelve FALSE. El valor 5 no aparece en ningún nivel |
En la siguiente ilustración se muestran los resultados.
Ejemplo 4
Comprueba que una fila esté etiquetada con todas las etiquetas necesarias. Cada celda de la columna B contiene una lista de etiquetas, que se muestran separadas por comas.
Después de pegar los datos, seleccione B2:B3 y presione Ctrl+J para convertir cada celda en una lista. Hasta que lo haga, cada celda contiene un solo fragmento de texto y las fórmulas siguientes no encontrarán las etiquetas individuales.
| Artículo | Etiquetas |
|---|---|
| Producto A | urgente, revisión, Q1 |
| Producto B | urgente, Q1 |
| Fórmulas | Descripción |
|---|---|
| =HASALL(B2,{"urgente","revisión"}) | Devuelve TRUE. El producto A tiene ambas etiquetas |
| =HASALL(B3,{"urgente","revisión"}) | Devuelve FALSE. El producto B no está etiquetado como reseña |
En la siguiente ilustración se muestran los resultados.