Tenho uma série temporal que gostaria de analisar. Gostaria de extrair alguns dados que correspondam a determinados critérios. No entanto, também preciso garantir que a fórmula analise os dados mais recentes (ou seja, a última coluna adicionada a uma série temporal).
Para extrair uma lista de dados que correspondem aos critérios, posso usar a resposta fornecidaaqui
Para garantir que o Excel possa incluir as novas colunas na fórmula, posso usar offset
a função mencionada nesteresponder.
No entanto, estou lutando para usar as duas respostas para criar a fórmula que desejo.
Saída desejada:
Names 24/03/2019 25/03/2019 Criteria Date
Name 1 A A A 25/03/2019
Name 2 A B
Name 3 B A
Name 4 C A
Name 5 A A
No exemplo acima, gostaria que a fórmula alterasse a lista de nomes que possuem a letra 'A' na coluna de hoje, de 3 nomes para 4 nomes, quando a coluna de hoje for adicionada à série temporal.
Responder1
Embora uma função 'OFFSET' possa ser usada aqui, é uma função volátil. Isso significa que ele será recalculado sempre que algo mudar na planilha, mesmo que isso não tenha efeito na fórmula. Como alternativa, eu proporia usar INDEX
uma fórmula não volátil que só recalcula quando algo que a afeta muda.
Vamos supor que seus dados comecem em B2 (B2=Nomes). Outra suposição será que nenhum número pode estar na linha 2 além das datas e que as datas são armazenadas em formato Excel e não são texto.
Use a seguinte fórmula em uma célula vazia onde deseja que sua lista apareça e copie. Eu iria até a sua lista de nomes para cobrir a possibilidade de todos os nomes serem uma escolha válida:
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$3:$B$7)/(INDEX($C$3:$D$7,0,MATCH($F$3,$C$2:$D$2,0))=$E$3),ROW(A1))),"")
ajuste os intervalos para atender às suas necessidades. Esteja atento a quais referências precisam ser bloqueadas ($) e quais precisam ser livres para alteração.