Eu tenho uma planilha na qual estou procurando utilizar a fórmula Index / Matching para extrair os valores exatos para a interseção única de Department & amp; Valores da conta em uma folha de dados separada.
No entanto, preciso que o Index Array seja flexível, pois estou procurando a mesma intersecção "exclusiva" do departamento & amp; valores de conta em várias colunas (as colunas representam meses em minha folha de dados).
Eu tentei usar uma fórmula indireta referindo-me ao intervalo de valores na planilha de dados, também tentei outra variação da fórmula indireta nomeando meu intervalo - ambas as fórmulas não retornam resultados, embora eu saiba que existem valores no meu ponto de intersecção. Se eu codificar duro meu Index Array, a fórmula funciona e recebo os resultados para preencher na minha planilha.
Aqui estão minhas fórmulas agora:
=IFERROR(INDEX(INDIRECT(_2015_December_Act), MATCH(AB$15&$G17, ('Essbase Data'!$C$8:$C$356&'Essbase Data'!$A$8:$A$356), 0)), "")
Onde _2015_December_Act é um intervalo nomeado na guia de dados do Essbase para valores no intervalo de Q8: Q356.
e também:
=IFERROR(INDEX(INDIRECT(""&$A$8&"!"&$B$8), MATCH(AB$15&$G16, ('Essbase Data'!$C$8:$C$356&'Essbase Data'!$A$8:$A$356), 0)), "")
Onde A8 = Dados do Essbase e b8 = Q8: Q356 - esse intervalo representa os valores no mês de dezembro na minha planilha Essbase Data.
O que estou fazendo de errado?
Eu estou tentando automatizar a atualização da referência de matriz, para que o relatório possa ser atualizado mensalmente com atualizações manuais mínimas na matriz de índice.
Respostas:
Essbase Data
Report
Identificando seus intervalos
* Os nomes das guias remotas que contêm espaços devem ser agrupados em aspas simples (
'Tab name'
). Pode ser uma fonte ruim, mas na minha perspectiva parece que eles estão faltando em suas fórmulas acima.Em primeiro lugar, você deseja identificar o intervalo para correspondência de seus pontos fixos no tempo. Intervalo de datas:
="'" & B2 & "'!$1:$1"
Exemplo de saída seria
'Essbase Data'!$1:$1
. Isso será usado paraMATCH()
a coluna desejada.Em segundo lugar, você deseja identificar o intervalo para correspondência de seus nomes de campo. Faixa de campo:
="'" & B2 & "'!$A:$A"
Exemplo de saída seria
'Essbase Data'!$A:$A
. Isso será usado paraMATCH()
a linha desejada.Por fim, você deseja identificar o intervalo de todo o seu conjunto de dados. Intervalo de dados:
="'" & B2 & "'!$A:$D"
Exemplo de saída seria
'Essbase Data'!$A:$D
. Isso será usado paraINDEX()
a coluna e linha desejadas. Você poderia usarCOUNTA()
eADDRESS()
construí-los dinamicamente. isto é="'" & B2 & "'!$A$1:" & ADDRESS(COUNTA('Essbase Data'!A:A), COUNTA('Essbase Data'!1:1))
Exemplo de saída seria
'Essbase Data'!$A$1:$D$6
Indexação
Em primeiro lugar, você deseja identificar sua coluna especificada, usando o período no seu exemplo. Coluna:
=MATCH(B1,INDIRECT(B3),0)
Exemplo de saída seria
4
. OndeB1
é o cabeçalho especificado eB3
é o intervalo de datas especificado a partir doReport
tabela acima.Por fim, você deseja criar sua fórmula para indexação de linha que retorna seu respectivo valor da coluna identificada acima.
Arraste para baixo e sua saída deve se parecer com:
fonte
Esbase Data
. Eu posso modificar minha resposta se eu tivesse um melhor entendimento de como os dados são estruturados.