
Não tenho certeza se alguém pode me ajudar, mas pensei em tentar ...
Estou tentando criar uma fórmula para recuperar informações de uma planilha de dados. A planilha de dados contém uma quantidade significativa de informações, dividindo os dados com base na localização da loja, localização do cliente e tipo de informação (informações de receita, GP1, GP2).
Gostaria de uma fórmula que fosse dinâmica para que, quando copiada em minha planilha de resumo, ela analisasse automaticamente o local da loja aplicável, o local do cliente e o tipo de informação e os recuperasse de acordo. Atualmente configurei a fórmula como;
=INDEX('[Análise de Lucratividade FY13.xlsx]Folha de Dados S13'!$B$8:$EH$85,MATCH($A17,('[Análise de Lucratividade FY13.xlsx] Folha de Dados S13'!$E$8:$E$85 ),0),MATCH(1,$B17=' Análise de rentabilidade FY13.xlsx] Folha de dados S13'!$B$4:$EH$4)*(J14='[Análise de rentabilidade FY13.xlsx] Folha de dados S13'!$ B$7:$EH$7),0)
A ideia é que a fórmula procure dentro das células B8 - EH85
da planilha de dados e, em seguida, recupere informações com base no valor de pesquisa vertical (localização da loja) especificado na célula A17
e no valor de pesquisa horizontal com base na localização do cliente (célula B17 ) e o tipo de informação (célula J14) estão alinhados.
O problema com esta fórmula parece estar no aspecto dos critérios múltiplos (o olhar horizontal para cima). Alguém tem alguma sugestão de como posso reformular a fórmula para que funcione corretamente?
Responder1
Sua fórmula parece boa para mim, exceto por alguns problemas com parênteses, tente esta versão
=INDEX('[Profitability Analysis FY13.xlsx]Data Sheet S13'!$B$8:$EH$85,MATCH($A17,'[ Profitability Analysis FY13.xlsx] Data Sheet S13'!$E$8:$E$85,0),MATCH(1,($B17=' Profitability Analysis FY13.xlsx] Data Sheet S13'!$B$4:$EH$4)*(J14='[Profitability Analysis FY13.xlsx] Data Sheet S13'!$B$7:$EH$7),0))
Precisa ser confirmado com CTRL+ SHIFT+ENTER
Para simplificar, a forma genérica é
=INDEX(Matrix,MATCH("x",row_labels,0),MATCH(1,("y"=headers1)*("z"=headers2),0))
que é o que você tem acima
....ou você pode adicionar outra INDEX
função para evitar "entrada no array", ou seja, na versão genérica:
=INDEX(Matrix,MATCH("x",row_labels,0),MATCH(1,INDEX(("y"=headers1)*("z"=headers2),0),0))