Para combinar resultados de pesquisas de tamanho variável no Excel para Mac, use REDUCE com VSTACK para criar uma única matriz retangular. Este passo a passo cria uma lista de recursos gráficos, preserva a ordem das solicitações e mostra os grupos sem correspondência em vez de omiti-los silenciosamente.
A tarefa é simples: cada grupo de recursos solicitado pode corresponder a várias linhas de origem, a uma linha ou a nenhuma. Você quer todos esses resultados em um único intervalo de planilha que se expande, mantendo juntos os rótulos dos recursos e as quantidades.
Quais versões do Excel para Mac são compatíveis com esta abordagem?
Use o Excel para Microsoft 365 para Mac para a fórmula principal abaixo. A Microsoft lista explicitamente essa edição na documentação da função REDUCE. A página atual não lista o Excel 2024 para Mac, portanto a presença de outras funções modernas de matriz, por si só, não confirma que a fórmula completa esteja disponível.
| Função | Edições para Mac listadas na documentação relevante da Microsoft | Função neste caso |
|---|---|---|
BYROW, MAP |
Microsoft 365 para Mac; Excel 2024 para Mac | Explicar a abordagem original e seus limites |
REDUCE |
Microsoft 365 para Mac | Manter o resultado crescente entre as solicitações |
VSTACK, HSTACK |
Microsoft 365 para Mac; Excel 2024 para Mac | Unir blocos de resultados e criar uma linha alternativa |
FILTER |
Microsoft 365 para Mac; Excel 2024 para Mac; Excel 2021 para Mac | Retornar todas as linhas de recursos correspondentes |
Essas edições são listadas nas páginas de referência da Microsoft para BYROW, MAP, VSTACK, HSTACK e FILTER.
Para verificar sua instalação, abra o menu Excel e escolha Sobre o Excel. As instruções da Microsoft para Mac explicam que a caixa de diálogo Sobre de um aplicativo do Office mostra a versão e o tipo de licença. Confira ambos ao decidir qual fórmula usar. Consulte Sobre o Office: qual versão do Office estou usando?.
Uma versão prévia mais recente do Beta para Mac altera o limite de matrizes aninhadas
O anúncio da Microsoft de 24 de setembro de 2026 apresenta matrizes aninhadas e FLATTEN como recursos de prévia para o Canal Beta. Ele especifica a versão 16.114, compilação 26092111 ou posterior para Mac, sujeita à disponibilização gradual. A maioria dos cálculos com matrizes aninhadas exige a versão de compatibilidade da pasta de trabalho 3, selecionada em Fórmula > Opções de cálculo. Essas condições são importantes: ter o Microsoft 365, por si só, não confirma que a versão prévia esteja habilitada. Consulte Coloque vários valores em uma célula com listas e matrizes no Excel.
A solução apresentada abaixo cria um resultado retangular comum sem depender dessa versão prévia. Isso também evita que a tarefa básica da lista de recursos da pasta de trabalho dependa das configurações de matrizes aninhadas.
Por que retornar matrizes de BYROW ou MAP causa problemas?
A Microsoft documenta que BYROW produz um resultado por linha de entrada. A referência afirma explicitamente que retornar qualquer coisa diferente de um único valor da LAMBDA interna produz um erro #CALC!. Uma pesquisa que retorna vários registros ultrapassa esse limite documentado. Consulte Função BYROW.
Por exemplo, depois de inserir os dados de amostra na próxima seção, este é um exemplo de diagnóstico da abordagem problemática sob o comportamento documentado de valor único:
=BYROW(E2:E4,LAMBDA(key,FILTER(A2:C7,A2:A7=key,"No match")))
A primeira solicitação retorna três linhas e três colunas. Pedir que BYROW coloque esse bloco em uma única posição do resultado cria um problema de matriz aninhada. Trocar a função externa por MAP não fornece uma operação geral de empilhamento no comportamento de cálculo convencional: o resultado interno ainda contém várias células. A documentação de MAP da Microsoft descreve o mapeamento de valores de entrada para novos valores, enquanto as orientações sobre #CALC! documentam a limitação de matrizes aninhadas.
Envolver o cálculo que falhou em VSTACK não corrige o resultado interno. A mudança útil é acrescentar cada bloco de pesquisa enquanto as solicitações são processadas, para que cada resultado intermediário já seja uma única matriz retangular.
Crie uma pesquisa completa de recursos com REDUCE e VSTACK
1. Insira os dados de origem sintéticos
Comece com uma planilha em branco. Cole este bloco delimitado por tabulações em A1. As quantidades são contagens ilustrativas de recursos gráficos.
Grupo Recurso Quantidade
Mosaico Azulejo Âmbar 2
Órbita Anel Prateado 3
Mosaico Azulejo Azul 4
Prisma Painel Transparente 5
Mosaico Azulejo Coral 1
Prisma Painel Fosco 2
Cole a lista de solicitações a seguir em E1. Mantenha a ordem mostrada para poder comparar com o resultado esperado.
Grupo solicitado
Mosaico
Órbita
Seixo
Esta amostra inclui deliberadamente três resultados: Mosaico tem três registros correspondentes, Órbita tem um e Seixo não tem nenhum. Os registros de Prisma devem ficar fora da saída porque esse grupo não foi solicitado.
2. Verifique uma pesquisa de forma independente
Insira esta fórmula em uma área não utilizada, como L1:
=FILTER($A$2:$C$7,$A$2:$A$7=$E$2,"No match")
Ela deve retornar os três registros de Mosaico. FILTER usa a comparação de grupos para selecionar linhas completas da origem. A matriz de inclusão precisa ter altura ou largura compatível; aqui, tanto a origem quanto a condição abrangem as linhas 2:7. Consulte Função FILTER.
Esta pequena verificação isola a pesquisa da lógica de empilhamento. Se as linhas estiverem incorretas, corrija os rótulos da origem ou as referências antes de adicionar o cálculo externo.
3. Insira a fórmula completa de empilhamento
Deixe espaço nas colunas G:I e insira esta fórmula em G1:
=REDUCE(
$A$1:$C$1,
$E$2:$E$4,
LAMBDA(acc,key,
VSTACK(
acc,
FILTER(
$A$2:$C$7,
$A$2:$A$7=key,
HSTACK(key,"No match","")
)
)
)
)
Pressione Return. Insira a fórmula uma única vez na célula superior esquerda da saída; o Excel dimensionará automaticamente o intervalo de expansão. Mantenha-a fora de uma tabela do Excel, pois fórmulas de matriz dinâmica não são compatíveis com tabelas. A Microsoft explica ambos os comportamentos em Fórmulas de matriz dinâmica e comportamento de expansão.
4. Compare com o resultado esperado
Para os dados fornecidos, a saída ocupa G1:I6:
| Grupo | Recurso | Quantidade |
|---|---|---|
| Mosaico | Azulejo Âmbar | 2 |
| Mosaico | Azulejo Azul | 4 |
| Mosaico | Azulejo Coral | 1 |
| Órbita | Anel Prateado | 3 |
| Seixo | Sem correspondência |
As dimensões esperadas decorrem diretamente da amostra: uma linha de cabeçalho, três linhas de Mosaico, uma linha de Órbita e uma linha para a solicitação sem correspondência. Os quatro registros correspondentes têm quantidades que somam 10. A quantidade em branco ao lado de Seixo distingue um resultado de pesquisa ausente de uma quantidade de recurso igual a zero.
Como a fórmula monta o resultado
REDUCE começa com A1:C1 como acumulador. Para cada valor em E2:E4, key contém o grupo solicitado atual e acc contém o resultado montado até então. A Microsoft documenta esse padrão de valor inicial, acumulador e valor atual em Função REDUCE.
Nesta fórmula, FILTER cria o próximo bloco correspondente e VSTACK o acrescenta abaixo de acc. Usar o cabeçalho real como valor inicial dá imediatamente três colunas ao resultado e evita introduzir uma linha inicial em branco descartável. VSTACK acrescenta matrizes verticalmente em sequência, conforme descrito em Função VSTACK.
Quando não há correspondências, o terceiro argumento de FILTER fornece HSTACK(key,"No match",""). Isso cria uma linha alternativa com três colunas: grupo solicitado, rótulo explicativo e quantidade em branco. A Microsoft documenta o argumento para resultados vazios em Função FILTER e a união horizontal em Função HSTACK.
É importante manter essa alternativa com três colunas. A Microsoft documenta que VSTACK preenche as colunas ausentes com #N/A quando as matrizes de entrada têm larguras diferentes. Uma alternativa de uma única célula deixaria, portanto, preenchimentos indesejados ao lado dela. Consulte Função VSTACK.
Escolha o comportamento da saída antes de ampliar a planilha
A fórmula implementa uma política específica: processa cada solicitação em ordem, mantém todas as linhas de origem correspondentes e mostra uma linha indicadora para cada grupo sem correspondência. Portanto, se um grupo se repetir na lista de solicitações, seu bloco correspondente também se repetirá. Registros de origem repetidos também são mantidos; esta fórmula não inclui uma etapa de remoção de duplicatas.
Use este guia de decisão ao adaptar o exemplo:
| Resultado desejado | Abordagem adequada | Condição |
|---|---|---|
| Uma contagem para cada grupo | MAP com COUNTIF |
Cada solicitação produz um único valor |
| Todos os registros de recursos na ordem das solicitações | A fórmula completa REDUCE acima |
Exige as funções do Microsoft 365 para Mac documentadas |
| Alguns blocos de pesquisa listados explicitamente | VSTACK direto de chamadas FILTER separadas |
Adicione um argumento de fórmula para cada solicitação |
| Matrizes aninhadas mantidas dentro das células | A versão prévia de matrizes aninhadas da Microsoft | Exige a disponibilidade Beta e as configurações da pasta de trabalho documentadas |
Para uma verificação compacta das contagens, insira esta fórmula completa em K6, deixando três células abaixo dela disponíveis:
=MAP($E$2:$E$4,LAMBDA(key,COUNTIF($A$2:$A$7,key)))
As contagens esperadas são 3, 1 e 0. Este é um uso apropriado de MAP, pois cada solicitação produz um número. COUNTIF conta células que atendem a um critério; o exemplo usa rótulos sintéticos simples. Consulte Função MAP e Usar a função COUNTIF no Microsoft Excel.
Uma alternativa com solicitações fixas para o Excel 2024 para Mac
Se sua edição disponibiliza FILTER, HSTACK e VSTACK, mas não disponibiliza REDUCE, use esta alternativa completa em G1, substituindo a fórmula anterior. Ela produz a mesma saída esperada para as três solicitações fornecidas:
=VSTACK(
$A$1:$C$1,
FILTER($A$2:$C$7,$A$2:$A$7=$E$2,HSTACK($E$2,"No match","")),
FILTER($A$2:$C$7,$A$2:$A$7=$E$3,HSTACK($E$3,"No match","")),
FILTER($A$2:$C$7,$A$2:$A$7=$E$4,HSTACK($E$4,"No match",""))
)
A Microsoft lista o Excel 2024 para Mac na documentação das três funções necessárias: FILTER, HSTACK e VSTACK. A desvantagem é a manutenção: outro grupo solicitado exige mais um argumento FILTER.
Diagnostique erros e mantenha o resultado completo
Se ocorrer um erro #SPILL!, selecione a célula da fórmula e inspecione a área de saída pretendida. Retire dessa área as entradas existentes e verifique se há células mescladas. A Microsoft também identifica fórmulas inseridas dentro de tabelas como uma causa; mantenha a saída na grade comum da planilha. Consulte Como corrigir um erro #SPILL!.
Para #CALC!, primeiro identifique qual cálculo o produziu. Uma fórmula BYROW que retorna um bloco com várias células atinge o limite documentado de valor único. Uma FILTER independente, sem correspondências e sem alternativa, pode produzir um erro de matriz vazia. Essas são causas distintas descritas nas orientações sobre #CALC! da Microsoft.
Ao adicionar registros de origem, amplie $A$2:$C$7 e $A$2:$A$7 até a mesma linha final. Ao adicionar solicitações à versão REDUCE, amplie $E$2:$E$4 até a última solicitação desejada. Evite incluir células de solicitação não utilizadas: a fórmula processa todas as células desse intervalo.
Se a lista de origem crescer regularmente, considere armazená-la em uma tabela do Excel e substituir as referências fixas por referências estruturadas. A Microsoft documenta que as referências estruturadas se ajustam quando linhas são adicionadas ou removidas da tabela. Mantenha o resultado de expansão fora da tabela. Consulte Fórmulas de matriz dinâmica e comportamento de expansão.
Antes de usar a lista de recursos montada, compare os blocos de grupos com a lista de solicitações e confira os indicadores de ausência de correspondência. Neste exemplo, a verificação final é concreta: três registros de Mosaico, um registro de Órbita, um indicador visível para Seixo e nenhum registro de Prisma. Isso confirma a seleção e a ordem pretendidas para os dados fornecidos.
Fontes
Função BYROW — Microsoft Support.
Função MAP — Microsoft Support.
Função REDUCE — Microsoft Support.
Função VSTACK — Microsoft Support.
Função HSTACK — Microsoft Support.
Função FILTER — Microsoft Support.
Usar a função COUNTIF no Microsoft Excel — Microsoft Support.
Fórmulas de matriz dinâmica e comportamento de expansão — Microsoft Support.
Como corrigir um erro #CALC! — Microsoft Support.
Como corrigir um erro #SPILL! — Microsoft Support.
Sobre o Office: qual versão do Office estou usando? — Microsoft Support.
Coloque vários valores em uma célula com listas e matrizes no Excel — Microsoft 365 Insider Blog.