Função HASALL

Aplica-se A
Excel para Microsoft 365 Excel para Microsoft 365 para Mac

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.

Utilizar HASALL para verificar se um intervalo contém todos os valores num conjunto

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.

Utilizar HASALL para mostrar que os valores de pesquisa repetida só precisam de estar presentes uma vez

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.

Utilizar HASALL para procurar dentro de uma matriz aninhada armazenada numa única célula

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.

Utilizar HASALL para verificar se uma célula com uma matriz aninhada de etiquetas inclui todas as etiquetas necessárias