A função HASALL permite-lhe verificar se uma matriz ou intervalo contém todos os valores que procura. Devolve VERDADEIRO apenas se todos os valores forem encontrados e FALSO se algum estiver em falta.
HASALL procura em todos os níveis de uma matriz aninhada, para que possa utilizá-la em matrizes armazenadas numa única célula.
Sintaxe
A função HASALL determina se a matriz contém todos os valores.
A sintaxe da função HASALL é:
HASALL(matriz; valores)
| Argumento | Descrição |
|---|---|
|
matriz (obrigatório) |
A matriz ou intervalo no qual procurar. Cada nível de uma matriz aninhada é pesquisado. |
|
Valores (obrigatório) |
Os valores a verificar. HASALL devolve VERDADEIRO apenas se todos forem localizados. |
Nota
- HASALL sempre retorna um único TRUE ou FALSE, não importa quantos valores você procure. Para obter um resultado por valor, utilize antes a função HAS. Para verificar se pelo menos um valor está presente, utilize a função HASANY.
- HASALL verifica se cada valor está presente, não quantas vezes aparece. Repetir um valor em valores não requer que apareça mais do que uma vez na matriz.
- As comparações são rigorosas quanto ao tipo. O número 1 não corresponde ao texto "1" e o número 1 não corresponde a VERDADEIRO. As comparações de texto não são sensíveis a maiúsculas e minúsculas, pelo que "maçã" corresponde a "MAÇÃ".
- Se matriz estiver em branco, HASALL devolve o erro #CALC! .
- Se os valores contiverem um erro, esse erro é devolvido.
Exemplos
Copie os dados de exemplo e copie-os na célula A1 de uma nova folha de cálculo do Excel. Se quiser, pode ajustar as larguras das colunas para ver todos os dados.
Exemplo 1
Verificar se um intervalo contém todos os valores num conjunto.
| Dados | ||||
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 |
| Fórmulas | Perguntas |
|---|---|
| =HASALL(A2:E2,{2,4}) | Os números 2 e 4 estão na lista? |
| =HASALL(A2:E2,{2,9}) | Os números 2 e 9 estão na lista? |
| =HASALL(A2:E2,{1,2,3,4,5,6}) | Todos os seis valores estão na lista? |
A ilustração seguinte mostra os resultados.
Exemplo 2
Veja como HASALL lida com os valores repetidos. Verifica se um valor está presente e não a frequência com que é apresentado.
| Dados | |
|---|---|
| 1 | 2 |
| Fórmulas | Descrição |
|---|---|
| =HASALL(A2:B2,{2,2,2}) | Devolve VERDADEIRO. O valor 2 está presente, que é tudo o que é necessário |
| =HASALL(A2:B2,{1,2,3}) | Devolve FALSO. O valor 3 está em falta |
A ilustração seguinte mostra os resultados.
Exemplo 3
Procure dentro de uma matriz aninhada. A fórmula ={{{1,2};{3,4}}} na célula A1 armazena uma matriz aninhada numa única célula.
| Fórmulas | Descrição |
|---|---|
| =HASALL(A1,{2,3}) | Devolve VERDADEIRO. HASALL procura todos os níveis, então 2 é encontrado dentro {1,2} e 3 dentro {3,4} |
| =HASALL(A1,{2,5}) | Devolve FALSO. O valor 5 não aparece em nenhum nível |
A ilustração seguinte mostra os resultados.
Exemplo 4
Verifique se uma linha está etiquetada com todas as etiquetas necessárias. Cada célula na coluna B contém uma Lista de etiquetas, apresentadas separadas por vírgulas.
Depois de colar os dados, selecione B2:B3 e prima Ctrl+J para transformar cada célula numa Lista. Até lá, cada célula contém um único pedaço de texto e as fórmulas abaixo não irão localizar as etiquetas individuais.
| Item | Etiquetas |
|---|---|
| Produto A | urgente, revisão, Q1 |
| Produto B | urgente, Q1 |
| Fórmulas | Descrição |
|---|---|
| =HASALL(B2,{"urgente","rever"}) | Devolve VERDADEIRO. O produto A tem ambas as etiquetas |
| =HASALL(B3,{"urgente","rever"}) | Devolve FALSO. Produto B não é marcado revisão |
A ilustração seguinte mostra os resultados.