Tenho uma planilha que basicamente adiciona informações de nome e endereço de uma lista de membros a uma lista de pagamentos bancários.
Ele usa um Xlookup (na coluna G) para comparar o nome da conta bancária (coluna B) com a lista de nomes de contas bancárias na planilha de associação (lista de auxílio-presente). Se encontrar uma correspondência, ele usa ImportRange para importar as colunas C a F da lista de associação. Se não encontrar nada, ele escreve "No GA"
=XLOOKUP(B4:B, IMPORTRANGE($G$2, "Lista de Auxílio-Presente!H:H"), IMPORTRANGE($G$2, "Lista de Auxílio-Presente!C:F"),"Sem GA",0)
Isso funciona bem, mas quero usar uma Arrayformula para copiar isso para baixo na coluna (em vez de fazer isso manualmente - os dados do banco são, na verdade, outro Importrange, então quero que a fórmula se expanda automaticamente para baixo na coluna conforme mais dados forem adicionados).
Eu tentei isso:
=ArrayFormula(XLOOKUP(B4:B, IMPORTRANGE($G$2, "Lista de Auxílio-Presente!H:H"), IMPORTRANGE($G$2, "Lista de Auxílio-Presente!C:F"),"Sem GA",0))
o que funciona, exceto que parece trazer apenas a primeira coluna (C) de dados da Lista de Gift Aid e não as outras.
Percebi que, neste exemplo, os Importranges não são necessários, mas no mundo real as informações da Gift Aid List estão em uma Planilha separada. De qualquer forma, tentei tirá-los, mas ainda importa apenas a primeira coluna de dados.
Então, estou pensando que pode ter algo a ver com o XLOOKUP, mas antes de começar a tentar encontrar uma solução alternativa para isso, pensei em perguntar aqui.
(A solução alternativa óbvia, eu percebo, seria ter apenas uma cópia separada da fórmula em cada coluna e trazer apenas uma coluna de dados por vez, mas isso não é tão elegante)
Alguma ideia do porquê disso ou de como posso consertar?
A planilha de amostra vinculada possui quatro abas:
- com a fórmula não matricial,
- com a fórmula em matriz,
- com a fórmula em matriz com o Importrange removido
- os dados GIFTAIDLIST a serem importados. (Isso normalmente estaria em uma planilha separada)
Muito obrigado antecipadamente Tom
Use
map/lambda
no lugar dearrayformula
para preencher todas as colunas de destino: