Excel - Como vincular a fórmula de índice / correspondência com a fórmula indireta para referência de coluna dinâmica

0

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.

Andra M
fonte
Quais são os valores armazenados no Essbase! Q8: Q356? São referências ou valores de células?
B540Glenn
Eles são valores. A aba Essbase é essencialmente uma folha de dados vinculada ao vivo que será atualizada com novos valores do nosso ERP à medida que fechamos a cada mês.
Andra M
Indireto está esperando uma seqüência de caracteres que irá avaliar para um local em uma planilha. Tente nomear o intervalo "" & amp; $ A $ 8 & amp; "!" & Amp; $ B $ 8 e usar esse valor no lugar do nome _2015_December_Act.
B540Glenn
Eu já tentei isso já, eu tenho 2 versões da fórmula postada acima, onde eu tentei o intervalo nomeado, então também "" & amp; $ A $ 8 & amp; "!" & Amp; $ B $ 8. Nos meus valores A8 e B8 eu tenho os seguintes valores armazenados: A8 = Essbase Data, e B8 = Q8: Q356. Ainda não funciona...
Andra M

Respostas:

1

Essbase Data

| Field Name | Jan - 2016 | Feb - 2016 | Mar - 2016 |
| Key 1      | A          | B          | C          |
| Key 2      | D          | E          | F          |
| Key 3      | G          | H          | I          |
| Key 4      | J          | K          | L          |
| Key 5      | M          | N          | O          |

Report

| Date:        | Mar - 2016   |
| Tab:         | Essbase Data |
| Date range:  | ?            |
| Field range: | ?            |
| Data range:  | ?            |
| Column:      | ?            |
|              |              |
| Field Name   | Value        |
| Key 1        | ?            |
| Key 2        | ?            |
| Key 3        | ?            |
| Key 4        | ?            |
| Key 5        | ?            |
| ...          | ...          |

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 para MATCH() 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 para MATCH() 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 para INDEX() a coluna e linha desejadas. Você poderia usar COUNTA() e ADDRESS() 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. Onde B1 é o cabeçalho especificado e B3 é o intervalo de datas especificado a partir do Report tabela acima.

Por fim, você deseja criar sua fórmula para indexação de linha que retorna seu respectivo valor da coluna identificada acima.

=INDEX(
   INDIRECT($B$5), <-- Data range
   MATCH($A9, <-- Field lookup value
     INDIRECT($B$4), <-- Field range
     0
   ),
   $B$6 <-- Column number
 )

Arraste para baixo e sua saída deve se parecer com:

| Field Name   | Value        |
| Key 1        | C            |
| Key 2        | F            |
| Key 3        | I            |
| Key 4        | L            |
| Key 5        | O            |
| ...          | ...          |
jtrumbull
fonte
Consegui seguir suas instruções até a indexação ... Acho que meu desafio é que o Intervalo de datas não seja direto como em seu exemplo "Mar - 2106", os valores de dados em minha tabela têm o Mês e o Ano em um linha separada (sem opção para o feed de dados para concatenar os valores) que resulta em março, aparecendo várias vezes em uma linha (eu tenho dados de 2015 e 2016 na minha tabela). Você estaria aberto a uma sessão de compartilhamento de tela para revisar juntos a construção da pasta de trabalho?
Andra M
Eu não me oporia, no entanto eu trabalho para uma instituição financeira e estou sob rígidas regras de tráfego de entrada / saída de rede - seria um pouco complicado de fazer no escritório. Se puder, atualize sua pergunta para refletir a estrutura de dados de Esbase Data. Eu posso modificar minha resposta se eu tivesse um melhor entendimento de como os dados são estruturados.
jtrumbull
Acabei de fazer mais alguns ajustes na minha fórmula e finalmente consegui fazê-la funcionar! Obrigado pela ajuda :)
Andra M