Função HASALL

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

A função HASALL permite marcar se uma matriz ou intervalo contém todos os valores que você está procurando. Ele retornará VERDADEIRO somente se todos os valores forem encontrados e FALSO se algum deles estiver ausente.

O HASALL pesquisa todos os níveis de uma matriz aninhada, para que você possa usá-lo em matrizes armazenadas dentro de uma ú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 para pesquisar. Cada nível de uma matriz aninhada é pesquisado.
valores
(obrigatório)
Os valores a serem marcados. HASALL retornará TRUE somente se todos eles forem encontrados.

Observação

  • O HASALL sempre retorna um único TRUE ou FALSE, não importa quantos valores você pesquise. Para obter um resultado por valor, use a função HAS. Para marcar se pelo menos um valor está presente, use a função HASANY .
  • O HASALL verifica se cada valor está presente, não quantas vezes ele aparece. Repetir um valor em valores não exige que ele apareça mais de 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 TRUE. As comparações de texto não diferenciam maiúsculas de minúsculas, então "apple" corresponde a "APPLE".
  • Se a matriz estiver vazia, HASALL retornará o erro #CALC! .
  • Se valores contiverem um erro, esse erro será retornado.

Exemplos

Copie os dados de exemplo e cole-os na célula A1 de uma nova planilha do Excel. Se precisar, você poderá ajustar as larguras das colunas para ver todos os dados.

Exemplo 1

Verifique se um intervalo contém todos os valores em um conjunto.

Dados        
1 2 3 4 5
Fórmulas Perguntas
=HASALL(A2:E2,{2,4}) Há 2 e 4 na lista?
=HASALL(A2:E2,{2,9}) O 2 e o 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 a seguir mostra os resultados.

Usando HASALL para marcar se um intervalo contém todos os valores em um conjunto

Exemplo 2

Veja como o HASALL trata valores repetidos. Ele verifica se um valor está presente, e não com que frequência ele aparece.

Dados  
1 2
Fórmulas Descrição
=HASALL(A2:B2,{2,2,2}) retorna TRUE. O valor 2 está presente, o que é tudo o que é necessário
=HASALL(A2:B2,{1,2,3}) Retorna FALSE. O valor 3 está ausente

A ilustração a seguir mostra os resultados.

Usando HASALL para mostrar que os valores de pesquisa repetidos só precisam estar presentes uma vez

Exemplo 3

Pesquise dentro de uma matriz aninhada. A fórmula ={{;{1,2}{3,4}}} na célula A1 armazena uma matriz aninhada em uma única célula.

Fórmulas Descrição
=HASALL(A1,{2,3}) retorna TRUE. HASALL procura todos os níveis, então 2 são encontrados dentro {1,2} e 3 dentro {3,4}
=HASALL(A1,{2,5}) Retorna FALSE. O valor 5 não aparece em nenhum nível

A ilustração a seguir mostra os resultados.

Usando HASALL para pesquisar dentro de uma matriz aninhada armazenada em uma única célula

Exemplo 4

Verifique se uma linha está marcada com todas as marcas necessárias. Cada célula da coluna B contém uma lista de tags, exibida separada por vírgulas.

Depois de colar os dados, selecione B2:B3 e pressione Ctrl+J para transformar cada célula em uma Lista. Até que você faça isso, cada célula contém uma única parte do texto, e as fórmulas abaixo não encontrarão as marcas individuais.

Item Rótulos
Produto A urgente, revisão, Q1
Produto B urgente, Q1
Fórmulas Descrição
=HASALL(B2,{"urgent","review"}) retorna TRUE. O produto A tem ambas as marcas
=HASALL(B3,{"urgent","review"}) Retorna FALSE. O produto B não está marcado como revisão

A ilustração a seguir mostra os resultados.

Usando HASALL para marcar se uma célula que contém uma matriz aninhada de tags inclui todas as tags necessárias